@charset "UTF-8";
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 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.
 */
/* Document
   ========================================================================== */
/* 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-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  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 */ }

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

/* Text-level semantics
   ========================================================================== */
/**
 * 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; }

/**
 * 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.
 */
/**
 * 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
   ========================================================================== */
/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  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 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 0.125rem;
  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 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  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; }

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

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

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

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

/* Reboot */
html {
  box-sizing: border-box; }

*,
*::before,
*::after {
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: none;
  -webkit-touch-callout: none;
  -webkit-font-smoothing: antialiased; }

@-moz-viewport {
  width: device-width; }

@-ms-viewport {
  width: device-width; }

@-o-viewport {
  width: device-width; }

@-webkit-viewport {
  width: device-width; }

@viewport {
  width: device-width; }

html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-font-smoothing: antialiased;
  font-size: 16px; }
  @media (min-width: 481px) {
    html {
      font-size: 16px; } }
  @media (min-width: 768px) {
    html {
      font-size: 16px; } }
  @media (min-width: 970px) {
    html {
      font-size: 16px; } }
  @media (min-width: 1200px) {
    html {
      font-size: 16px; } }

body {
  font-family: "Lato", helvetica, arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #3a3a3a;
  background-color: #fff;
  text-rendering: optimizeLegibility; }

[tabindex="-1"]:focus {
  outline: none !important; }

h1, h2, h3, h4, h5, h6, h7, h8 {
  display: block;
  margin-top: 0;
  margin-bottom: .5rem; }

abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #757575; }

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit; }

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem; }

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0; }

dt {
  font-weight: bold; }

dd {
  margin-bottom: .5rem;
  margin-left: 0; }

blockquote {
  margin: 0 0 1rem; }

a {
  color: #3a3a3a;
  text-decoration: none; }
  a:focus, a:hover {
    color: #423fe1;
    text-decoration: none; }

pre {
  margin-top: 0;
  margin-bottom: 1rem; }

figure {
  margin: 0 0 1rem; }

img {
  vertical-align: middle; }

[role="button"] {
  cursor: pointer; }

a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
  touch-action: manipulation; }

table {
  background-color: transparent; }

th {
  text-align: left; }

label {
  display: inline-block;
  margin-bottom: .5rem; }

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

input,
button,
select,
textarea {
  font-family: "Lato", helvetica, arial, sans-serif;
  margin: 0;
  line-height: inherit;
  border-radius: 0; }

textarea {
  resize: vertical; }

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0; }

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: 1.5;
  line-height: inherit; }

input[type="search"] {
  box-sizing: inherit;
  -webkit-appearance: none; }

output {
  display: inline-block; }

[hidden] {
  display: none !important; }

body {
  content: "xs"; }

@media (min-width: 481px) {
  body {
    content: "sm"; } }

@media (min-width: 768px) {
  body {
    content: "md"; } }

@media (min-width: 970px) {
  body {
    content: "lg"; } }

@media (min-width: 1200px) {
  body {
    content: "xl"; } }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: normal;
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-regular-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-regular-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-regular-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/lato/lato-regular-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-regular-webfont.svg#lato_regular") format("svg"); }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 300;
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-light-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-light-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-light-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/lato/lato-light-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-light-webfont.svg#lato_light") format("svg"); }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 100;
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-hairline-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-hairline-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-hairline-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/lato/lato-hairline-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-hairline-webfont.svg#lato_hairline") format("svg"); }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: bold;
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-bold-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-bold-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-bold-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/lato/lato-bold-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-bold-webfont.svg#lato_bold") format("svg"); }

@font-face {
  font-family: "Lato";
  font-style: italic;
  font-weight: normal;
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-italic-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/lato/lato-italic-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-italic-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/lato/lato-italic-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/lato/lato-italic-webfont.svg#lato_italic") format("svg"); }

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: normal;
  src: url("//s3.amazonaws.com/csm_fonts/oswald/oswald-regular-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/oswald/oswald-regular-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-regular-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-regular-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-regular-webfont.svg#oswald_regular") format("svg"); }

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 100;
  src: url("//s3.amazonaws.com/csm_fonts/oswald/oswald-light-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/oswald/oswald-light-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-light-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-light-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-light-webfont.svg#oswald_light") format("svg"); }

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 700;
  src: url("//s3.amazonaws.com/csm_fonts/oswald/oswald-bold-webfont.eot");
  src: url("//s3.amazonaws.com/csm_fonts/oswald/oswald-bold-webfont.eot?#iefix") format("embedded-opentype"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-bold-webfont.woff") format("woff"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-bold-webfont.ttf") format("truetype"), url("//s3.amazonaws.com/csm_fonts/oswald/oswald-bold-webfont.svg#oswald_bold") format("svg"); }

.bg-darker {
  color: #999;
  background-color: #3a3a3a; }

.bg-dark {
  color: #999;
  background-color: #535353; }

.bg-light {
  background-color: #757575; }

.bg-lighter {
  background-color: #999; }

.bg-lightest {
  background-color: #ccc; }


.bg-primary {
  color: #fff;
  background-color: #21850f; }


.color-black {
  color: #3a3a3a; }


.bg-black {
  color: #fff;
  background-color: #3a3a3a; }

a.bg-black:focus, a.bg-black:hover {
  background-color: #212121; }


.color-gray-charcoal {
  color: #535353; }


.bg-gray-charcoal {
  color: #fff;
  background-color: #535353; }

a.bg-gray-charcoal:focus, a.bg-gray-charcoal:hover {
  background-color: #3a3a3a; }


.color-gray-iron {
  color: #757575; }


.bg-gray-iron {
  color: #fff;
  background-color: #757575; }

a.bg-gray-iron:focus, a.bg-gray-iron:hover {
  background-color: #5c5c5c; }


.color-gray-steel {
  color: #999; }


.bg-gray-steel {
  color: #fff;
  background-color: #999; }

a.bg-gray-steel:focus, a.bg-gray-steel:hover {
  background-color: gray; }


.color-gray-silver {
  color: #ccc; }


.bg-gray-silver {
  color: #fff;
  background-color: #ccc; }

a.bg-gray-silver:focus, a.bg-gray-silver:hover {
  background-color: #b3b3b3; }


.color-gray-fog {
  color: #efefef; }


.bg-gray-fog {
  color: #fff;
  background-color: #efefef; }

a.bg-gray-fog:focus, a.bg-gray-fog:hover {
  background-color: #d6d6d6; }


.color-blue {
  color: #423fe1; }


.bg-blue {
  color: #fff;
  background-color: #423fe1; }

a.bg-blue:focus, a.bg-blue:hover {
  background-color: #2320cd; }


.color-pink {
  color: #f23e7b; }


.bg-pink {
  color: #fff;
  background-color: #f23e7b; }

a.bg-pink:focus, a.bg-pink:hover {
  background-color: #ed105b; }


.color-turquoise {
  color: #52c0c4; }


.bg-turquoise {
  color: #fff;
  background-color: #52c0c4; }

a.bg-turquoise:focus, a.bg-turquoise:hover {
  background-color: #3aa5a9; }


.color-teal {
  color: #049fa4; }


.bg-teal {
  color: #fff;
  background-color: #049fa4; }

a.bg-teal:focus, a.bg-teal:hover {
  background-color: #036f72; }


.color-forest {
  color: #005700; }


.bg-forest {
  color: #fff;
  background-color: #005700; }

a.bg-forest:focus, a.bg-forest:hover {
  background-color: #002400; }


.color-lime {
  color: #5ab643; }


.bg-lime {
  color: #fff;
  background-color: #5ab643; }

a.bg-lime:focus, a.bg-lime:hover {
  background-color: #489135; }


.color-privacy-use-responsibily {
  color: #23b5e8; }


.bg-privacy-use-responsibily {
  color: #fff;
  background-color: #23b5e8; }

a.bg-privacy-use-responsibily:focus, a.bg-privacy-use-responsibily:hover {
  background-color: #1496c4; }


.color-privacy-caution {
  color: #ffa500; }


.bg-privacy-caution {
  color: #fff;
  background-color: #ffa500; }

a.bg-privacy-caution:focus, a.bg-privacy-caution:hover {
  background-color: #cc8400; }


.color-privacy-not-recommended {
  color: #f25555; }


.bg-privacy-not-recommended {
  color: #fff;
  background-color: #f25555; }

a.bg-privacy-not-recommended:focus, a.bg-privacy-not-recommended:hover {
  background-color: #ee2626; }


.color-blush {
  color: #fef5f1; }


.bg-blush {
  color: #fff;
  background-color: #fef5f1; }

a.bg-blush:focus, a.bg-blush:hover {
  background-color: #fbd3c1; }


.color-red {
  color: #f25555; }


.bg-red {
  color: #fff;
  background-color: #f25555; }

a.bg-red:focus, a.bg-red:hover {
  background-color: #ee2626; }


.color-maroon {
  color: #8c0b0b; }


.bg-maroon {
  color: #fff;
  background-color: #8c0b0b; }

a.bg-maroon:focus, a.bg-maroon:hover {
  background-color: #5d0707; }


.color-cream {
  color: #fffde6; }


.bg-cream {
  color: #fff;
  background-color: #fffde6; }

a.bg-cream:focus, a.bg-cream:hover {
  background-color: #fff9b3; }


.color-amber {
  color: #f5ab23; }


.bg-amber {
  color: #fff;
  background-color: #f5ab23; }

a.bg-amber:focus, a.bg-amber:hover {
  background-color: #db910a; }


.color-walnut {
  color: #633e00; }


.bg-walnut {
  color: #fff;
  background-color: #633e00; }

a.bg-walnut:focus, a.bg-walnut:hover {
  background-color: #301e00; }


.color-mint {
  color: #f8fff0; }


.bg-mint {
  color: #fff;
  background-color: #f8fff0; }

a.bg-mint:focus, a.bg-mint:hover {
  background-color: #e0ffbd; }


.color-white {
  color: #fff; }


.bg-white {
  color: #fff;
  background-color: #fff; }

a.bg-white:focus, a.bg-white:hover {
  background-color: #e6e6e6; }


.bg-gradient-purple {
  background: linear-gradient(90deg, #029c8e 0%, #7a66a9 100%); }

@supports (mix-blend-mode: lighten) {
  
  .color-gradient-purple {
    position: relative;
    display: inline-block;
    font-weight: bold;
    color: #000;
    background: #fff;
    mix-blend-mode: multiply; }
    
    .color-gradient-purple::before {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      display: block;
      pointer-events: none;
      content: "";
      background: linear-gradient(90deg, #029c8e 0%, #7a66a9 100%); }
    
    .color-gradient-purple::before {
      mix-blend-mode: screen; } }


.bg-gradient-blue {
  background: linear-gradient(90deg, #10cc71 0%, #0091ad 100%); }

@supports (mix-blend-mode: lighten) {
  
  .color-gradient-blue {
    position: relative;
    display: inline-block;
    font-weight: bold;
    color: #000;
    background: #fff;
    mix-blend-mode: multiply; }
    
    .color-gradient-blue::before {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      display: block;
      pointer-events: none;
      content: "";
      background: linear-gradient(90deg, #10cc71 0%, #0091ad 100%); }
    
    .color-gradient-blue::before {
      mix-blend-mode: screen; } }

@font-face {
  font-family: "cs-global-icons";
  font-style: normal;
  font-weight: normal;
  src: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/fonts/global/cs-global-icons.eot");
  src: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/fonts/global/cs-global-icons.eot?#iefix") format("embedded-opentype"), url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/fonts/global/cs-global-icons.woff2") format("woff2"), url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/fonts/global/cs-global-icons.woff") format("woff"), url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/fonts/global/cs-global-icons.ttf") format("truetype"), url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/fonts/global/cs-global-icons.svg#cs-global-icons") format("svg"); }

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  @font-face {
    font-family: "cs-global-icons";
    src: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/fonts/global/cs-global-icons.svg#cs-global-icons") format("svg"); } }

.icon-add::before, .icon-add-outline::before, .icon-add-rating-outline::before, .icon-alert::before, .icon-announcement::before, .icon-arrow-down::before, .icon-arrow-down-outline::before, .icon-arrow-left::before, .icon-arrow-left-double::before, .icon-arrow-right::before, .icon-arrow-right-outline::before, .icon-arrow-up::before, .icon-books::before, .icon-calendar::before, .icon-caret-down::before, .icon-caret-right::before, .icon-cc::before, .icon-checkbox-check::before, .icon-checkmark::before, .icon-circle-solid::before, .icon-clock::before, .icon-close::before, .icon-close-outline::before, .icon-coming-soon::before, .icon-communicate::before, .icon-creative-commons::before, .icon-dfd::before, .icon-dinner::before, .icon-download::before, .icon-download-solid::before, .icon-drag-drop::before, .icon-edit::before, .icon-email::before, .icon-emoji-error::before, .icon-emoji-neutral::before, .icon-emoji-success::before, .icon-facebook::before, .icon-facebook-outline::before, .icon-facebook-solid::before, .icon-family::before, .icon-family-home::before, .icon-filter::before, .icon-flag-outline::before, .icon-flag-solid::before, .icon-games::before, .icon-gift::before, .icon-google-outline::before, .icon-google-solid::before, .icon-heart-outline::before, .icon-heart-solid::before, .icon-info-outline::before, .icon-info-solid::before, .icon-instagram-outline::before, .icon-instagram-solid::before, .icon-laptop::before, .icon-launch::before, .icon-launch-solid::before, .icon-link::before, .icon-link-solid::before, .icon-linkedin::before, .icon-linkedin-outline::before, .icon-linkedin-solid::before, .icon-locked::before, .icon-logo-checkmark::before, .icon-make-a-copy::before, .icon-media::before, .icon-member::before, .icon-menu::before, .icon-minus::before, .icon-minus-outline::before, .icon-more::before, .icon-more-outline::before, .icon-music::before, .icon-pencil::before, .icon-pinterest::before, .icon-pinterest-outline::before, .icon-pinterest-solid::before, .icon-play::before, .icon-play-outline::before, .icon-play-solid::before, .icon-printer-outline::before, .icon-printer-solid::before, .icon-profile::before, .icon-save::before, .icon-search::before, .icon-select::before, .icon-settings::before, .icon-settings-outline::before, .icon-share::before, .icon-sign-out::before, .icon-smartphone::before, .icon-star-rating::before, .icon-subscribe-heart::before, .icon-support::before, .icon-tips::before, .icon-twitter::before, .icon-twitter-outline::before, .icon-twitter-solid::before, .icon-watch-video::before, .icon-whatsapp-solid::before, .icon-youtube::before, .icon-youtube-outline::before, .icon-youtube-solid::before {
  display: inline-block;
  font-family: "cs-global-icons";
  font-size: inherit;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: inherit;
  text-transform: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  vertical-align: inherit;
  font-smoothing: antialiased; }

.icon-add::before {
  content: "\f100"; }

.icon-add-outline::before {
  content: "\f101"; }

.icon-add-rating-outline::before {
  content: "\f102"; }

.icon-alert::before {
  content: "\f103"; }

.icon-announcement::before {
  content: "\f104"; }

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

.icon-arrow-down-outline::before {
  content: "\f106"; }

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

.icon-arrow-left-double::before {
  content: "\f108"; }

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

.icon-arrow-right-outline::before {
  content: "\f10a"; }

.icon-arrow-up::before {
  content: "\f10b"; }

.icon-books::before {
  content: "\f10c"; }

.icon-calendar::before {
  content: "\f10d"; }

.icon-caret-down::before {
  content: "\f10e"; }

.icon-caret-right::before {
  content: "\f10f"; }

.icon-cc::before {
  content: "\f110"; }

.icon-checkbox-check::before {
  content: "\f111"; }

.icon-checkmark::before {
  content: "\f112"; }

.icon-circle-solid::before {
  content: "\f113"; }

.icon-clock::before {
  content: "\f114"; }

.icon-close::before {
  content: "\f115"; }

.icon-close-outline::before {
  content: "\f116"; }

.icon-coming-soon::before {
  content: "\f117"; }

.icon-communicate::before {
  content: "\f118"; }

.icon-creative-commons::before {
  content: "\f119"; }

.icon-dfd::before {
  content: "\f11a"; }

.icon-dinner::before {
  content: "\f11b"; }

.icon-download::before {
  content: "\f11c"; }

.icon-download-solid::before {
  content: "\f11d"; }

.icon-drag-drop::before {
  content: "\f11e"; }

.icon-edit::before {
  content: "\f11f"; }

.icon-email::before {
  content: "\f120"; }

.icon-emoji-error::before {
  content: "\f121"; }

.icon-emoji-neutral::before {
  content: "\f122"; }

.icon-emoji-success::before {
  content: "\f123"; }

.icon-facebook::before {
  content: "\f124"; }

.icon-facebook-outline::before {
  content: "\f125"; }

.icon-facebook-solid::before {
  content: "\f126"; }

.icon-family::before {
  content: "\f127"; }

.icon-family-home::before {
  content: "\f128"; }

.icon-filter::before {
  content: "\f129"; }

.icon-flag-outline::before {
  content: "\f12a"; }

.icon-flag-solid::before {
  content: "\f12b"; }

.icon-games::before {
  content: "\f12c"; }

.icon-gift::before {
  content: "\f12d"; }

.icon-google-outline::before {
  content: "\f12e"; }

.icon-google-solid::before {
  content: "\f12f"; }

.icon-heart-outline::before {
  content: "\f130"; }

.icon-heart-solid::before {
  content: "\f131"; }

.icon-info-outline::before {
  content: "\f132"; }

.icon-info-solid::before {
  content: "\f133"; }

.icon-instagram-outline::before {
  content: "\f134"; }

.icon-instagram-solid::before {
  content: "\f135"; }

.icon-laptop::before {
  content: "\f136"; }

.icon-launch::before {
  content: "\f137"; }

.icon-launch-solid::before {
  content: "\f138"; }

.icon-link::before {
  content: "\f139"; }

.icon-link-solid::before {
  content: "\f13a"; }

.icon-linkedin::before {
  content: "\f13b"; }

.icon-linkedin-outline::before {
  content: "\f13c"; }

.icon-linkedin-solid::before {
  content: "\f13d"; }

.icon-locked::before {
  content: "\f13e"; }

.icon-logo-checkmark::before {
  content: "\f13f"; }

.icon-make-a-copy::before {
  content: "\f140"; }

.icon-media::before {
  content: "\f141"; }

.icon-member::before {
  content: "\f142"; }

.icon-menu::before {
  content: "\f143"; }

.icon-minus::before {
  content: "\f144"; }

.icon-minus-outline::before {
  content: "\f145"; }

.icon-more::before {
  content: "\f146"; }

.icon-more-outline::before {
  content: "\f147"; }

.icon-music::before {
  content: "\f148"; }

.icon-pencil::before {
  content: "\f149"; }

.icon-pinterest::before {
  content: "\f14a"; }

.icon-pinterest-outline::before {
  content: "\f14b"; }

.icon-pinterest-solid::before {
  content: "\f14c"; }

.icon-play::before {
  content: "\f14d"; }

.icon-play-outline::before {
  content: "\f14e"; }

.icon-play-solid::before {
  content: "\f14f"; }

.icon-printer-outline::before {
  content: "\f150"; }

.icon-printer-solid::before {
  content: "\f151"; }

.icon-profile::before {
  content: "\f152"; }

.icon-save::before {
  content: "\f153"; }

.icon-search::before {
  content: "\f154"; }

.icon-select::before {
  content: "\f155"; }

.icon-settings::before {
  content: "\f156"; }

.icon-settings-outline::before {
  content: "\f157"; }

.icon-share::before {
  content: "\f158"; }

.icon-sign-out::before {
  content: "\f159"; }

.icon-smartphone::before {
  content: "\f15a"; }

.icon-star-rating::before {
  content: "\f15b"; }

.icon-subscribe-heart::before {
  content: "\f15c"; }

.icon-support::before {
  content: "\f15d"; }

.icon-tips::before {
  content: "\f15e"; }

.icon-twitter::before {
  content: "\f15f"; }

.icon-twitter-outline::before {
  content: "\f160"; }

.icon-twitter-solid::before {
  content: "\f161"; }

.icon-watch-video::before {
  content: "\f162"; }

.icon-whatsapp-solid::before {
  content: "\f163"; }

.icon-youtube::before {
  content: "\f164"; }

.icon-youtube-outline::before {
  content: "\f165"; }

.icon-youtube-solid::before {
  content: "\f166"; }

.icon-cs-selection-blank::before, .icon-cs-selection-families::before, .icon-cs-selection-teens::before, .icon-logo-checkmark-green--avatar::before, .icon-logo-checkmark-green::before, .icon-logo-checkmark-selection::before, .icon-seal::before, .icon-seal-teens::before, .icon-star-exclusive::before {
  display: inline-block;
  font-family: "cs-global-icons";
  font-size: inherit;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  text-decoration: inherit;
  text-transform: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  vertical-align: inherit;
  font-smoothing: antialiased;
  width: 1.5rem; }

.icon-cs-selection-blank::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/cs-selection-blank.svg"); }

.icon-cs-selection-families::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/cs-selection-families.svg"); }

.icon-cs-selection-teens::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/cs-selection-teens.svg"); }

.icon-logo-checkmark-green--avatar::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/logo-checkmark-green--avatar.svg"); }

.icon-logo-checkmark-green::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/logo-checkmark-green.svg"); }

.icon-logo-checkmark-selection::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/logo-checkmark-selection.svg"); }

.icon-seal::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/seal.svg"); }

.icon-seal-teens::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/seal-teens.svg"); }

.icon-star-exclusive::before {
  content: url("//d2hralswu9lj8u.cloudfront.net/cs-icons/0.0.44/svg/global/color/star-exclusive.svg"); }

img[data-icon="global/color/cs-selection-blank.svg"], img[data-icon="global/color/cs-selection-families.svg"], img[data-icon="global/color/cs-selection-teens.svg"], img[data-icon="global/color/logo-checkmark-green.svg"], img[data-icon="global/color/logo-checkmark-selection.svg"], img[data-icon="global/color/seal-teens.svg"], img[data-icon="global/color/seal.svg"], img[data-icon="global/color/star-exclusive.svg"] {
  width: 4.375rem;
  height: 4.375rem; }

.shadow {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.2s; }
  .shadow:hover {
    box-shadow: 0 2px 32px rgba(0, 0, 0, 0.1); }
  .shadow-subtle {
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s; }
    .shadow-subtle:hover {
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
  .shadow-dark {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: box-shadow 0.2s; }
    .shadow-dark:hover {
      box-shadow: 0 2px 32px rgba(0, 0, 0, 0.1); }
  .shadow-float {
    box-shadow: 0 2px 32px rgba(0, 0, 0, 0.1); }
  .shadow-focus {
    box-shadow: 0 0 0 1px #52c0c4, 0 0 0 4px rgba(82, 192, 196, 0.3); }


.m--base {
  margin: 1rem !important; }


.my--base,
.mt--base {
  margin-top: 1rem !important; }


.mx--base,
.mr--base {
  margin-right: 1rem !important; }


.my--base,
.mb--base {
  margin-bottom: 1rem !important; }


.mx--base,
.ml--base {
  margin-left: 1rem !important; }


.m--tiny {
  margin: 0.5rem !important; }


.my--tiny,
.mt--tiny {
  margin-top: 0.5rem !important; }


.mx--tiny,
.mr--tiny {
  margin-right: 0.5rem !important; }


.my--tiny,
.mb--tiny {
  margin-bottom: 0.5rem !important; }


.mx--tiny,
.ml--tiny {
  margin-left: 0.5rem !important; }


.m--medium {
  margin: 1.5rem !important; }


.my--medium,
.mt--medium {
  margin-top: 1.5rem !important; }


.mx--medium,
.mr--medium {
  margin-right: 1.5rem !important; }


.my--medium,
.mb--medium {
  margin-bottom: 1.5rem !important; }


.mx--medium,
.ml--medium {
  margin-left: 1.5rem !important; }


.m--large {
  margin: 2rem !important; }


.my--large,
.mt--large {
  margin-top: 2rem !important; }


.mx--large,
.mr--large {
  margin-right: 2rem !important; }


.my--large,
.mb--large {
  margin-bottom: 2rem !important; }


.mx--large,
.ml--large {
  margin-left: 2rem !important; }


.m--xlarge {
  margin: 3rem !important; }


.my--xlarge,
.mt--xlarge {
  margin-top: 3rem !important; }


.mx--xlarge,
.mr--xlarge {
  margin-right: 3rem !important; }


.my--xlarge,
.mb--xlarge {
  margin-bottom: 3rem !important; }


.mx--xlarge,
.ml--xlarge {
  margin-left: 3rem !important; }


.m--huge {
  margin: 4rem !important; }


.my--huge,
.mt--huge {
  margin-top: 4rem !important; }


.mx--huge,
.mr--huge {
  margin-right: 4rem !important; }


.my--huge,
.mb--huge {
  margin-bottom: 4rem !important; }


.mx--huge,
.ml--huge {
  margin-left: 4rem !important; }


.p--base {
  padding: 1rem !important; }


.py--base,
.pt--base {
  padding-top: 1rem !important; }


.px--base,
.pr--base {
  padding-right: 1rem !important; }


.py--base,
.pb--base {
  padding-bottom: 1rem !important; }


.px--base,
.pl--base {
  padding-left: 1rem !important; }


.p--tiny {
  padding: 0.5rem !important; }


.py--tiny,
.pt--tiny {
  padding-top: 0.5rem !important; }


.px--tiny,
.pr--tiny {
  padding-right: 0.5rem !important; }


.py--tiny,
.pb--tiny {
  padding-bottom: 0.5rem !important; }


.px--tiny,
.pl--tiny {
  padding-left: 0.5rem !important; }


.p--medium {
  padding: 1.5rem !important; }


.py--medium,
.pt--medium {
  padding-top: 1.5rem !important; }


.px--medium,
.pr--medium {
  padding-right: 1.5rem !important; }


.py--medium,
.pb--medium {
  padding-bottom: 1.5rem !important; }


.px--medium,
.pl--medium {
  padding-left: 1.5rem !important; }


.p--large {
  padding: 2rem !important; }


.py--large,
.pt--large {
  padding-top: 2rem !important; }


.px--large,
.pr--large {
  padding-right: 2rem !important; }


.py--large,
.pb--large {
  padding-bottom: 2rem !important; }


.px--large,
.pl--large {
  padding-left: 2rem !important; }


.p--xlarge {
  padding: 3rem !important; }


.py--xlarge,
.pt--xlarge {
  padding-top: 3rem !important; }


.px--xlarge,
.pr--xlarge {
  padding-right: 3rem !important; }


.py--xlarge,
.pb--xlarge {
  padding-bottom: 3rem !important; }


.px--xlarge,
.pl--xlarge {
  padding-left: 3rem !important; }


.p--huge {
  padding: 4rem !important; }


.py--huge,
.pt--huge {
  padding-top: 4rem !important; }


.px--huge,
.pr--huge {
  padding-right: 4rem !important; }


.py--huge,
.pb--huge {
  padding-bottom: 4rem !important; }


.px--huge,
.pl--huge {
  padding-left: 4rem !important; }


.m--base {
  margin: 1rem !important; }


.my--base,
.mt--base {
  margin-top: 1rem !important; }


.mx--base,
.mr--base {
  margin-right: 1rem !important; }


.my--base,
.mb--base {
  margin-bottom: 1rem !important; }


.mx--base,
.ml--base {
  margin-left: 1rem !important; }


.m--tiny {
  margin: 0.5rem !important; }


.my--tiny,
.mt--tiny {
  margin-top: 0.5rem !important; }


.mx--tiny,
.mr--tiny {
  margin-right: 0.5rem !important; }


.my--tiny,
.mb--tiny {
  margin-bottom: 0.5rem !important; }


.mx--tiny,
.ml--tiny {
  margin-left: 0.5rem !important; }


.m--medium {
  margin: 1.5rem !important; }


.my--medium,
.mt--medium {
  margin-top: 1.5rem !important; }


.mx--medium,
.mr--medium {
  margin-right: 1.5rem !important; }


.my--medium,
.mb--medium {
  margin-bottom: 1.5rem !important; }


.mx--medium,
.ml--medium {
  margin-left: 1.5rem !important; }


.m--large {
  margin: 2rem !important; }


.my--large,
.mt--large {
  margin-top: 2rem !important; }


.mx--large,
.mr--large {
  margin-right: 2rem !important; }


.my--large,
.mb--large {
  margin-bottom: 2rem !important; }


.mx--large,
.ml--large {
  margin-left: 2rem !important; }


.m--xlarge {
  margin: 3rem !important; }


.my--xlarge,
.mt--xlarge {
  margin-top: 3rem !important; }


.mx--xlarge,
.mr--xlarge {
  margin-right: 3rem !important; }


.my--xlarge,
.mb--xlarge {
  margin-bottom: 3rem !important; }


.mx--xlarge,
.ml--xlarge {
  margin-left: 3rem !important; }


.m--huge {
  margin: 4rem !important; }


.my--huge,
.mt--huge {
  margin-top: 4rem !important; }


.mx--huge,
.mr--huge {
  margin-right: 4rem !important; }


.my--huge,
.mb--huge {
  margin-bottom: 4rem !important; }


.mx--huge,
.ml--huge {
  margin-left: 4rem !important; }


.p--base {
  padding: 1rem !important; }


.py--base,
.pt--base {
  padding-top: 1rem !important; }


.px--base,
.pr--base {
  padding-right: 1rem !important; }


.py--base,
.pb--base {
  padding-bottom: 1rem !important; }


.px--base,
.pl--base {
  padding-left: 1rem !important; }


.p--tiny {
  padding: 0.5rem !important; }


.py--tiny,
.pt--tiny {
  padding-top: 0.5rem !important; }


.px--tiny,
.pr--tiny {
  padding-right: 0.5rem !important; }


.py--tiny,
.pb--tiny {
  padding-bottom: 0.5rem !important; }


.px--tiny,
.pl--tiny {
  padding-left: 0.5rem !important; }


.p--medium {
  padding: 1.5rem !important; }


.py--medium,
.pt--medium {
  padding-top: 1.5rem !important; }


.px--medium,
.pr--medium {
  padding-right: 1.5rem !important; }


.py--medium,
.pb--medium {
  padding-bottom: 1.5rem !important; }


.px--medium,
.pl--medium {
  padding-left: 1.5rem !important; }


.p--large {
  padding: 2rem !important; }


.py--large,
.pt--large {
  padding-top: 2rem !important; }


.px--large,
.pr--large {
  padding-right: 2rem !important; }


.py--large,
.pb--large {
  padding-bottom: 2rem !important; }


.px--large,
.pl--large {
  padding-left: 2rem !important; }


.p--xlarge {
  padding: 3rem !important; }


.py--xlarge,
.pt--xlarge {
  padding-top: 3rem !important; }


.px--xlarge,
.pr--xlarge {
  padding-right: 3rem !important; }


.py--xlarge,
.pb--xlarge {
  padding-bottom: 3rem !important; }


.px--xlarge,
.pl--xlarge {
  padding-left: 3rem !important; }


.p--huge {
  padding: 4rem !important; }


.py--huge,
.pt--huge {
  padding-top: 4rem !important; }


.px--huge,
.pr--huge {
  padding-right: 4rem !important; }


.py--huge,
.pb--huge {
  padding-bottom: 4rem !important; }


.px--huge,
.pl--huge {
  padding-left: 4rem !important; }

@media (min-width: 481px) {
  
  .m-sm--base {
    margin: 1rem !important; }
  
  .my-sm--base,
  .mt-sm--base {
    margin-top: 1rem !important; }
  
  .mx-sm--base,
  .mr-sm--base {
    margin-right: 1rem !important; }
  
  .my-sm--base,
  .mb-sm--base {
    margin-bottom: 1rem !important; }
  
  .mx-sm--base,
  .ml-sm--base {
    margin-left: 1rem !important; }
  
  .m-sm--tiny {
    margin: 0.5rem !important; }
  
  .my-sm--tiny,
  .mt-sm--tiny {
    margin-top: 0.5rem !important; }
  
  .mx-sm--tiny,
  .mr-sm--tiny {
    margin-right: 0.5rem !important; }
  
  .my-sm--tiny,
  .mb-sm--tiny {
    margin-bottom: 0.5rem !important; }
  
  .mx-sm--tiny,
  .ml-sm--tiny {
    margin-left: 0.5rem !important; }
  
  .m-sm--medium {
    margin: 1.5rem !important; }
  
  .my-sm--medium,
  .mt-sm--medium {
    margin-top: 1.5rem !important; }
  
  .mx-sm--medium,
  .mr-sm--medium {
    margin-right: 1.5rem !important; }
  
  .my-sm--medium,
  .mb-sm--medium {
    margin-bottom: 1.5rem !important; }
  
  .mx-sm--medium,
  .ml-sm--medium {
    margin-left: 1.5rem !important; }
  
  .m-sm--large {
    margin: 2rem !important; }
  
  .my-sm--large,
  .mt-sm--large {
    margin-top: 2rem !important; }
  
  .mx-sm--large,
  .mr-sm--large {
    margin-right: 2rem !important; }
  
  .my-sm--large,
  .mb-sm--large {
    margin-bottom: 2rem !important; }
  
  .mx-sm--large,
  .ml-sm--large {
    margin-left: 2rem !important; }
  
  .m-sm--xlarge {
    margin: 3rem !important; }
  
  .my-sm--xlarge,
  .mt-sm--xlarge {
    margin-top: 3rem !important; }
  
  .mx-sm--xlarge,
  .mr-sm--xlarge {
    margin-right: 3rem !important; }
  
  .my-sm--xlarge,
  .mb-sm--xlarge {
    margin-bottom: 3rem !important; }
  
  .mx-sm--xlarge,
  .ml-sm--xlarge {
    margin-left: 3rem !important; }
  
  .m-sm--huge {
    margin: 4rem !important; }
  
  .my-sm--huge,
  .mt-sm--huge {
    margin-top: 4rem !important; }
  
  .mx-sm--huge,
  .mr-sm--huge {
    margin-right: 4rem !important; }
  
  .my-sm--huge,
  .mb-sm--huge {
    margin-bottom: 4rem !important; }
  
  .mx-sm--huge,
  .ml-sm--huge {
    margin-left: 4rem !important; }
  
  .p-sm--base {
    padding: 1rem !important; }
  
  .py-sm--base,
  .pt-sm--base {
    padding-top: 1rem !important; }
  
  .px-sm--base,
  .pr-sm--base {
    padding-right: 1rem !important; }
  
  .py-sm--base,
  .pb-sm--base {
    padding-bottom: 1rem !important; }
  
  .px-sm--base,
  .pl-sm--base {
    padding-left: 1rem !important; }
  
  .p-sm--tiny {
    padding: 0.5rem !important; }
  
  .py-sm--tiny,
  .pt-sm--tiny {
    padding-top: 0.5rem !important; }
  
  .px-sm--tiny,
  .pr-sm--tiny {
    padding-right: 0.5rem !important; }
  
  .py-sm--tiny,
  .pb-sm--tiny {
    padding-bottom: 0.5rem !important; }
  
  .px-sm--tiny,
  .pl-sm--tiny {
    padding-left: 0.5rem !important; }
  
  .p-sm--medium {
    padding: 1.5rem !important; }
  
  .py-sm--medium,
  .pt-sm--medium {
    padding-top: 1.5rem !important; }
  
  .px-sm--medium,
  .pr-sm--medium {
    padding-right: 1.5rem !important; }
  
  .py-sm--medium,
  .pb-sm--medium {
    padding-bottom: 1.5rem !important; }
  
  .px-sm--medium,
  .pl-sm--medium {
    padding-left: 1.5rem !important; }
  
  .p-sm--large {
    padding: 2rem !important; }
  
  .py-sm--large,
  .pt-sm--large {
    padding-top: 2rem !important; }
  
  .px-sm--large,
  .pr-sm--large {
    padding-right: 2rem !important; }
  
  .py-sm--large,
  .pb-sm--large {
    padding-bottom: 2rem !important; }
  
  .px-sm--large,
  .pl-sm--large {
    padding-left: 2rem !important; }
  
  .p-sm--xlarge {
    padding: 3rem !important; }
  
  .py-sm--xlarge,
  .pt-sm--xlarge {
    padding-top: 3rem !important; }
  
  .px-sm--xlarge,
  .pr-sm--xlarge {
    padding-right: 3rem !important; }
  
  .py-sm--xlarge,
  .pb-sm--xlarge {
    padding-bottom: 3rem !important; }
  
  .px-sm--xlarge,
  .pl-sm--xlarge {
    padding-left: 3rem !important; }
  
  .p-sm--huge {
    padding: 4rem !important; }
  
  .py-sm--huge,
  .pt-sm--huge {
    padding-top: 4rem !important; }
  
  .px-sm--huge,
  .pr-sm--huge {
    padding-right: 4rem !important; }
  
  .py-sm--huge,
  .pb-sm--huge {
    padding-bottom: 4rem !important; }
  
  .px-sm--huge,
  .pl-sm--huge {
    padding-left: 4rem !important; } }

@media (min-width: 768px) {
  
  .m-md--base {
    margin: 1rem !important; }
  
  .my-md--base,
  .mt-md--base {
    margin-top: 1rem !important; }
  
  .mx-md--base,
  .mr-md--base {
    margin-right: 1rem !important; }
  
  .my-md--base,
  .mb-md--base {
    margin-bottom: 1rem !important; }
  
  .mx-md--base,
  .ml-md--base {
    margin-left: 1rem !important; }
  
  .m-md--tiny {
    margin: 0.5rem !important; }
  
  .my-md--tiny,
  .mt-md--tiny {
    margin-top: 0.5rem !important; }
  
  .mx-md--tiny,
  .mr-md--tiny {
    margin-right: 0.5rem !important; }
  
  .my-md--tiny,
  .mb-md--tiny {
    margin-bottom: 0.5rem !important; }
  
  .mx-md--tiny,
  .ml-md--tiny {
    margin-left: 0.5rem !important; }
  
  .m-md--medium {
    margin: 1.5rem !important; }
  
  .my-md--medium,
  .mt-md--medium {
    margin-top: 1.5rem !important; }
  
  .mx-md--medium,
  .mr-md--medium {
    margin-right: 1.5rem !important; }
  
  .my-md--medium,
  .mb-md--medium {
    margin-bottom: 1.5rem !important; }
  
  .mx-md--medium,
  .ml-md--medium {
    margin-left: 1.5rem !important; }
  
  .m-md--large {
    margin: 2rem !important; }
  
  .my-md--large,
  .mt-md--large {
    margin-top: 2rem !important; }
  
  .mx-md--large,
  .mr-md--large {
    margin-right: 2rem !important; }
  
  .my-md--large,
  .mb-md--large {
    margin-bottom: 2rem !important; }
  
  .mx-md--large,
  .ml-md--large {
    margin-left: 2rem !important; }
  
  .m-md--xlarge {
    margin: 3rem !important; }
  
  .my-md--xlarge,
  .mt-md--xlarge {
    margin-top: 3rem !important; }
  
  .mx-md--xlarge,
  .mr-md--xlarge {
    margin-right: 3rem !important; }
  
  .my-md--xlarge,
  .mb-md--xlarge {
    margin-bottom: 3rem !important; }
  
  .mx-md--xlarge,
  .ml-md--xlarge {
    margin-left: 3rem !important; }
  
  .m-md--huge {
    margin: 4rem !important; }
  
  .my-md--huge,
  .mt-md--huge {
    margin-top: 4rem !important; }
  
  .mx-md--huge,
  .mr-md--huge {
    margin-right: 4rem !important; }
  
  .my-md--huge,
  .mb-md--huge {
    margin-bottom: 4rem !important; }
  
  .mx-md--huge,
  .ml-md--huge {
    margin-left: 4rem !important; }
  
  .p-md--base {
    padding: 1rem !important; }
  
  .py-md--base,
  .pt-md--base {
    padding-top: 1rem !important; }
  
  .px-md--base,
  .pr-md--base {
    padding-right: 1rem !important; }
  
  .py-md--base,
  .pb-md--base {
    padding-bottom: 1rem !important; }
  
  .px-md--base,
  .pl-md--base {
    padding-left: 1rem !important; }
  
  .p-md--tiny {
    padding: 0.5rem !important; }
  
  .py-md--tiny,
  .pt-md--tiny {
    padding-top: 0.5rem !important; }
  
  .px-md--tiny,
  .pr-md--tiny {
    padding-right: 0.5rem !important; }
  
  .py-md--tiny,
  .pb-md--tiny {
    padding-bottom: 0.5rem !important; }
  
  .px-md--tiny,
  .pl-md--tiny {
    padding-left: 0.5rem !important; }
  
  .p-md--medium {
    padding: 1.5rem !important; }
  
  .py-md--medium,
  .pt-md--medium {
    padding-top: 1.5rem !important; }
  
  .px-md--medium,
  .pr-md--medium {
    padding-right: 1.5rem !important; }
  
  .py-md--medium,
  .pb-md--medium {
    padding-bottom: 1.5rem !important; }
  
  .px-md--medium,
  .pl-md--medium {
    padding-left: 1.5rem !important; }
  
  .p-md--large {
    padding: 2rem !important; }
  
  .py-md--large,
  .pt-md--large {
    padding-top: 2rem !important; }
  
  .px-md--large,
  .pr-md--large {
    padding-right: 2rem !important; }
  
  .py-md--large,
  .pb-md--large {
    padding-bottom: 2rem !important; }
  
  .px-md--large,
  .pl-md--large {
    padding-left: 2rem !important; }
  
  .p-md--xlarge {
    padding: 3rem !important; }
  
  .py-md--xlarge,
  .pt-md--xlarge {
    padding-top: 3rem !important; }
  
  .px-md--xlarge,
  .pr-md--xlarge {
    padding-right: 3rem !important; }
  
  .py-md--xlarge,
  .pb-md--xlarge {
    padding-bottom: 3rem !important; }
  
  .px-md--xlarge,
  .pl-md--xlarge {
    padding-left: 3rem !important; }
  
  .p-md--huge {
    padding: 4rem !important; }
  
  .py-md--huge,
  .pt-md--huge {
    padding-top: 4rem !important; }
  
  .px-md--huge,
  .pr-md--huge {
    padding-right: 4rem !important; }
  
  .py-md--huge,
  .pb-md--huge {
    padding-bottom: 4rem !important; }
  
  .px-md--huge,
  .pl-md--huge {
    padding-left: 4rem !important; } }

@media (min-width: 970px) {
  
  .m-lg--base {
    margin: 1rem !important; }
  
  .my-lg--base,
  .mt-lg--base {
    margin-top: 1rem !important; }
  
  .mx-lg--base,
  .mr-lg--base {
    margin-right: 1rem !important; }
  
  .my-lg--base,
  .mb-lg--base {
    margin-bottom: 1rem !important; }
  
  .mx-lg--base,
  .ml-lg--base {
    margin-left: 1rem !important; }
  
  .m-lg--tiny {
    margin: 0.5rem !important; }
  
  .my-lg--tiny,
  .mt-lg--tiny {
    margin-top: 0.5rem !important; }
  
  .mx-lg--tiny,
  .mr-lg--tiny {
    margin-right: 0.5rem !important; }
  
  .my-lg--tiny,
  .mb-lg--tiny {
    margin-bottom: 0.5rem !important; }
  
  .mx-lg--tiny,
  .ml-lg--tiny {
    margin-left: 0.5rem !important; }
  
  .m-lg--medium {
    margin: 1.5rem !important; }
  
  .my-lg--medium,
  .mt-lg--medium {
    margin-top: 1.5rem !important; }
  
  .mx-lg--medium,
  .mr-lg--medium {
    margin-right: 1.5rem !important; }
  
  .my-lg--medium,
  .mb-lg--medium {
    margin-bottom: 1.5rem !important; }
  
  .mx-lg--medium,
  .ml-lg--medium {
    margin-left: 1.5rem !important; }
  
  .m-lg--large {
    margin: 2rem !important; }
  
  .my-lg--large,
  .mt-lg--large {
    margin-top: 2rem !important; }
  
  .mx-lg--large,
  .mr-lg--large {
    margin-right: 2rem !important; }
  
  .my-lg--large,
  .mb-lg--large {
    margin-bottom: 2rem !important; }
  
  .mx-lg--large,
  .ml-lg--large {
    margin-left: 2rem !important; }
  
  .m-lg--xlarge {
    margin: 3rem !important; }
  
  .my-lg--xlarge,
  .mt-lg--xlarge {
    margin-top: 3rem !important; }
  
  .mx-lg--xlarge,
  .mr-lg--xlarge {
    margin-right: 3rem !important; }
  
  .my-lg--xlarge,
  .mb-lg--xlarge {
    margin-bottom: 3rem !important; }
  
  .mx-lg--xlarge,
  .ml-lg--xlarge {
    margin-left: 3rem !important; }
  
  .m-lg--huge {
    margin: 4rem !important; }
  
  .my-lg--huge,
  .mt-lg--huge {
    margin-top: 4rem !important; }
  
  .mx-lg--huge,
  .mr-lg--huge {
    margin-right: 4rem !important; }
  
  .my-lg--huge,
  .mb-lg--huge {
    margin-bottom: 4rem !important; }
  
  .mx-lg--huge,
  .ml-lg--huge {
    margin-left: 4rem !important; }
  
  .p-lg--base {
    padding: 1rem !important; }
  
  .py-lg--base,
  .pt-lg--base {
    padding-top: 1rem !important; }
  
  .px-lg--base,
  .pr-lg--base {
    padding-right: 1rem !important; }
  
  .py-lg--base,
  .pb-lg--base {
    padding-bottom: 1rem !important; }
  
  .px-lg--base,
  .pl-lg--base {
    padding-left: 1rem !important; }
  
  .p-lg--tiny {
    padding: 0.5rem !important; }
  
  .py-lg--tiny,
  .pt-lg--tiny {
    padding-top: 0.5rem !important; }
  
  .px-lg--tiny,
  .pr-lg--tiny {
    padding-right: 0.5rem !important; }
  
  .py-lg--tiny,
  .pb-lg--tiny {
    padding-bottom: 0.5rem !important; }
  
  .px-lg--tiny,
  .pl-lg--tiny {
    padding-left: 0.5rem !important; }
  
  .p-lg--medium {
    padding: 1.5rem !important; }
  
  .py-lg--medium,
  .pt-lg--medium {
    padding-top: 1.5rem !important; }
  
  .px-lg--medium,
  .pr-lg--medium {
    padding-right: 1.5rem !important; }
  
  .py-lg--medium,
  .pb-lg--medium {
    padding-bottom: 1.5rem !important; }
  
  .px-lg--medium,
  .pl-lg--medium {
    padding-left: 1.5rem !important; }
  
  .p-lg--large {
    padding: 2rem !important; }
  
  .py-lg--large,
  .pt-lg--large {
    padding-top: 2rem !important; }
  
  .px-lg--large,
  .pr-lg--large {
    padding-right: 2rem !important; }
  
  .py-lg--large,
  .pb-lg--large {
    padding-bottom: 2rem !important; }
  
  .px-lg--large,
  .pl-lg--large {
    padding-left: 2rem !important; }
  
  .p-lg--xlarge {
    padding: 3rem !important; }
  
  .py-lg--xlarge,
  .pt-lg--xlarge {
    padding-top: 3rem !important; }
  
  .px-lg--xlarge,
  .pr-lg--xlarge {
    padding-right: 3rem !important; }
  
  .py-lg--xlarge,
  .pb-lg--xlarge {
    padding-bottom: 3rem !important; }
  
  .px-lg--xlarge,
  .pl-lg--xlarge {
    padding-left: 3rem !important; }
  
  .p-lg--huge {
    padding: 4rem !important; }
  
  .py-lg--huge,
  .pt-lg--huge {
    padding-top: 4rem !important; }
  
  .px-lg--huge,
  .pr-lg--huge {
    padding-right: 4rem !important; }
  
  .py-lg--huge,
  .pb-lg--huge {
    padding-bottom: 4rem !important; }
  
  .px-lg--huge,
  .pl-lg--huge {
    padding-left: 4rem !important; } }

@media (min-width: 1200px) {
  
  .m-xl--base {
    margin: 1rem !important; }
  
  .my-xl--base,
  .mt-xl--base {
    margin-top: 1rem !important; }
  
  .mx-xl--base,
  .mr-xl--base {
    margin-right: 1rem !important; }
  
  .my-xl--base,
  .mb-xl--base {
    margin-bottom: 1rem !important; }
  
  .mx-xl--base,
  .ml-xl--base {
    margin-left: 1rem !important; }
  
  .m-xl--tiny {
    margin: 0.5rem !important; }
  
  .my-xl--tiny,
  .mt-xl--tiny {
    margin-top: 0.5rem !important; }
  
  .mx-xl--tiny,
  .mr-xl--tiny {
    margin-right: 0.5rem !important; }
  
  .my-xl--tiny,
  .mb-xl--tiny {
    margin-bottom: 0.5rem !important; }
  
  .mx-xl--tiny,
  .ml-xl--tiny {
    margin-left: 0.5rem !important; }
  
  .m-xl--medium {
    margin: 1.5rem !important; }
  
  .my-xl--medium,
  .mt-xl--medium {
    margin-top: 1.5rem !important; }
  
  .mx-xl--medium,
  .mr-xl--medium {
    margin-right: 1.5rem !important; }
  
  .my-xl--medium,
  .mb-xl--medium {
    margin-bottom: 1.5rem !important; }
  
  .mx-xl--medium,
  .ml-xl--medium {
    margin-left: 1.5rem !important; }
  
  .m-xl--large {
    margin: 2rem !important; }
  
  .my-xl--large,
  .mt-xl--large {
    margin-top: 2rem !important; }
  
  .mx-xl--large,
  .mr-xl--large {
    margin-right: 2rem !important; }
  
  .my-xl--large,
  .mb-xl--large {
    margin-bottom: 2rem !important; }
  
  .mx-xl--large,
  .ml-xl--large {
    margin-left: 2rem !important; }
  
  .m-xl--xlarge {
    margin: 3rem !important; }
  
  .my-xl--xlarge,
  .mt-xl--xlarge {
    margin-top: 3rem !important; }
  
  .mx-xl--xlarge,
  .mr-xl--xlarge {
    margin-right: 3rem !important; }
  
  .my-xl--xlarge,
  .mb-xl--xlarge {
    margin-bottom: 3rem !important; }
  
  .mx-xl--xlarge,
  .ml-xl--xlarge {
    margin-left: 3rem !important; }
  
  .m-xl--huge {
    margin: 4rem !important; }
  
  .my-xl--huge,
  .mt-xl--huge {
    margin-top: 4rem !important; }
  
  .mx-xl--huge,
  .mr-xl--huge {
    margin-right: 4rem !important; }
  
  .my-xl--huge,
  .mb-xl--huge {
    margin-bottom: 4rem !important; }
  
  .mx-xl--huge,
  .ml-xl--huge {
    margin-left: 4rem !important; }
  
  .p-xl--base {
    padding: 1rem !important; }
  
  .py-xl--base,
  .pt-xl--base {
    padding-top: 1rem !important; }
  
  .px-xl--base,
  .pr-xl--base {
    padding-right: 1rem !important; }
  
  .py-xl--base,
  .pb-xl--base {
    padding-bottom: 1rem !important; }
  
  .px-xl--base,
  .pl-xl--base {
    padding-left: 1rem !important; }
  
  .p-xl--tiny {
    padding: 0.5rem !important; }
  
  .py-xl--tiny,
  .pt-xl--tiny {
    padding-top: 0.5rem !important; }
  
  .px-xl--tiny,
  .pr-xl--tiny {
    padding-right: 0.5rem !important; }
  
  .py-xl--tiny,
  .pb-xl--tiny {
    padding-bottom: 0.5rem !important; }
  
  .px-xl--tiny,
  .pl-xl--tiny {
    padding-left: 0.5rem !important; }
  
  .p-xl--medium {
    padding: 1.5rem !important; }
  
  .py-xl--medium,
  .pt-xl--medium {
    padding-top: 1.5rem !important; }
  
  .px-xl--medium,
  .pr-xl--medium {
    padding-right: 1.5rem !important; }
  
  .py-xl--medium,
  .pb-xl--medium {
    padding-bottom: 1.5rem !important; }
  
  .px-xl--medium,
  .pl-xl--medium {
    padding-left: 1.5rem !important; }
  
  .p-xl--large {
    padding: 2rem !important; }
  
  .py-xl--large,
  .pt-xl--large {
    padding-top: 2rem !important; }
  
  .px-xl--large,
  .pr-xl--large {
    padding-right: 2rem !important; }
  
  .py-xl--large,
  .pb-xl--large {
    padding-bottom: 2rem !important; }
  
  .px-xl--large,
  .pl-xl--large {
    padding-left: 2rem !important; }
  
  .p-xl--xlarge {
    padding: 3rem !important; }
  
  .py-xl--xlarge,
  .pt-xl--xlarge {
    padding-top: 3rem !important; }
  
  .px-xl--xlarge,
  .pr-xl--xlarge {
    padding-right: 3rem !important; }
  
  .py-xl--xlarge,
  .pb-xl--xlarge {
    padding-bottom: 3rem !important; }
  
  .px-xl--xlarge,
  .pl-xl--xlarge {
    padding-left: 3rem !important; }
  
  .p-xl--huge {
    padding: 4rem !important; }
  
  .py-xl--huge,
  .pt-xl--huge {
    padding-top: 4rem !important; }
  
  .px-xl--huge,
  .pr-xl--huge {
    padding-right: 4rem !important; }
  
  .py-xl--huge,
  .pb-xl--huge {
    padding-bottom: 4rem !important; }
  
  .px-xl--huge,
  .pl-xl--huge {
    padding-left: 4rem !important; } }

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

.ms1 {
  font-size: 1.125rem;
  line-height: 1.5; }

.ms2 {
  font-size: 1.266rem;
  line-height: 1.5; }

.ms3 {
  font-size: 1.424rem;
  line-height: 1.5; }

.ms4 {
  font-size: 1.602rem;
  line-height: 1.5; }

.ms5 {
  font-size: 1.802rem;
  line-height: 1.5; }

.ms6 {
  font-size: 2.027rem;
  line-height: 1.5; }

.ms7 {
  font-size: 2.281rem;
  line-height: 1.5; }

.ms8 {
  font-size: 2.566rem;
  line-height: 1.5; }

.ms9 {
  font-size: 2.887rem;
  line-height: 1.5; }

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

.ms-2 {
  font-size: 0.79rem;
  line-height: 1.5; }

.ms-3 {
  font-size: 0.702rem;
  line-height: 1.5; }

.visible {
  display: block; }

.hidden {
  display: none; }

@media (min-width: 481px) {
  .visible-sm {
    display: block; }
  .hidden-sm {
    display: none; } }

@media (min-width: 768px) {
  .visible-md {
    display: block; }
  .hidden-md {
    display: none; } }

@media (min-width: 970px) {
  .visible-lg {
    display: block; }
  .hidden-lg {
    display: none; } }

@media (min-width: 1200px) {
  .visible-xl {
    display: block; }
  .hidden-xl {
    display: none; } }

.btn {
  display: inline-block;
  font-weight: bold;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  padding: 0.5rem 1rem;
  border-style: solid;
  border-width: 0.0625rem;
  font-size: 1rem;
  line-height: 1.125;
  border-radius: 2.125rem;
  color: #3a3a3a;
  background-color: #efefef;
  border-color: #ccc;
  transition: all 0.125s ease-in-out; }
  .btn:hover {
    color: #3a3a3a;
    background-color: #ccc;
    border-color: #ccc; }
  .btn:active, .btn.active,
  .open > .btn.dropdown-toggle {
    color: #3a3a3a;
    background-color: #ccc;
    border-color: #ccc; }
  .btn.disabled, .btn:disabled, .btn[disabled] {
    pointer-events: none;
    cursor: default;
    opacity: .6; }
    .btn.disabled:focus, .btn.disabled:hover, .btn:disabled:focus, .btn:disabled:hover, .btn[disabled]:focus, .btn[disabled]:hover {
      color: #3a3a3a;
      background-color: #efefef;
      border-color: #ccc; }
  .btn:focus, .btn:hover {
    text-decoration: none; }
  .btn:active, .btn.active {
    outline: 0; }
  .btn.focus, .btn:focus {
    box-shadow: 0 0 0 1px #52c0c4, 0 0 0 4px rgba(82, 192, 196, 0.3);
    border: 1px solid #52c0c4;
    outline: none; }
  .btn[class*="icon-"] {
    display: inline-flex;
    align-items: center;
    justify-content: center; }
  .btn[class*="icon-"]::before, .btn[class*="icon-"]::after, .btn[data-icon] {
    padding-right: 0.25rem;
    font-size: 1.5rem;
    line-height: 1;
    height: 1.5rem;
    margin-top: -1.5rem;
    transform: translateY(50%); }
  .btn[data-icon] {
    vertical-align: super; }
  .btn + .btn {
    margin-left: 1rem; }
  .btn--primary {
    color: #fff;
    background-color: #21850f;
    border-color: #21850f; }
    .btn--primary:hover {
      color: #fff;
      background-color: #005700;
      border-color: #005700; }
    .btn--primary:active, .btn--primary.active,
    .open > .btn--primary.dropdown-toggle {
      color: #fff;
      background-color: #005700;
      border-color: #005700; }
    .btn--primary.disabled, .btn--primary:disabled, .btn--primary[disabled] {
      pointer-events: none;
      cursor: default;
      opacity: .6; }
      .btn--primary.disabled:focus, .btn--primary.disabled:hover, .btn--primary:disabled:focus, .btn--primary:disabled:hover, .btn--primary[disabled]:focus, .btn--primary[disabled]:hover {
        color: #fff;
        background-color: #21850f;
        border-color: #21850f; }
  .btn--secondary {
    color: #21850f;
    background-color: #fff;
    border-color: #21850f; }
    .btn--secondary:hover {
      color: #3a3a3a;
      background-color: #fff;
      border-color: #3a3a3a; }
    .btn--secondary:active, .btn--secondary.active,
    .open > .btn--secondary.dropdown-toggle {
      color: #3a3a3a;
      background-color: #fff;
      border-color: #3a3a3a; }
    .btn--secondary.disabled, .btn--secondary:disabled, .btn--secondary[disabled] {
      pointer-events: none;
      cursor: default;
      opacity: .6; }
      .btn--secondary.disabled:focus, .btn--secondary.disabled:hover, .btn--secondary:disabled:focus, .btn--secondary:disabled:hover, .btn--secondary[disabled]:focus, .btn--secondary[disabled]:hover {
        color: #21850f;
        background-color: #fff;
        border-color: #21850f; }
  .btn--cta {
    color: #fff;
    background-color: #423fe1;
    border-color: #423fe1; }
    .btn--cta:hover {
      color: #fff;
      background-color: #211ec2;
      border-color: #211ec2; }
    .btn--cta:active, .btn--cta.active,
    .open > .btn--cta.dropdown-toggle {
      color: #fff;
      background-color: #211ec2;
      border-color: #211ec2; }
    .btn--cta.disabled, .btn--cta:disabled, .btn--cta[disabled] {
      pointer-events: none;
      cursor: default;
      opacity: .6; }
      .btn--cta.disabled:focus, .btn--cta.disabled:hover, .btn--cta:disabled:focus, .btn--cta:disabled:hover, .btn--cta[disabled]:focus, .btn--cta[disabled]:hover {
        color: #fff;
        background-color: #423fe1;
        border-color: #423fe1; }
  .btn--neutral {
    color: #3a3a3a;
    background-color: #fff;
    border-color: #3a3a3a; }
    .btn--neutral:hover {
      color: #21850f;
      background-color: #fff;
      border-color: #21850f; }
    .btn--neutral:active, .btn--neutral.active,
    .open > .btn--neutral.dropdown-toggle {
      color: #21850f;
      background-color: #fff;
      border-color: #21850f; }
    .btn--neutral.disabled, .btn--neutral:disabled, .btn--neutral[disabled] {
      pointer-events: none;
      cursor: default;
      opacity: .6; }
      .btn--neutral.disabled:focus, .btn--neutral.disabled:hover, .btn--neutral:disabled:focus, .btn--neutral:disabled:hover, .btn--neutral[disabled]:focus, .btn--neutral[disabled]:hover {
        color: #3a3a3a;
        background-color: #fff;
        border-color: #3a3a3a; }
  .btn--reverse {
    color: #fff;
    background-color: transparent;
    border-color: #fff; }
    .btn--reverse:hover {
      color: #999;
      background-color: transparent;
      border-color: #999; }
    .btn--reverse:active, .btn--reverse.active,
    .open > .btn--reverse.dropdown-toggle {
      color: #999;
      background-color: transparent;
      border-color: #999; }
    .btn--reverse.disabled, .btn--reverse:disabled, .btn--reverse[disabled] {
      pointer-events: none;
      cursor: default;
      opacity: .6; }
      .btn--reverse.disabled:focus, .btn--reverse.disabled:hover, .btn--reverse:disabled:focus, .btn--reverse:disabled:hover, .btn--reverse[disabled]:focus, .btn--reverse[disabled]:hover {
        color: #fff;
        background-color: transparent;
        border-color: #fff; }
  .btn--lg {
    padding: 0.6875rem 1rem;
    border-style: solid;
    border-width: 0.0625rem;
    font-size: 1rem;
    line-height: 1.125;
    border-radius: 2.5rem; }
  @media (min-width: 768px) {
    .btn--sm {
      padding: 0.4375rem 1rem;
      border-style: solid;
      border-width: 0.0625rem;
      font-size: 0.889rem;
      line-height: 1.125;
      border-radius: 2rem; }
      .btn--sm[class*="icon-"]::before,
      .btn--sm [class*="icon-"]::before,
      .btn--sm [data-icon] {
        font-size: 1.25rem;
        line-height: 1;
        height: 1.25rem;
        margin-top: -1.25rem;
        transform: translateY(51%); } }
  .btn--block {
    display: block;
    width: 100%; }
    .btn--block + .btn--block {
      margin-top: 0.5rem;
      margin-left: 0; }

.close {
  font-size: 1rem;
  line-height: 1;
  padding: 0;
  cursor: pointer;
  background-color: transparent;
  border: 0;
  opacity: .75;
  -webkit-appearance: none; }
  .close:focus, .close:hover {
    text-decoration: none;
    cursor: pointer;
    opacity: 1; }
  .close::before {
    font-family: cs-global-icons, sans-serif;
    content: "\f115"; }

.divider:empty {
  border-top-color: #ccc;
  border-top-style: solid;
  border-top-width: 1px;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem; }

.divider:not(:empty) {
  display: flex;
  align-items: center;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem; }
  .divider:not(:empty)::before, .divider:not(:empty)::after {
    display: block;
    flex: 1;
    content: "";
    border-top-color: #ccc;
    border-top-style: solid;
    border-top-width: 1px; }
  .divider:not(:empty)::before {
    margin-right: 1rem; }
  .divider:not(:empty)::after {
    margin-left: 1rem; }

.divider--heavy:empty {
  border-top-color: #21850f;
  border-top-width: 2px; }

.divider--heavy:not(:empty)::before, .divider--heavy:not(:empty)::after {
  border-top-color: #21850f;
  border-top-width: 2px; }

.form-control {
  padding: 0.5rem 1rem;
  border-style: solid;
  border-width: 0.0625rem;
  font-size: 1rem;
  line-height: 1.125;
  border-radius: 0.25rem;
  display: block;
  width: 100%;
  color: #3a3a3a;
  background-color: #fff;
  background-image: none;
  background-clip: padding-box;
  border-color: #ccc; }
  .form-control::placeholder {
    color: #757575;
    opacity: 1; }
  .form-control:hover {
    border-color: #3a3a3a; }
  .form-control:focus {
    box-shadow: 0 0 0 1px #52c0c4, 0 0 0 4px rgba(82, 192, 196, 0.3);
    border: 1px solid #52c0c4;
    outline: none; }
  .form-control[readonly] {
    background-color: #efefef;
    opacity: 1; }
  .form-control:disabled {
    color: #ccc;
    cursor: not-allowed;
    background-color: #efefef;
    border-color: #ccc;
    opacity: 1; }
    .form-control:disabled::placeholder {
      color: #ccc; }
  .form-control.error {
    border-color: #f25555; }
    .form-control.error ~ .form-feedback--invalid {
      display: block; }
      .form-control.error ~ .form-feedback--invalid ~ .form-help {
        display: none; }
  select.form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  select.form-control:focus::-ms-value {
    color: #3a3a3a;
    background-color: #fff; }
  select.form-control:not([multiple]) {
    background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'>%3Cg fill='none'%3E%3Cg fill='%233A3A3A'%3E%3Cpolygon transform='translate(-832 -539)translate(723 525)translate(114 17)scale(1 -1)translate(-114 -17)' points='114 14 119 20 109 20' class='undefined'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat right 0.75rem center;
    background-size: 0.5rem 0.5rem;
    appearance: none; }
  .form-control--sm {
    padding: 0.4375rem 1rem;
    border-style: solid;
    border-width: 0.0625rem;
    font-size: 0.875rem;
    line-height: 1.125;
    border-radius: 0.25rem; }
  .form-control--lg {
    padding: 0.6875rem 1rem;
    border-style: solid;
    border-width: 0.0625rem;
    font-size: 1rem;
    line-height: 1.125;
    border-radius: 0.25rem; }
  .form-control--disabled {
    color: #ccc;
    cursor: not-allowed;
    background-color: #efefef;
    border-color: #ccc;
    opacity: 1; }
    .form-control--disabled::placeholder {
      color: #ccc; }

.form-control-checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0; }
  .form-control-checkbox input[type="checkbox"]:focus + label[for]::before {
    box-shadow: 0 0 0 1px #52c0c4, 0 0 0 4px rgba(82, 192, 196, 0.3);
    border: 1px solid #52c0c4;
    outline: none; }
  .form-control-checkbox input[type="checkbox"]:disabled + label[for]::before {
    cursor: not-allowed;
    background-color: #efefef;
    border-color: #ccc;
    opacity: 1; }
  .form-control-checkbox input[type="checkbox"]:disabled + label[for]::after {
    cursor: not-allowed; }
  .form-control-checkbox input[type="checkbox"]:checked:not(:disabled) + label[for]::before {
    background-color: #21850f;
    border-width: 0; }
  .form-control-checkbox input[type="checkbox"]:not(:checked) + label[for]:hover::before {
    background-color: #efefef; }
  .form-control-checkbox input[type="checkbox"].error ~ .form-feedback--invalid {
    display: block; }
    .form-control-checkbox input[type="checkbox"].error ~ .form-feedback--invalid ~ .form-help {
      display: none; }
  .form-control-checkbox input[type="checkbox"].error + label[for]::before {
    border-color: #f25555; }
  .form-control-checkbox input[type="checkbox"] + label[for] {
    position: relative;
    margin-bottom: 0;
    line-height: 1; }
    .form-control-checkbox input[type="checkbox"] + label[for]::before {
      display: inline-block;
      width: 1rem;
      height: 1rem;
      margin-right: 0.25rem;
      vertical-align: bottom;
      content: "";
      background-color: #fff;
      border: 0.0625rem solid #3a3a3a; }
    .form-control-checkbox input[type="checkbox"] + label[for]::after {
      position: absolute;
      font-family: cs-global-icons, sans-serif;
      color: #fff; }
  .form-control-checkbox input[type="checkbox"]:checked + label[for]::after {
    content: "\f111"; }
  .form-control-checkbox input[type="checkbox"] + label[for]::before {
    border-radius: 0.125rem; }
  .form-control-checkbox input[type="checkbox"] + label[for]::after {
    top: 0.1875rem;
    left: 0.125rem;
    font-size: 0.75rem; }

.form-control-checkbox--lg input[type="checkbox"] + label[for] {
  line-height: 1.5; }
  .form-control-checkbox--lg input[type="checkbox"] + label[for]::before {
    width: 1.5rem;
    height: 1.5rem; }

.form-control-checkbox--lg input[type="checkbox"] + label[for]::after {
  top: 0.0625rem;
  left: 0.25rem;
  font-size: 1rem; }

.form-control-radio input[type="radio"] {
  position: absolute;
  opacity: 0; }
  .form-control-radio input[type="radio"]:focus + label[for]::before {
    box-shadow: 0 0 0 1px #52c0c4, 0 0 0 4px rgba(82, 192, 196, 0.3);
    border: 1px solid #52c0c4;
    outline: none; }
  .form-control-radio input[type="radio"]:disabled + label[for]::before {
    cursor: not-allowed;
    background-color: #efefef;
    border-color: #ccc;
    opacity: 1; }
  .form-control-radio input[type="radio"]:disabled + label[for]::after {
    cursor: not-allowed; }
  .form-control-radio input[type="radio"]:checked:not(:disabled) + label[for]::before {
    background-color: #21850f;
    border-width: 0; }
  .form-control-radio input[type="radio"]:not(:checked) + label[for]:hover::before {
    background-color: #efefef; }
  .form-control-radio input[type="radio"].error ~ .form-feedback--invalid {
    display: block; }
    .form-control-radio input[type="radio"].error ~ .form-feedback--invalid ~ .form-help {
      display: none; }
  .form-control-radio input[type="radio"].error + label[for]::before {
    border-color: #f25555; }
  .form-control-radio input[type="radio"] + label[for] {
    position: relative;
    margin-bottom: 0;
    line-height: 1; }
    .form-control-radio input[type="radio"] + label[for]::before {
      display: inline-block;
      width: 1rem;
      height: 1rem;
      margin-right: 0.25rem;
      vertical-align: bottom;
      content: "";
      background-color: #fff;
      border: 0.0625rem solid #3a3a3a; }
    .form-control-radio input[type="radio"] + label[for]::after {
      position: absolute;
      font-family: cs-global-icons, sans-serif;
      color: #fff; }
  .form-control-radio input[type="radio"]:checked + label[for]::after {
    content: "\f113"; }
  .form-control-radio input[type="radio"] + label[for]::before {
    border-radius: 50%; }
  .form-control-radio input[type="radio"] + label[for]::after {
    top: 0.25rem;
    left: 0.25rem;
    font-size: 0.5rem; }

.form-control-radio--lg input[type="radio"] + label[for] {
  line-height: 1.5; }
  .form-control-radio--lg input[type="radio"] + label[for]::before {
    width: 1.5rem;
    height: 1.5rem; }

.form-control-radio--lg input[type="radio"] + label[for]::after {
  top: 0.25rem;
  left: 0.375rem;
  font-size: 0.75rem; }

.form-label {
  font-size: 0.875rem;
  line-height: normal;
  display: inline-block;
  margin-bottom: 0.5rem; }
  .form-label--required::after {
    margin-left: 0.25rem;
    color: #f25555;
    content: "*"; }

.form-help {
  font-size: 0.875rem;
  line-height: 1.125;
  display: block;
  margin-top: 0.375rem;
  color: #757575; }

.form-feedback {
  font-size: 0.875rem;
  line-height: 1.125;
  display: none;
  width: 100%;
  margin-top: 0.375rem; }
  .form-feedback--invalid {
    color: #f25555; }

h1 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.802rem;
  line-height: 1.25; }
  @media (min-width: 768px) {
    h1 {
      font-size: 2.027rem; } }

h2 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.424rem;
  line-height: 1.25; }
  @media (min-width: 768px) {
    h2 {
      font-size: 1.602rem; } }

h3 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.266rem;
  line-height: 1.25; }

h4 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.125rem;
  line-height: 1.25; }

h5 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 0.889rem;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.03125rem; }

.heading-1 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.802rem;
  line-height: 1.25; }
  @media (min-width: 768px) {
    .heading-1 {
      font-size: 2.027rem; } }

.heading-2 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.424rem;
  line-height: 1.25; }
  @media (min-width: 768px) {
    .heading-2 {
      font-size: 1.602rem; } }

.heading-3 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.266rem;
  line-height: 1.25; }

.heading-4 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.125rem;
  line-height: 1.25; }

.heading-5 {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 0.889rem;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.03125rem; }

.heading--oswald {
  font-family: "Oswald", helvetica, arial, sans-serif; }

.display-1 {
  margin-bottom: 1.5rem;
  color: inherit;
  font-size: 2.281rem;
  line-height: 1.25;
  font-weight: bold; }
  @media (min-width: 768px) {
    .display-1 {
      font-size: 2.887rem; } }

.display-2 {
  margin-bottom: 1.5rem;
  color: inherit;
  font-size: 2.027rem;
  line-height: 1.25;
  font-weight: bold; }
  @media (min-width: 768px) {
    .display-2 {
      font-size: 2.566rem; } }

p {
  margin-top: 0;
  margin-bottom: 1.5rem; }

.lead {
  font-size: 1.266rem;
  line-height: 1.5;
  font-weight: 400; }

.small,
small {
  font-size: 0.889rem;
  line-height: 1.5; }

.caption {
  font-size: 0.79rem;
  line-height: 1.5;
  text-align: left;
  letter-spacing: 0.00562rem;
  caption-side: bottom; }

.legal {
  font-size: 0.702rem;
  line-height: 1.5;
  letter-spacing: 0.00562rem; }

.mark,
mark {
  padding: 0.5rem;
  background-color: #fcf8e3; }

.link {
  padding-bottom: 0.125rem;
  font-size: inherit;
  color: #3a3a3a;
  text-decoration: none;
  border-bottom: 1px dotted #535353; }
  .link > [class^="icon"]::before {
    line-height: .8;
    vertical-align: sub; }
  .link:active, .link:hover {
    color: #423fe1;
    text-decoration: none;
    cursor: pointer;
    border-bottom: 1px dotted #423fe1; }
  .link:focus {
    border-color: transparent;
    outline: 1px dotted;
    outline-color: #423fe1;
    outline-offset: 0; }
  .link--cta {
    font-weight: bold;
    color: #423fe1;
    border-bottom-color: transparent; }
    .link--cta:active, .link--cta:hover {
      color: #423fe1; }
  .link--reverse {
    color: #fff;
    border-bottom-color: #fff; }
    .link--reverse:active, .link--reverse:hover {
      color: #999;
      border-bottom-color: #999; }
    .link--reverse:focus {
      outline-color: #fff; }
  .link--title {
    border-bottom-color: transparent; }

.list-unstyled {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }


.list-inline {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }


.list-inline li,
.list-inline__item {
  display: inline-block; }
  
  .list-inline li:not(:last-child),
  .list-inline__item:not(:last-child) {
    margin-right: 0.3125rem; }

.list-inline--delimited > li + li::before,
.list-inline--delimited > .list-inline__item + .list-inline__item::before {
  content: ", "; }

.loader {
  width: 2rem;
  height: 2rem;
  position: relative;
  display: inline-block;
  color: #757575; }
  .loader div {
    width: 2rem;
    height: 2rem;
    border-width: 5px; }
  .loader div {
    position: absolute;
    border-color: currentColor transparent transparent transparent;
    border-style: solid;
    border-radius: 50%;
    animation: cs-loader 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite; }
    .loader div:nth-child(1) {
      animation-delay: -.45s; }
    .loader div:nth-child(2) {
      animation-delay: -.3s; }
    .loader div:nth-child(3) {
      animation-delay: -.15s; }

@keyframes cs-loader {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
  .loader--sm {
    width: 1rem;
    height: 1rem; }
    .loader--sm div {
      width: 1rem;
      height: 1rem;
      border-width: 3px; }
  .loader--lg {
    width: 3rem;
    height: 3rem; }
    .loader--lg div {
      width: 3rem;
      height: 3rem;
      border-width: 6px; }
  .loader--centered {
    top: calc(50% - 2rem / 2);
    left: calc(50% - 2rem / 2);
    position: absolute;
    z-index: 1000; }
    .loader--centered.loader--sm {
      top: calc(50% - 1rem / 2);
      left: calc(50% - 1rem / 2); }
    .loader--centered.loader--lg {
      top: calc(50% - 3rem / 2);
      left: calc(50% - 3rem / 2); }

.avatar {
  border-radius: 100%;
  position: relative;
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  vertical-align: middle; }
  .avatar img {
    border-radius: 100%;
    width: 100%;
    height: 100%; }
    .avatar img:not([data-toggle="avatar"]) {
      padding: 0.0625rem;
      background-color: #fff;
      border: 0.125rem solid #049fa4; }
  .avatar--certified {
    width: 4rem;
    height: 4rem; }
    .avatar--certified::before {
      position: absolute;
      right: -0.375rem;
      bottom: -0.375rem;
      display: block;
      width: 1.5rem;
      height: 1.5rem;
      content: "";
      background-image: url("images/logo--checkmark--green--black--white.svg");
      background-repeat: no-repeat; }
  .avatar--small {
    width: 1.5rem;
    height: 1.5rem; }
  .avatar--large {
    width: 4rem;
    height: 4rem; }

.tag {
  font-size: 0.8125rem;
  line-height: 1;
  border-radius: 0.25rem;
  display: inline-block;
  padding: 0.5rem 1rem;
  margin-right: 0.3125rem;
  margin-bottom: 0.5rem;
  color: #535353;
  background-color: #efefef;
  border: 1px solid transparent; }
  .tag:hover {
    color: #535353;
    background-color: #ccc; }
  .tag:focus {
    box-shadow: 0 0 0 1px #52c0c4, 0 0 0 4px rgba(82, 192, 196, 0.3);
    border: 1px solid #52c0c4;
    outline: none; }
  .tag--close, .tag[data-dismiss="tag"] {
    padding-right: 0.5rem; }
    .tag--close, .tag[data-dismiss="tag"] {
      transition: opacity 150ms linear; }
      .tag--close.fade, .tag[data-dismiss="tag"].fade {
        opacity: 0; }
    .tag--close::after, .tag[data-dismiss="tag"]::after {
      font-size: 0.6875rem;
      line-height: 1;
      font-family: cs-global-icons, sans-serif;
      content: "\f115";
      margin-left: 0.375rem; }

.accordion + .accordion {
  margin-top: 1.5rem; }

.accordion__group-title {
  margin-bottom: 1.5rem;
  font-family: "Lato";
  font-weight: bold;
  color: inherit;
  font-size: 1.266rem;
  line-height: 1.25;
  margin-bottom: 0;
  padding: 1.5rem 0.0625rem 1rem;
  border-bottom: 1px solid #ccc; }
  @media (min-width: 481px) {
    .accordion__group-title {
      padding: 1.5rem 1rem 1rem; } }

.accordion__item {
  padding: 0.0625rem 1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #ccc; }
  @media (min-width: 481px) {
    .accordion__item {
      padding: 0.0625rem 2rem; } }
  .accordion__item + .accordion__item {
    margin-top: 1.5rem; }

.accordion__header {
  padding-top: 1rem;
  padding-bottom: 1rem;
  position: relative;
  display: flex;
  flex-wrap: wrap; }
  .accordion__header > * {
    flex: 1;
    align-self: center; }
  .accordion__header h1,
  .accordion__header h2,
  .accordion__header h3,
  .accordion__header h4,
  .accordion__header h5 {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 0;
    line-height: inherit; }
    .accordion__header h1.icon::before,
    .accordion__header h2.icon::before,
    .accordion__header h3.icon::before,
    .accordion__header h4.icon::before,
    .accordion__header h5.icon::before {
      font-size: 2rem; }
    .accordion__header h1 > img,
    .accordion__header h2 > img,
    .accordion__header h3 > img,
    .accordion__header h4 > img,
    .accordion__header h5 > img {
      height: 2rem !important; }
    .accordion__header h1.icon::before,
    .accordion__header h1 > img,
    .accordion__header h2.icon::before,
    .accordion__header h2 > img,
    .accordion__header h3.icon::before,
    .accordion__header h3 > img,
    .accordion__header h4.icon::before,
    .accordion__header h4 > img,
    .accordion__header h5.icon::before,
    .accordion__header h5 > img {
      margin-right: 1rem; }
  .accordion__header-info {
    flex: 0;
    margin-right: calc(1rem + 20px);
    white-space: nowrap; }
  .accordion__header-arrow {
    position: absolute;
    top: 50%;
    right: 0;
    display: inline-block;
    flex: 0;
    color: #5ab643;
    transform: translate(0%, -50%); }
    .accordion__header-arrow::before {
      display: inline-block;
      font-family: "cs-global-icons";
      font-size: 1.25rem;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      line-height: 1;
      text-decoration: inherit;
      text-transform: none;
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      vertical-align: inherit;
      font-smoothing: antialiased;
      content: "\f105"; }
    .accordion__header-arrow::before {
      transition: transform 0.2s ease;
      transition-delay: .08s; }
      .collapsed .accordion__header-arrow::before {
        transform: rotate(-90deg); }
  .accordion__header-description {
    flex-basis: 100%;
    margin-bottom: 0; }

.accordion__body > *:last-child {
  padding-bottom: 1.5rem; }

.accordion__body.collapse:not(.show) {
  display: none; }

.accordion__body.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.5s ease; }

.accordion__body p:last-child {
  margin-bottom: 0; }

.accordion--group {
  padding-right: 1rem;
  padding-left: 1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid #ccc; }
  .accordion--group .accordion__item {
    padding: 0.0625rem;
    border: none; }
    @media (min-width: 481px) {
      .accordion--group .accordion__item {
        padding: 0.0625rem 1rem; } }
    .accordion--group .accordion__item + .accordion__item {
      margin-top: 0;
      border-top: 1px solid #ccc; }
    .accordion--group .accordion__item, .accordion--group .accordion__item:hover {
      box-shadow: none;
      transition: none; }
  .accordion--group .accordion__header h3, .accordion--group .accordion__header:not(.close) {
    font-weight: normal; }

.dropdown {
  position: relative;
  display: inline-block;
  max-width: 100%; }
  .dropdown--block {
    display: block; }
    .dropdown--block .dropdown__toggle, .dropdown--block .dropdown__menu {
      width: 100%;
      max-width: 100%; }
  .dropdown__toggle {
    position: relative;
    max-width: 16.25rem;
    padding-right: 2.625rem;
    overflow: hidden;
    text-overflow: ellipsis; }
    .dropdown__toggle::after {
      display: inline-block;
      font-family: "cs-global-icons";
      font-size: 0.625rem;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      line-height: 1;
      text-decoration: inherit;
      text-transform: none;
      -moz-osx-font-smoothing: grayscale;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      vertical-align: inherit;
      font-smoothing: antialiased;
      content: "\f10e";
      position: absolute;
      top: calc(50% - 0.3125rem);
      right: 1rem; }
    .dropdown.show .dropdown__toggle {
      z-index: 1002; }
  .dropdown__overlay {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1001;
    background-color: #000;
    opacity: .5; }
    .dropdown.show .dropdown__overlay {
      position: fixed; }
  .dropdown__menu {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s;
    border-radius: 0.25rem;
    position: absolute;
    display: none;
    min-width: 11.375rem;
    max-width: 16.25rem;
    max-height: 15rem;
    padding: 0.5rem 0;
    margin: 0.5rem 0;
    overflow-y: auto;
    color: #000;
    white-space: nowrap;
    background-color: #fff;
    border: 1px solid #efefef; }
    .dropdown__menu:hover {
      box-shadow: 0 2px 32px rgba(0, 0, 0, 0.1); }
    .dropdown__menu.show {
      z-index: 1002;
      display: block; }
  .dropdown__item,
  .dropdown__item > a {
    display: block;
    padding: 0.5rem 1rem;
    overflow: hidden;
    line-height: 1;
    color: #000;
    text-overflow: ellipsis;
    word-wrap: break-word;
    white-space: normal;
    cursor: pointer; }
    .dropdown__item:focus, .dropdown__item:hover,
    .dropdown__item > a:focus,
    .dropdown__item > a:hover {
      color: #000;
      background-color: #efefef;
      outline: none; }
    .dropdown__item.disabled,
    .dropdown__item > a.disabled {
      color: #999;
      cursor: default; }
      .dropdown__item.disabled:hover,
      .dropdown__item > a.disabled:hover {
        background-color: transparent; }
    .dropdown__item.active,
    .dropdown__item > a.active {
      color: #21850f; }
    .dropdown__item label[for],
    .dropdown__item > a label[for] {
      margin-bottom: 0;
      margin-left: 0.5rem; }
  .dropdown__item > a {
    margin-top: -0.5rem;
    margin-right: -1rem;
    margin-bottom: -0.5rem;
    margin-left: -1rem; }
  .dropdown__divider {
    margin: 0.5rem 0;
    border-top: 1px solid #ccc; }
  .dropdown__header {
    font-size: 0.875rem;
    line-height: 1;
    padding: 0.5rem 1rem;
    margin-bottom: 0; }

.form-validated .form-control:invalid {
  border-color: #f25555; }
  .form-validated .form-control:invalid ~ .form-feedback--invalid {
    display: block; }
    .form-validated .form-control:invalid ~ .form-feedback--invalid ~ .form-help {
      display: none; }

.form-validated input[type="checkbox"]:invalid ~ .form-feedback--invalid,
.form-validated input[type="radio"]:invalid ~ .form-feedback--invalid {
  display: block; }
  .form-validated input[type="checkbox"]:invalid ~ .form-feedback--invalid ~ .form-help,
  .form-validated input[type="radio"]:invalid ~ .form-feedback--invalid ~ .form-help {
    display: none; }

.form-validated input[type="checkbox"]:invalid + label[for]::before,
.form-validated input[type="radio"]:invalid + label[for]::before {
  border-color: #f25555; }

.form-group {
  margin-bottom: 1rem; }

.hero {
  padding: 2rem;
  position: relative;
  right: 50%;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 40vh;
  min-height: 18.75rem;
  margin-right: -50vw;
  margin-left: -50vw;
  overflow: hidden;
  transition: width .03s ease, margin-left .03s ease, height .03s ease; }
  .hero::before {
    position: absolute;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.5)); }
  .hero__art {
    position: absolute;
    z-index: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    vertical-align: middle;
    border-style: none; }
  .hero__content {
    z-index: 1;
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    margin-top: calc(2.281rem - 1.5rem); }
    @media (min-width: 768px) {
      .hero__content {
        max-width: 65%; } }
    @media (min-width: 768px) {
      .hero__content {
        margin-top: calc(2.887rem - 1.5rem); } }
  .hero__anchor {
    margin-top: 1.5rem;
    z-index: 1;
    flex: 0 0 auto; }
    .hero__anchor a.link {
      color: #fff;
      border-color: #fff; }
  .hero__actions .btn + .btn {
    margin-left: 1.5rem; }
  .hero--slim {
    height: 30vh;
    min-height: 15.625rem; }
  .hero--top .hero__art {
    object-position: top; }
  .hero--bottom .hero__art {
    object-position: bottom; }

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0; }
  .modal-open {
    overflow: hidden; }
  .modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    content: "";
    background-color: #000; }
    .modal-backdrop.fade {
      opacity: 0; }
    .modal-backdrop.show {
      opacity: 0.5; }
  .modal__dialog {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    height: 100%;
    margin: 0;
    background-color: #fff;
    background-clip: padding-box;
    outline: 0; }
    .fade .modal__dialog {
      transition: transform 0.3s ease-out;
      transform: translate(0, -50px); }
    .show .modal__dialog {
      transform: none; }
    @media (min-width: 481px) {
      .modal__dialog {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
        width: 36rem;
        height: auto;
        margin: 8.75rem auto 0;
        border: 1px solid #ccc;
        border-radius: 0.25rem; } }
    .modal__dialog .close {
      position: absolute;
      top: 1rem;
      right: 1rem;
      z-index: 1050;
      color: inherit; }
  .modal__header {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 2rem 1.5rem 1rem;
    color: #3a3a3a; }
    @media (min-width: 768px) {
      .modal__header {
        border-top-left-radius: 0.25rem;
        border-top-right-radius: 0.25rem; } }
  .modal__title {
    padding-right: 1.5rem;
    margin: 0 auto 0 0;
    color: inherit; }
  .modal__sub-title {
    font-size: 0.8125rem;
    line-height: 1.5;
    flex-basis: 100%;
    margin-bottom: 0.5rem;
    color: inherit; }
  .modal__share {
    position: absolute;
    right: 1.5rem;
    bottom: 1rem;
    padding: 0;
    font-size: 0;
    color: inherit;
    background-color: transparent;
    border: 0; }
    @media (min-width: 481px) {
      .modal__share {
        font-size: 1rem; }
        .modal__share::before {
          margin-right: 0.5rem; } }
  .modal__body {
    position: relative;
    flex: 1;
    padding: 1.5rem;
    overflow-y: auto; }
  .modal__actions {
    padding: 1.5rem;
    font-size: 0; }
    @media (min-width: 481px) {
      .modal__actions {
        text-align: right; } }
  .modal__footer {
    font-size: 0.8125rem;
    line-height: 1.5;
    padding: 1.5rem;
    color: #757575;
    border-top: 1px solid #ccc; }
  .modal--media .modal__dialog {
    color: #fff;
    background-color: #000;
    border: 0; }
    @media (min-width: 481px) {
      .modal--media .modal__dialog {
        width: 50%; } }
    @media (orientation: landscape) and (max-width: 969px) {
      .modal--media .modal__dialog {
        justify-content: center;
        width: 100%;
        height: 100%;
        margin: 0; } }
    @media (min-width: 970px) {
      .modal--media .modal__dialog {
        width: 83%;
        max-width: 1042px; } }
  .modal--media .modal__header {
    color: #fff; }
    @media (orientation: landscape) and (max-width: 969px) {
      .modal--media .modal__header {
        display: none; } }
  .modal--media .modal__sub-title {
    font-size: 0.8125rem;
    line-height: 1.5;
    flex-basis: 100%;
    margin-bottom: 0.5rem;
    color: inherit; }
  .modal--media .modal__body {
    display: flex;
    flex-flow: column;
    align-content: flex-start;
    justify-content: center;
    padding: 0;
    overflow-x: hidden; }
    @media (min-width: 481px) {
      .modal--media .modal__body {
        flex: unset;
        flex-flow: row wrap;
        margin-bottom: 1.5rem; } }
    @media (orientation: landscape) and (max-width: 969px) {
      .modal--media .modal__body {
        margin-top: 1.5rem; } }
    @media (min-width: 970px), (orientation: landscape) and (max-width: 969px) {
      .modal--media .modal__body {
        flex-wrap: nowrap; } }
  .modal--media .modal__media {
    flex: 1; }
    @media (min-width: 481px) {
      .modal--media .modal__media {
        flex: 0 0 100%;
        max-width: 100%; } }
    @media (min-width: 970px), (orientation: landscape) and (max-width: 969px) {
      .modal--media .modal__media {
        flex: 0 0 70%;
        max-width: 70%;
        height: 100%; } }
  .modal--media .modal__media-info {
    position: relative;
    display: flex;
    flex: 3;
    flex-wrap: wrap;
    align-content: space-between;
    padding: 2rem 0 1.5rem;
    font-size: 14px;
    color: #3a3a3a;
    background-color: #fff; }
    @media (min-width: 481px) {
      .modal--media .modal__media-info {
        flex: 0 0 100%; } }
    @media (orientation: landscape) and (max-width: 969px) {
      .modal--media .modal__media-info {
        display: none; } }
    @media (min-width: 970px), (orientation: landscape) and (max-width: 969px) {
      .modal--media .modal__media-info {
        flex: 0 0 30%; } }
    .modal--media .modal__media-info.scroll-box .modal__media-info-text {
      overflow-y: scroll; }
    .modal--media .modal__media-info.scroll-box .modal__media-info-action {
      position: relative;
      border-top: 1px solid #ccc; }
      .modal--media .modal__media-info.scroll-box .modal__media-info-action::before {
        position: absolute;
        top: -25px;
        right: 1.5rem;
        left: 1.5rem;
        height: 24px;
        content: "";
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0.2), #fff); }
  .modal--media .modal__media-info-text {
    padding: 0 1.5rem 1.5rem;
    line-height: 1.4; }
  .modal--media .modal__media-info-action {
    flex: 1;
    padding: 1.5rem 1.5rem 0; }
    @media (min-width: 768px) {
      .modal--media .modal__media-info-action > .btn {
        max-width: 300px;
        margin: 0 auto; } }
    @media (min-width: 970px) {
      .modal--media .modal__media-info-action > .btn {
        max-width: unset; } }
  .modal--dark .modal__header {
    color: #fff;
    background-color: #3a3a3a; }
  @media (min-width: 768px) {
    .modal--full .modal__dialog {
      box-shadow: none;
      width: 100%;
      height: 100%;
      margin: 0;
      border: none;
      border-radius: 0; } }
  @media (min-width: 768px) {
    .modal--full .modal__header {
      border-radius: 0; } }

.notification {
  font-size: 0.875rem;
  line-height: 1;
  position: relative;
  display: flex;
  align-items: center;
  padding: 1rem;
  border: 1px solid;
  border-radius: 0.25rem; }
  .notification {
    transition: opacity 150ms linear; }
    .notification.fade {
      opacity: 0; }
  .notification::before {
    margin-right: 0.5rem;
    font-family: cs-global-icons, sans-serif;
    font-size: 1.25rem; }
  .notification .link {
    margin-bottom: -0.125rem; }
  .notification__close {
    position: absolute;
    right: 1rem;
    color: inherit; }
  .notification--success {
    color: #005700;
    background-color: #f8fff0;
    border-color: #5ab643; }
    .notification--success::before {
      content: "\f123"; }
  .notification--error {
    color: #8c0b0b;
    background-color: #fef5f1;
    border-color: #f25555; }
    .notification--error::before {
      content: "\f121"; }
  .notification--alert {
    color: #633e00;
    background-color: #fffde6;
    border-color: #f5ab23; }
    .notification--alert::before {
      content: "\f103"; }
  .notification--info {
    color: #3a3a3a;
    background-color: #efefef;
    border-color: #999; }
    .notification--info::before {
      content: "\f132"; }
  .notification--no-icon::before {
    content: unset; }

.pagination {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none; }
  .pagination--centered {
    justify-content: center; }
  .pagination__item {
    display: flex;
    width: 2rem;
    height: 2rem;
    margin-right: 0.5rem;
    cursor: default; }
    .pagination__item.small-hidden {
      display: none; }
    .pagination__item > [class^="pagination__"] {
      display: flex;
      flex: auto;
      align-items: center;
      justify-content: center; }
    @media (min-width: 768px) {
      .pagination__item.small-hidden {
        display: flex; }
      .pagination__item.large-hidden {
        display: none; } }
  @media (min-width: 768px) {
    .pagination__link {
      border-radius: 50%; }
      .pagination__link.active {
        background-color: #ccc; }
      .pagination__link:not(.active):focus, .pagination__link:not(.active):active, .pagination__link:not(.active):hover {
        color: #fff;
        background-color: #21850f; } }
  .pagination__previous:focus, .pagination__previous:active, .pagination__previous:hover {
    color: #21850f; }
  .pagination__previous::after {
    font-family: "cs-global-icons";
    content: "\f107"; }
  .pagination__next:focus, .pagination__next:active, .pagination__next:hover {
    color: #21850f; }
  .pagination__next::after {
    font-family: "cs-global-icons";
    content: "\f109"; }
  .pagination__ellipsis::after {
    content: "of"; }
  @media (min-width: 768px) {
    .pagination__ellipsis::after {
      content: "..."; } }

.slider {
  position: relative;
  width: 100%;
  box-sizing: border-box; }
  .slider * {
    box-sizing: inherit; }
  .slider__track {
    overflow: hidden; }
  .slider__slides {
    position: relative;
    width: 100%;
    list-style: none;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    touch-action: pan-Y;
    overflow: hidden;
    padding: 0;
    white-space: nowrap;
    display: flex;
    flex-wrap: nowrap;
    will-change: transform; }
    .slider__slides--dragging {
      user-select: none; }
  .slider__slide {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    white-space: normal;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent; }
    .slider__slide a {
      user-select: none;
      -webkit-user-drag: none;
      -moz-user-select: none;
      -ms-user-select: none; }
  .slider__arrows {
    -webkit-touch-callout: none;
    user-select: none; }
  .slider__bullets {
    -webkit-touch-callout: none;
    user-select: none; }
  .slider--rtl {
    direction: rtl; }

.slider--peeking {
  width: 90%; }
  .slider--peeking .slider__track, .slider--peeking .slider__arrows, .slider--peeking .slider__bullets {
    width: 111%; }
  .slider--peeking .slider__track::after {
    position: absolute;
    top: -1.5rem;
    right: -11%;
    bottom: -1.5rem;
    width: 5px;
    content: "";
    background-image: radial-gradient(at 100% 50%, rgba(0, 0, 0, 0.5) 0%, transparent 75%);
    border-right: 1px solid rgba(255, 255, 255, 0.2); }

.slider--lazy:not(.glide--carousel):not(.glide--slider) .slider__track {
  position: relative; }

.slider--lazy:not(.glide--carousel):not(.glide--slider) .slider__slides {
  display: none; }

.slider__slides {
  margin: 0; }

.slider__arrows {
  position: absolute;
  top: 50%;
  width: 100%;
  margin-top: -12px; }

.slider__arrow {
  cursor: pointer;
  background-color: transparent;
  border: 0; }
  .slider__arrow--left {
    position: absolute;
    left: -28px; }
  .slider__arrow--right {
    position: absolute;
    right: -28px; }

.slider__bullets {
  text-align: center; }

.slider__bullet {
  width: 11px;
  height: 11px;
  padding: 0;
  cursor: pointer;
  background-color: #ccc;
  border: 0;
  border-radius: 50%; }
  .slider__bullet:hover, .slider__bullet--active {
    background-color: #3a3a3a; }
  .slider__bullet + .slider__bullet {
    margin-left: 1rem; }

.social-share {
  display: inline-block;
  padding: 1rem; }
  .social-share__label {
    display: inline-block;
    margin: 0;
    text-transform: uppercase; }
  .social-share__icon-link {
    margin-left: 2rem;
    cursor: pointer; }
    .social-share__icon-link.icon-facebook {
      color: #435daa; }
    .social-share__icon-link.icon-twitter {
      color: #1da1f2; }
    .social-share__icon-link.icon-pinterest {
      color: #bd081c; }
    .social-share__icon-link.icon-email {
      color: #52c0c4; }
    .social-share__icon-link.icon-printer-solid {
      color: #757575; }
    .social-share__icon-link.icon-more-outline {
      color: #3a3a3a; }
    .social-share__icon-link:hover {
      color: #3a3a3a; }
  .social-share__box {
    line-height: 1;
    text-align: left; }
    .social-share__box-divider {
      padding-bottom: 0.5rem;
      margin-bottom: 0.5rem;
      border-bottom: 1px solid #ccc; }
    .social-share__box .social-share__icon-link {
      margin: 0 1rem 0 0; }

.sticky-share {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: box-shadow 0.2s;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: none;
  width: 100%;
  background-color: #fff; }
  .sticky-share:hover {
    box-shadow: 0 2px 32px rgba(0, 0, 0, 0.1); }
  .sticky-share--loaded {
    display: block; }
  .sticky-share--center {
    text-align: center; }

.tab {
  border: 1px solid #ccc;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
  .tab__nav {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    list-style: none;
    border-bottom: 1px solid #ccc; }
  .tab__item:not(.dropdown__item):not(.dropper__item) {
    flex: 1 0 auto;
    border-left: 1px solid #ccc; }
    .tab__item:not(.dropdown__item):not(.dropper__item):first-child {
      margin-left: -1px; }
    .tab__item:not(.dropdown__item):not(.dropper__item) > a {
      display: block;
      padding: 1rem;
      font-size: 0.889rem;
      line-height: 1.5;
      font-weight: bold;
      text-align: center;
      text-transform: uppercase; }
      .tab__item:not(.dropdown__item):not(.dropper__item) > a:focus, .tab__item:not(.dropdown__item):not(.dropper__item) > a:hover {
        color: #21850f; }
      .tab__item:not(.dropdown__item):not(.dropper__item) > a.active {
        position: relative; }
        .tab__item:not(.dropdown__item):not(.dropper__item) > a.active::after {
          position: absolute;
          right: 0;
          bottom: 0;
          left: 0;
          display: block;
          height: 4px;
          content: "";
          background-color: #5ab643; }
      .tab__item:not(.dropdown__item):not(.dropper__item) > a.disabled {
        color: #757575; }
  .tab__item.dropdown > [data-toggle="dropdown"]::after,
  .tab__item.dropdown > a::after, .tab__item.dropper > [data-toggle="dropdown"]::after,
  .tab__item.dropper > a::after {
    display: inline-block;
    font-family: "cs-global-icons";
    font-size: 0.625rem;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    line-height: 1;
    text-decoration: inherit;
    text-transform: none;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    vertical-align: inherit;
    font-smoothing: antialiased;
    content: "\f10e";
    padding-left: 0.5rem; }
  .tab__item.dropdown .dropdown__menu a,
  .tab__item.dropdown .dropper__menu a, .tab__item.dropper .dropdown__menu a,
  .tab__item.dropper .dropper__menu a {
    font-size: 0.889rem;
    line-height: 1.5;
    font-weight: bold;
    text-transform: uppercase; }
  .tab__content {
    position: relative;
    z-index: 0;
    padding: 1.5rem 1rem; }
    @media (min-width: 481px) {
      .tab__content {
        padding: 1.5rem 2rem; } }
  .tab__pane {
    transition: opacity 150ms linear; }
    .tab__pane.fade {
      opacity: 0; }
  .tab__pane:not(.active) {
    display: none; }
  .tab__pane p:last-child {
    margin-bottom: 0; }
  .tab--floating {
    border: none; }
    .tab--floating, .tab--floating:hover {
      box-shadow: none; }
    .tab--floating .tab__nav {
      border-bottom: none; }
    .tab--floating .tab__item:not(.dropdown__item):not(.dropper__item) {
      flex: 0 0 auto;
      border-left: none; }
      .tab--floating .tab__item:not(.dropdown__item):not(.dropper__item):first-child {
        margin-left: 0; }
    .tab--floating .tab__content::after {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: -1;
      display: block;
      content: "";
      background-color: #fff;
      border: 1px solid #ccc;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
  .tab--raised .tab__content {
    margin-bottom: 6.25rem; }
    .tab--raised .tab__content::before {
      position: absolute;
      top: 0;
      bottom: -6.25rem;
      left: 50%;
      z-index: -1;
      display: block;
      width: 100vw;
      margin-left: -50vw;
      content: "";
      background-color: #efefef; }

.tooltip {
  transition: opacity 150ms linear;
  border-radius: 0.2rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1070;
  display: block;
  max-width: 18rem;
  padding: 1rem;
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  opacity: 0;
  /* Tooltip text */
  /* Modifiers */ }
  .tooltip[aria-hidden="false"] {
    opacity: 1; }
  .tooltip[x-placement^="top"] {
    margin-bottom: 6px; }
  .tooltip[x-placement^="right"] {
    margin-left: 6px; }
  .tooltip[x-placement^="bottom"] {
    margin-top: 6px; }
  .tooltip[x-placement^="left"] {
    margin-right: 6px; }
  .tooltip__inner {
    font-size: 0.889rem;
    line-height: 1.5;
    color: #000;
    text-align: center;
    word-wrap: break-word; }
  .tooltip__arrow {
    margin: 6px;
    border-color: #ccc; }
    .tooltip__arrow, .tooltip__arrow::after {
      position: absolute;
      width: 0;
      height: 0;
      border-style: solid; }
    .tooltip__arrow::after {
      content: "";
      border-color: #fff; }
    .tooltip[x-placement^="top"] .tooltip__arrow {
      bottom: -6px;
      left: calc(50% - 6px);
      margin-top: 0;
      margin-bottom: 0;
      border-width: 6px 6px 0 6px; }
      .tooltip[x-placement^="top"] .tooltip__arrow, .tooltip[x-placement^="top"] .tooltip__arrow::after {
        border-right-color: transparent;
        border-bottom-color: transparent;
        border-left-color: transparent; }
      .tooltip[x-placement^="top"] .tooltip__arrow::after {
        top: -6px;
        left: -5px;
        border-width: 5px 5px 0 5px; }
    .tooltip[x-placement^="right"] .tooltip__arrow {
      top: calc(50% - 6px);
      left: -6px;
      margin-right: 0;
      margin-left: 0;
      border-width: 6px 6px 6px 0; }
      .tooltip[x-placement^="right"] .tooltip__arrow, .tooltip[x-placement^="right"] .tooltip__arrow::after {
        border-top-color: transparent;
        border-bottom-color: transparent;
        border-left-color: transparent; }
      .tooltip[x-placement^="right"] .tooltip__arrow::after {
        top: -5px;
        left: 1px;
        border-width: 5px 5px 5px 0; }
    .tooltip[x-placement^="bottom"] .tooltip__arrow {
      top: -6px;
      left: calc(50% - 6px);
      margin-top: 0;
      margin-bottom: 0;
      border-width: 0 6px 6px 6px; }
      .tooltip[x-placement^="bottom"] .tooltip__arrow, .tooltip[x-placement^="bottom"] .tooltip__arrow::after {
        border-top-color: transparent;
        border-right-color: transparent;
        border-left-color: transparent; }
      .tooltip[x-placement^="bottom"] .tooltip__arrow::after {
        top: 1px;
        left: -5px;
        border-width: 0 5px 5px 5px; }
    .tooltip[x-placement^="left"] .tooltip__arrow {
      top: calc(50% - 6px);
      right: -6px;
      margin-right: 0;
      margin-left: 0;
      border-width: 6px 0 6px 6px; }
      .tooltip[x-placement^="left"] .tooltip__arrow, .tooltip[x-placement^="left"] .tooltip__arrow::after {
        border-top-color: transparent;
        border-right-color: transparent;
        border-bottom-color: transparent; }
      .tooltip[x-placement^="left"] .tooltip__arrow::after {
        top: -5px;
        left: -6px;
        border-width: 5px 0 5px 5px; }
  .tooltip--dark {
    background-color: #000;
    border: 1px solid #000; }
    .tooltip--dark .tooltip__inner {
      color: #fff; }
    .tooltip--dark .tooltip__arrow {
      border-color: #000; }
      .tooltip--dark .tooltip__arrow::after {
        border-color: #000; }

.user-summary {
  display: flex;
  flex-flow: row wrap; }
  .user-summary + .user-summary {
    margin-top: 1rem; }
  .user-summary__avatar {
    flex: 0 1 auto;
    margin-right: 0.5rem; }
  .user-summary__body {
    font-size: 0.8125rem;
    line-height: 1.35;
    flex: 1 1 0;
    max-width: 15rem; }
  .user-summary__name {
    font-size: 0.875rem;
    line-height: 1.5;
    display: block;
    font-weight: bold; }
    .user-summary__name a {
      padding-bottom: 0.125rem;
      font-size: inherit;
      color: #3a3a3a;
      text-decoration: none;
      border-bottom: 1px dotted #535353;
      border-bottom-color: transparent; }
      .user-summary__name a:active, .user-summary__name a:hover {
        color: #423fe1;
        text-decoration: none;
        cursor: pointer;
        border-bottom: 1px dotted #423fe1; }
      .user-summary__name a:focus {
        border-color: transparent;
        outline: 1px dotted;
        outline-color: #423fe1;
        outline-offset: 0; }
  .user-summary__title {
    display: block;
    font-weight: bold;
    color: #999; }
  .user-summary__info {
    display: inline;
    color: #999; }
  .user-summary--full .user-summary__avatar {
    width: 4rem;
    height: 4rem;
    margin-right: 1rem; }

.row {
  display: flex;
  flex-flow: row wrap; }

.row--margin {
  margin-right: 0.5rem;
  margin-left: 0.5rem; }
  @media (min-width: 481px) {
    .row--margin {
      margin-right: 0.75rem;
      margin-left: 0.75rem; } }
  @media (min-width: 970px) {
    .row--margin {
      margin-right: 1rem;
      margin-left: 1rem; } }

.row--no-gutters > .col {
  padding-right: 0;
  padding-left: 0; }

.row--align-left {
  justify-content: flex-start; }

.row--align-center {
  justify-content: center; }

.row--align-right {
  justify-content: flex-end; }

.col {
  padding-right: 0.5rem;
  padding-left: 0.5rem; }

.col {
  flex: 1 1 0; }

.col-1 {
  flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.col-2 {
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.col-3 {
  flex: 0 0 25%;
  max-width: 25%; }

.col-4 {
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.col-5 {
  flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.col-6 {
  flex: 0 0 50%;
  max-width: 50%; }

.col-7 {
  flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.col-8 {
  flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.col-9 {
  flex: 0 0 75%;
  max-width: 75%; }

.col-10 {
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.col-11 {
  flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.col-12 {
  flex: 0 0 100%;
  max-width: 100%; }

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 481px) {
  .col-sm {
    flex: 1 1 0; }
  .col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .col-offset-sm-1 {
    margin-left: 8.33333%; }
  .col-offset-sm-2 {
    margin-left: 16.66667%; }
  .col-offset-sm-3 {
    margin-left: 25%; }
  .col-offset-sm-4 {
    margin-left: 33.33333%; }
  .col-offset-sm-5 {
    margin-left: 41.66667%; }
  .col-offset-sm-6 {
    margin-left: 50%; }
  .col-offset-sm-7 {
    margin-left: 58.33333%; }
  .col-offset-sm-8 {
    margin-left: 66.66667%; }
  .col-offset-sm-9 {
    margin-left: 75%; }
  .col-offset-sm-10 {
    margin-left: 83.33333%; }
  .col-offset-sm-11 {
    margin-left: 91.66667%; } }

@media (min-width: 768px) {
  .col {
    padding-right: 0.75rem;
    padding-left: 0.75rem; }
  .col-md {
    flex: 1 1 0; }
  .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .col-offset-md-1 {
    margin-left: 8.33333%; }
  .col-offset-md-2 {
    margin-left: 16.66667%; }
  .col-offset-md-3 {
    margin-left: 25%; }
  .col-offset-md-4 {
    margin-left: 33.33333%; }
  .col-offset-md-5 {
    margin-left: 41.66667%; }
  .col-offset-md-6 {
    margin-left: 50%; }
  .col-offset-md-7 {
    margin-left: 58.33333%; }
  .col-offset-md-8 {
    margin-left: 66.66667%; }
  .col-offset-md-9 {
    margin-left: 75%; }
  .col-offset-md-10 {
    margin-left: 83.33333%; }
  .col-offset-md-11 {
    margin-left: 91.66667%; } }

@media (min-width: 970px) {
  .col-lg {
    flex: 1 1 0; }
  .col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .col-offset-lg-1 {
    margin-left: 8.33333%; }
  .col-offset-lg-2 {
    margin-left: 16.66667%; }
  .col-offset-lg-3 {
    margin-left: 25%; }
  .col-offset-lg-4 {
    margin-left: 33.33333%; }
  .col-offset-lg-5 {
    margin-left: 41.66667%; }
  .col-offset-lg-6 {
    margin-left: 50%; }
  .col-offset-lg-7 {
    margin-left: 58.33333%; }
  .col-offset-lg-8 {
    margin-left: 66.66667%; }
  .col-offset-lg-9 {
    margin-left: 75%; }
  .col-offset-lg-10 {
    margin-left: 83.33333%; }
  .col-offset-lg-11 {
    margin-left: 91.66667%; } }

@media (min-width: 1200px) {
  .col-xl {
    flex: 1 1 0; }
  .col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .col-offset-xl-1 {
    margin-left: 8.33333%; }
  .col-offset-xl-2 {
    margin-left: 16.66667%; }
  .col-offset-xl-3 {
    margin-left: 25%; }
  .col-offset-xl-4 {
    margin-left: 33.33333%; }
  .col-offset-xl-5 {
    margin-left: 41.66667%; }
  .col-offset-xl-6 {
    margin-left: 50%; }
  .col-offset-xl-7 {
    margin-left: 58.33333%; }
  .col-offset-xl-8 {
    margin-left: 66.66667%; }
  .col-offset-xl-9 {
    margin-left: 75%; }
  .col-offset-xl-10 {
    margin-left: 83.33333%; }
  .col-offset-xl-11 {
    margin-left: 91.66667%; } }

@media (max-width: 969px) {
  .cs-break--md::before {
    display: block;
    clear: both;
    content: " "; } }

.link--none {
  border: 0; }
  .link--none:hover, .link--none:active, .link--none:visited {
    border: 0; }

.cs-dp-header {
  margin-top: 2rem;
  padding-bottom: 2rem;
  border-bottom: solid 1px #979797; }
  .cs-dp-header .logo {
    max-width: 100%;
    width: 420px;
    height: auto; }

.cs-dp-banner .flag {
  float: right;
  width: 174px;
  height: 123px; }

.cs-dp-games {
  margin-bottom: 1.5rem; }
  .cs-dp-games .game {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
    display: inline-block; }
    .cs-dp-games .game:hover {
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.9);
      transition-property: box-shadow;
      transition-duration: 0.25s; }
  .cs-dp-games .cs-dp-cta-bottom-btn {
    display: inline-block; }

#gameContainer {
  margin: 0 auto !important; }

.cs-dp-cta-bottom {
  text-align: center;
  margin-bottom: 4rem; }
  .cs-dp-cta-bottom .inner {
    width: 698px;
    max-width: 100%;
    margin: 0 auto; }
    .cs-dp-cta-bottom .inner p {
      margin-bottom: 1rem; }
  .cs-dp-cta-bottom .cs-dp-cta-bottom-btn {
    display: inline-block;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    padding: 0.5rem 1rem;
    border-style: solid;
    border-width: 0.0625rem;
    font-size: 1rem;
    line-height: 1.125;
    border-radius: 2.125rem;
    color: #3a3a3a;
    background-color: #efefef;
    border-color: #ccc;
    transition: all 0.125s ease-in-out;
    color: #fff;
    background-color: #21850f;
    border-color: #21850f; }
    .cs-dp-cta-bottom .cs-dp-cta-bottom-btn:hover {
      color: #3a3a3a;
      background-color: #ccc;
      border-color: #ccc; }
    .cs-dp-cta-bottom .cs-dp-cta-bottom-btn:active, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn.active,
    .open > .cs-dp-cta-bottom .cs-dp-cta-bottom-btn.dropdown-toggle {
      color: #3a3a3a;
      background-color: #ccc;
      border-color: #ccc; }
    .cs-dp-cta-bottom .cs-dp-cta-bottom-btn.disabled, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn:disabled, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn[disabled] {
      pointer-events: none;
      cursor: default;
      opacity: .6; }
      .cs-dp-cta-bottom .cs-dp-cta-bottom-btn.disabled:focus, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn.disabled:hover, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn:disabled:focus, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn:disabled:hover, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn[disabled]:focus, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn[disabled]:hover {
        color: #3a3a3a;
        background-color: #efefef;
        border-color: #ccc; }
    .cs-dp-cta-bottom .cs-dp-cta-bottom-btn:focus, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn:hover {
      text-decoration: none; }
    .cs-dp-cta-bottom .cs-dp-cta-bottom-btn:active, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn.active {
      outline: 0; }
    .cs-dp-cta-bottom .cs-dp-cta-bottom-btn.focus, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn:focus {
      box-shadow: 0 0 0 1px #52c0c4, 0 0 0 4px rgba(82, 192, 196, 0.3);
      border: 1px solid #52c0c4;
      outline: none; }
    .cs-dp-cta-bottom .cs-dp-cta-bottom-btn[class*="icon-"] {
      display: inline-flex;
      align-items: center;
      justify-content: center; }
    .cs-dp-cta-bottom .cs-dp-cta-bottom-btn[class*="icon-"]::before, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn[class*="icon-"]::after, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn[data-icon] {
      padding-right: 0.25rem;
      font-size: 1.5rem;
      line-height: 1;
      height: 1.5rem;
      margin-top: -1.5rem;
      transform: translateY(50%); }
    .cs-dp-cta-bottom .cs-dp-cta-bottom-btn[data-icon] {
      vertical-align: super; }
    .cs-dp-cta-bottom .cs-dp-cta-bottom-btn + .cs-dp-cta-bottom-btn {
      margin-left: 1rem; }
    .cs-dp-cta-bottom .cs-dp-cta-bottom-btn:hover {
      color: #fff;
      background-color: #005700;
      border-color: #005700; }
    .cs-dp-cta-bottom .cs-dp-cta-bottom-btn:active, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn.active,
    .open > .cs-dp-cta-bottom .cs-dp-cta-bottom-btn.dropdown-toggle {
      color: #fff;
      background-color: #005700;
      border-color: #005700; }
    .cs-dp-cta-bottom .cs-dp-cta-bottom-btn.disabled, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn:disabled, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn[disabled] {
      pointer-events: none;
      cursor: default;
      opacity: .6; }
      .cs-dp-cta-bottom .cs-dp-cta-bottom-btn.disabled:focus, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn.disabled:hover, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn:disabled:focus, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn:disabled:hover, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn[disabled]:focus, .cs-dp-cta-bottom .cs-dp-cta-bottom-btn[disabled]:hover {
        color: #fff;
        background-color: #21850f;
        border-color: #21850f; }

.content {
  padding-top: 70px;
  padding-bottom: 15px; }

.cs-dp-footer {
  border-top: 3px solid #CCCCCC; }
  .cs-dp-footer .mission {
    padding-top: 3rem;
    padding-bottom: 3rem; }
    .cs-dp-footer .mission .mission-inner {
      justify-content: center; }
      .cs-dp-footer .mission .mission-inner .col {
        padding: 0; }
    @media (min-width: 970px) {
      .cs-dp-footer .mission .logo {
        margin-right: 2rem;
        max-width: 120px; } }
    .cs-dp-footer .mission .logo img {
      width: 125px;
      margin-bottom: 1rem; }
    .cs-dp-footer .mission .statement {
      font-size: 1rem;
      color: #9B9B9B; }
    @media (min-width: 970px) {
      .cs-dp-footer .mission .statement {
        max-width: 722px; } }
  .cs-dp-footer .bottom {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
    border-top: 3px solid #CCCCCC;
    background-color: #E6E7E3; }
    .cs-dp-footer .bottom small {
      font-size: 11px; }
    .cs-dp-footer .bottom .rights::before {
      display: block;
      margin-top: 15px;
      content: ' '; }
      @media (min-width: 970px) {
        .cs-dp-footer .bottom .rights::before {
          display: none;
          margin-top: 1rem; } }
    .cs-dp-footer .bottom .copyright {
      margin-top: 15px;
      font-size: 11px;
      margin-top: 1rem; }
      @media (min-width: 970px) {
        .cs-dp-footer .bottom .copyright {
          margin-top: 2rem; } }
    .cs-dp-footer .bottom .footer__terms-of-use::before {
      content: ' ';
      display: table; }
    @media (min-width: 970px) {
      .cs-dp-footer .bottom .footer__terms-of-use {
        margin-left: 1.5rem; }
        .cs-dp-footer .bottom .footer__terms-of-use::before {
          content: '';
          display: none; } }
    .cs-dp-footer .bottom .footer__cookie-settings::before {
      content: ' ';
      display: table; }
    @media (min-width: 970px) {
      .cs-dp-footer .bottom .footer__cookie-settings {
        margin-left: 1.5rem; }
        .cs-dp-footer .bottom .footer__cookie-settings::before {
          content: '';
          display: none; } }

.cs-dp-content {
  background-color: #f2f2f2; }
  .cs-dp-content .digital-passport-top {
    margin-bottom: 3rem; }
    .cs-dp-content .digital-passport-top h1 {
      margin-bottom: 0;
      font-weight: bold; }
    .cs-dp-content .digital-passport-top p {
      font-size: 20px; }
  .cs-dp-content .cs-dp-row--game-gutters {
    display: flex;
    flex-wrap: wrap;
    margin-right: -0.5rem;
    margin-left: -0.5rem; }
    @media (min-width: 481px) {
      .cs-dp-content .cs-dp-row--game-gutters {
        margin-right: -0.5rem;
        margin-left: -0.5rem; } }
    @media (min-width: 768px) {
      .cs-dp-content .cs-dp-row--game-gutters {
        margin-right: -0.5rem;
        margin-left: -0.5rem; } }
    @media (min-width: 970px) {
      .cs-dp-content .cs-dp-row--game-gutters {
        margin-right: -0.5rem;
        margin-left: -0.5rem; } }
    @media (min-width: 1200px) {
      .cs-dp-content .cs-dp-row--game-gutters {
        margin-right: -0.5rem;
        margin-left: -0.5rem; } }
    .cs-dp-content .cs-dp-row--game-gutters img {
      width: 100%; }
  .cs-dp-content .col--game {
    margin-bottom: 1rem; }
    .cs-dp-content .col--game img {
      max-width: 100%; }

.gate-page .content {
  max-width: 555px;
  margin: 0 auto;
  padding-top: 3rem;
  padding-bottom: 3rem; }
  @media (min-width: 970px) {
    .gate-page .content {
      padding-top: 80px;
      padding-bottom: 100px; } }
  .gate-page .content .pre-title {
    font-size: 1.266rem;
    line-height: 1.5; }
  .gate-page .content .no-margin--bottom {
    margin-bottom: 0; }
  .gate-page .content .disclaimer p {
    margin-bottom: 0; }
  .gate-page .content .info-list {
    margin-bottom: 35px; }
  .gate-page .content .choices {
    margin-bottom: 24px; }
    .gate-page .content .choices .first {
      margin-bottom: 0.5rem; }
      @media (min-width: 768px) {
        .gate-page .content .choices .first {
          margin-bottom: 0; } }
    .gate-page .content .choices .cse-btn {
      border-color: #999; }
      .gate-page .content .choices .cse-btn.active {
        border-color: #5ab643;
        border-width: 2.5px; }
        .gate-page .content .choices .cse-btn.active .text {
          margin-right: auto; }
        .gate-page .content .choices .cse-btn.active::before {
          margin-right: auto;
          color: #5ab643; }
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvdXRpbGl0aWVzL19ub3JtYWxpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9mdW5jdGlvbnMvX3VuaXRfdG8uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy91dGlsaXRpZXMvX3JlYm9vdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3NldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3NldHRpbmdzL19jb2xvcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9zZXR0aW5ncy9fbGlua3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbWl4aW5zL19mb250U2l6ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3V0aWxpdGllcy9fZm9udHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy91dGlsaXRpZXMvYmFja2dyb3VuZHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9taXhpbnMvX2JhY2tncm91bmRWYXJpYW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbWl4aW5zL19ncmFkaWVudFRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1pY29ucy9zcmMvc2Nzcy9fbWl4aW5zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3MtaWNvbnMvc3JjL3Njc3MvZ2xvYmFsL19nbG9iYWwubWl4aW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1pY29ucy9zcmMvc2Nzcy9nbG9iYWwvZ2xvYmFsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3MtaWNvbnMvc3JjL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3V0aWxpdGllcy9zaGFkb3dzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbWl4aW5zL19ib3hTaGFkb3cuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9zZXR0aW5ncy9fc2hhZG93cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3NldHRpbmdzL19mb2N1cy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL21peGlucy9fc3BhY2luZy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3V0aWxpdGllcy90eXBvZ3JhcGh5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvZnVuY3Rpb25zL19tb2R1bGFyc2NhbGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9taXhpbnMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9hdG9tcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9zZXR0aW5ncy9fZm9ybXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3Mvc2V0dGluZ3MvX2dsb2JhbHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9taXhpbnMvX2JvcmRlclJhZGl1cy5zY3NzIiwiLi4vc2Fzcy9zdHlsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9taXhpbnMvX3RhYkZvY3VzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvYXRvbXMvbWl4aW5zL19jbG9zZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3NldHRpbmdzL19pY29ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL2F0b21zL21peGlucy9fZGl2aWRlcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9hdG9tcy9taXhpbnMvX2Zvcm1Db250cm9sLm1peGluLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvZnVuY3Rpb25zL19zZWxlY3RvcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9hdG9tcy9taXhpbnMvX2Zvcm1Db250cm9sQ2hlY2tib3gubWl4aW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9hdG9tcy9taXhpbnMvX2Zvcm1Db250cm9sUmFkaW8ubWl4aW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9hdG9tcy9taXhpbnMvX2Zvcm1IZWxwZXIubWl4aW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9hdG9tcy9taXhpbnMvX2hlYWRpbmdzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvYXRvbXMvbWl4aW5zL19pbmxpbmVUZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvYXRvbXMvbWl4aW5zL19saW5rcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL2F0b21zL2xpc3RzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvYXRvbXMvbWl4aW5zL19sb2FkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9zZXR0aW5ncy9femluZGV4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvYXRvbXMvbWl4aW5zL19hdmF0YXJzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvYXRvbXMvbWl4aW5zL190YWdzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbW9sZWN1bGVzL21peGlucy9fYWNjb3JkaW9ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL21vbGVjdWxlcy9taXhpbnMvX2Ryb3Bkb3ducy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL21vbGVjdWxlcy9taXhpbnMvX2Zvcm0ubWl4aW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9tb2xlY3VsZXMvbWl4aW5zL19oZXJvZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9tb2xlY3VsZXMvbWl4aW5zL19tb2RhbHMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9tb2xlY3VsZXMvbWl4aW5zL19ub3RpZmljYXRpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbW9sZWN1bGVzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL0BnbGlkZWpzL2dsaWRlL3NyYy9hc3NldHMvc2Fzcy9nbGlkZS5jb3JlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbW9sZWN1bGVzL21peGlucy9fc2xpZGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvY3Mtc3R5bGVraXQvc3JjL3Njc3MvbW9sZWN1bGVzL21peGlucy9fc29jaWFsU2hhcmUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9tb2xlY3VsZXMvbWl4aW5zL19zdGlja3lTaGFyZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL21vbGVjdWxlcy9taXhpbnMvX3RhYnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9tb2xlY3VsZXMvbWl4aW5zL190b29sdGlwcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL3NldHRpbmdzL190b29sdGlwcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2NzLXN0eWxla2l0L3NyYy9zY3NzL21vbGVjdWxlcy9taXhpbnMvX3VzZXJTdW1tYXJpZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jcy1zdHlsZWtpdC9zcmMvc2Nzcy9sYXlvdXRzL19mbGV4R3JpZC5taXhpbi5zY3NzIiwiLi4vc2Fzcy9zZXR0aW5ncy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vc2Fzcy9zZXR0aW5ncy9fdHlwb2dyYXBoeS5taXhpbnMuc2NzcyIsIi4uL3Nhc3MvYXRvbXMvX2xpbmtzLnNjc3MiLCIuLi9zYXNzL21vbGVjdWxlcy9faGVhZGVyLnNjc3MiLCIuLi9zYXNzL21vbGVjdWxlcy9fYmFubmVyLnNjc3MiLCIuLi9zYXNzL21vbGVjdWxlcy9fZ2FtZXMuc2NzcyIsIi4uL3Nhc3MvbW9sZWN1bGVzL19jdGEuc2NzcyIsIi4uL3Nhc3MvbW9sZWN1bGVzL19jb250ZW50LnNjc3MiLCIuLi9zYXNzL29yZ2FuaXNtcy9fZm9vdGVyLnNjc3MiLCIuLi9zYXNzL3RlbXBsYXRlcy9fZGlnaXRhbF9wYXNzcG9ydC5zY3NzIiwiLi4vc2Fzcy90ZW1wbGF0ZXMvX2dhdGVfcGFnZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0VqQiw0RUFBNEU7QUFFNUU7Ozs7O0dBS0c7QUFFSDtnRkFDZ0Y7QUFHaEY7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUg7RUFDRSxVQUFTLEVBQ1Y7O0FBRUQ7O0dBRUc7QUFFSDs7Ozs7O0VBTUUsZUFBYyxFQUNmOztBQUVEOzs7R0FHRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCQUFnQixFQUNqQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUg7OztFQUVPLE9BQU87RUFDWixlQUFjLEVBQ2Y7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLGlCQUFnQixFQUNqQjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLHdCQUF1QjtFQUFFLE9BQU87RUFDaEMsVUFBUztFQUFFLE9BQU87RUFDbEIsa0JBQWlCO0VBQUUsT0FBTyxFQUMzQjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLGtDQUFpQztFQUFFLE9BQU87RUFDMUMsZUFBYztFQUFFLE9BQU8sRUFDeEI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIO0VBQ0UsOEJBQTZCO0VBQUUsT0FBTztFQUN0QyxzQ0FBcUM7RUFBRSxPQUFPLEVBQy9DOztBQUVEOzs7R0FHRztBQUVIOztFQUVFLGlCQUFnQixFQUNqQjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLG9CQUFtQjtFQUFFLE9BQU87RUFDNUIsMkJBQTBCO0VBQUUsT0FBTztFQUNuQyxrQ0FBaUM7RUFBRSxPQUFPLEVBQzNDOztBQUVEOztHQUVHO0FBRUg7O0VBRUUscUJBQW9CLEVBQ3JCOztBQUVEOztHQUVHO0FBUEg7O0VBV0Usb0JBQW1CLEVBQ3BCOztBQUVEOzs7R0FHRztBQUVIOzs7RUFHRSxrQ0FBaUM7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QTZEO0VBQzdELG1ZQUE4VSxFQUFBOztBQUdoVjtFQUNFLHNCQUFxQjtFQUNyQixtQkFBa0I7RUFDbEIsaUJBQWdCO0VBQ2hCLHlFQUEyRDtFQUMzRCx5WEFBb1UsRUFBQTs7QUFHdFU7RUFDRSxzQkFBcUI7RUFDckIsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQix3RUFBMEQ7RUFDMUQsb1hBQStULEVBQUE7O0FDckRqVTtFQUNFLFlMUWdCO0VLUGhCLDBCTFN5QixFS1IxQjs7QUFHRDtFQUNFLFlMRWdCO0VLRGhCLDBCTEhzQixFS0l2Qjs7QUFHRDtFQUNFLDBCTE5rQixFS09uQjs7QUFHRDtFQUNFLHVCTFRnQixFS1VqQjs7QUFHRDtFQUNFLHVCTDFCaUIsRUsyQmxCOzs7QUFFRDtFQzdCRSxZTklpQjtFTUhqQiwwQk5tQm9CLEVLWXJCOzs7QUFtQ0M7RUN2REYsZU5FMkIsRUt3RHhCOzs7QUFFRDtFQ3hFQSxZTklpQjtFTUhqQiwwQk5heUIsRUs2RHhCOztBSHBERDtFR3dESSwwQkFBcUMsRUhyRHhDOzs7QUd5Q0Q7RUN2REYsZU5Kd0IsRUs4RHJCOzs7QUFFRDtFQ3hFQSxZTklpQjtFTUhqQiwwQk5Pc0IsRUttRXJCOztBSHBERDtFR3dESSwwQkFBcUMsRUhyRHhDOzs7QUd5Q0Q7RUN2REYsZU5Gb0IsRUs0RGpCOzs7QUFFRDtFQ3hFQSxZTklpQjtFTUhqQiwwQk5Ta0IsRUtpRWpCOztBSHBERDtFR3dESSwwQkFBcUMsRUhyRHhDOzs7QUd5Q0Q7RUN2REYsWU5Ba0IsRUswRGY7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLHVCTldnQixFSytEZjs7QUhwREQ7RUd3REksdUJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLFlOWm1CLEVLc0VoQjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsdUJORGlCLEVLMkVoQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLGVOVm1CLEVLb0VoQjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJOQ2lCLEVLeUVoQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLGVOZ0RxQixFS1VsQjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJOMkRtQixFS2VsQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLGVOc0JxQixFS29DbEI7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLDBCTmlDbUIsRUt5Q2xCOztBSHBERDtFR3dESSwwQkFBcUMsRUhyRHhDOzs7QUd5Q0Q7RUN2REYsZU5rQjBCLEVLd0N2Qjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJONkJ3QixFSzZDdkI7O0FIcEREO0VHd0RJLDBCQUFxQyxFSHJEeEM7OztBR3lDRDtFQ3ZERixlTmdCcUIsRUswQ2xCOzs7QUFFRDtFQ3hFQSxZTklpQjtFTUhqQiwwQk4yQm1CLEVLK0NsQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLGVOVXVCLEVLZ0RwQjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJOcUJxQixFS3FEcEI7O0FIcEREO0VHd0RJLDBCQUFxQyxFSHJEeEM7OztBR3lDRDtFQ3ZERixlTllxQixFSzhDbEI7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLDBCTnVCbUIsRUttRGxCOztBSHBERDtFR3dESSwwQkFBcUMsRUhyRHhDOzs7QUd5Q0Q7RUN2REYsZU5vRm1DLEVLMUJoQzs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJOK0ZpQyxFS3JCaEM7O0FIcEREO0VHd0RJLDBCQUFxQyxFSHJEeEM7OztBR3lDRDtFQ3ZERixlTnFGMEIsRUszQnZCOzs7QUFFRDtFQ3hFQSxZTklpQjtFTUhqQiwwQk5nR3dCLEVLdEJ2Qjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLGVOMEJvQixFS2dDakI7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLDBCTnFDa0IsRUtxQ2pCOztBSHBERDtFR3dESSwwQkFBcUMsRUhyRHhDOzs7QUd5Q0Q7RUN2REYsZU53QnNCLEVLa0NuQjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJObUNvQixFS3VDbkI7O0FIcEREO0VHd0RJLDBCQUFxQyxFSHJEeEM7OztBR3lDRDtFQ3ZERixlTjBCb0IsRUtnQ2pCOzs7QUFFRDtFQ3hFQSxZTklpQjtFTUhqQiwwQk5xQ2tCLEVLcUNqQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLGVONEJ1QixFSzhCcEI7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLDBCTnVDcUIsRUttQ3BCOztBSHBERDtFR3dESSwwQkFBcUMsRUhyRHhDOzs7QUd5Q0Q7RUN2REYsZU5rQ3NCLEVLd0JuQjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsMEJONkNvQixFSzZCbkI7O0FIcEREO0VHd0RJLDBCQUFxQyxFSHJEeEM7OztBR3lDRDtFQ3ZERixlTm9Dc0IsRUtzQm5COzs7QUFFRDtFQ3hFQSxZTklpQjtFTUhqQiwwQk4rQ29CLEVLMkJuQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLGVOc0N1QixFS29CcEI7OztBQUVEO0VDeEVBLFlOSWlCO0VNSGpCLDBCTmlEcUIsRUt5QnBCOztBSHBERDtFR3dESSwwQkFBcUMsRUhyRHhDOzs7QUd5Q0Q7RUN2REYsZU5jcUIsRUs0Q2xCOzs7QUFFRDtFQ3hFQSxZTklpQjtFTUhqQiwwQk55Qm1CLEVLaURsQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHeUNEO0VDdkRGLFlOUm1CLEVLa0VoQjs7O0FBRUQ7RUN4RUEsWU5JaUI7RU1IakIsdUJOR2lCLEVLdUVoQjs7QUhwREQ7RUd3REksMEJBQXFDLEVIckR4Qzs7O0FHb0VEO0VDM0ZBLDZETm1GaUUsRUtXaEU7O0FFL0ZnQzs7RUZpR2pDO0lFaEdBLG1CQUFrQjtJQUNsQixzQkFBcUI7SUFDckIsa0JBQWlCO0lBZWYsWVBKZTtJT0tmLGlCUGpCZTtJT2tCZix5QkFBd0IsRUZnRnpCOztJRS9GRDtNQUNFLG1CQUFrQjtNQUNsQixPQUFNO01BQ04sU0FBUTtNQUNSLFVBQVM7TUFDVCxRQUFPO01BQ1AsZUFBYztNQUNkLHFCQUFvQjtNQUNwQixZQUFXO01BQ1gsNkRBQThCLEVBQy9COztJQVZEO01Ba0JJLHVCQUFzQixFQUN2QixFQUFBOzs7QUZvRUg7RUMzRkEsNkROc0YrRCxFS1E5RDs7QUUvRmdDOztFRmlHakM7SUVoR0EsbUJBQWtCO0lBQ2xCLHNCQUFxQjtJQUNyQixrQkFBaUI7SUFlZixZUEplO0lPS2YsaUJQakJlO0lPa0JmLHlCQUF3QixFRmdGekI7O0lFL0ZEO01BQ0UsbUJBQWtCO01BQ2xCLE9BQU07TUFDTixTQUFRO01BQ1IsVUFBUztNQUNULFFBQU87TUFDUCxlQUFjO01BQ2QscUJBQW9CO01BQ3BCLFlBQVc7TUFDWCw2REFBOEIsRUFDL0I7O0lBVkQ7TUFrQkksdUJBQXNCLEVBQ3ZCLEVBQUE7O0FDOENMO0VBQ0UsK0JDK0NxQztFRDlDckMsbUJBQWtCO0VBQ2xCLG9CQUFtQjtFQUNuQiw2RkFBc0M7RUFDdEMsdWpCQUFtUyxFQUFBOztBQUdyUztFQUNFO0lBQ0UsK0JDc0NtQztJRHJDbkMsMkhBQStELEVBQUEsRUFBQTs7QUFoRm5FO0VBQ0Usc0JBQXFCO0VBQ3JCLCtCQUF5QjtFQUN6QixtQkFBMkM7RUFDM0MsbUJBQWtCO0VBQ2xCLG9CQUFtQjtFQUNuQixxQkFBb0I7RUFDcEIsZUFBYztFQUNkLHlCQUF3QjtFQUN4QixxQkFBb0I7RUFDcEIsbUNBQWtDO0VBQ2xDLG9DQUFtQztFQUNuQyxtQ0FBa0M7RUFDbEMsd0JBQXVCO0VBQ3ZCLDRCQUEyQixFQUc1Qjs7QUErRUM7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7RUFFSSxpQkFBcUMsRUFDdEM7O0FBSEg7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aUJMb0JnQixFbUI3QmY7O0FBSUQ7RWRDQSxvQmVSd0Q7RWZZeEQsaUJMb0JnQixFbUJ2QmY7O0FBRkQ7RWRDQSxtQmVSd0Q7RWZZeEQsaUJMb0JnQixFbUJ2QmY7O0FBRkQ7RWRDQSxvQmVSd0Q7RWZZeEQsaUJMb0JnQixFbUJ2QmY7O0FFSkM7RUFDRSxlQUFjLEVBQ2Y7O0FBRUQ7RUFDRSxjQUFhLEVBQ2Q7O0FwQjZDSDtFb0JuREU7SUFDRSxlQUFjLEVBQ2Y7RUFFRDtJQUNFLGNBQWEsRUFDZCxFQUFBOztBcEI2Q0g7RW9CbkRFO0lBQ0UsZUFBYyxFQUNmO0VBRUQ7SUFDRSxjQUFhLEVBQ2QsRUFBQTs7QXBCNkNIO0VvQm5ERTtJQUNFLGVBQWMsRUFDZjtFQUVEO0lBQ0UsY0FBYSxFQUNkLEVBQUE7O0FwQjZDSDtFb0JuREU7SUFDRSxlQUFjLEVBQ2Y7RUFFRDtJQUNFLGNBQWEsRUFDZCxFQUFBOztBQzBMTDtFQS9LRSxzQkFBcUI7RUFDckIsa0JDZ0VxQjtFRC9EckIsbUJBQWtCO0VBQ2xCLG9CQUFtQjtFQUNuQix1QkFBc0I7RUFDdEIsZ0JBQWU7RUFDZixrQkFBaUI7RUUxQm5CLHFCRG9LcUI7RUNuS3JCLG9CQUFtQjtFQUNuQix3QkNTd0I7RXBCTHRCLGdCTGtCb0I7RUtkcEIsbUJrQk53QjtFR0p4Qix3QkNLMkY7RUx3SjdGLGVwQi9JMkI7RW9CZ0ozQiwwQnBCNUptQjtFb0I2Sm5CLG1CcEIvSm1CO0UwQkxqQixtQ05rRDRDLEVBdUw3QztFbEI3TkM7SWtCMkpBLGVwQnBKeUI7SW9CcUp6Qix1QnBCbktpQjtJb0JvS2pCLG1CcEJwS2lCLEVFU2hCO0VrQjhKSDs7SUFHRSxlcEI1SnlCO0lvQjZKekIsdUJwQjNLaUI7SW9CNEtqQixtQnBCNUtpQixFb0I2S2xCO0VBRUQ7SUFHRSxxQkFBb0I7SUFDcEIsZ0JBQWU7SUFDZixZQUFXLEVBT1o7SWxCcEtDO01rQmdLRSxlcEJ6S3VCO01vQjBLdkIsMEJwQnRMZTtNb0J1TGYsbUJwQnpMZSxFRTBCaEI7RUFIRDtJa0J5QkUsc0JBQXFCLEVsQnRCdEI7RWtCeUJEO0lBRUUsV0FBVSxFQUNYO0VBRUQ7SVAxREYsaUVFRDBGO0lZTTFGLDBCM0IyQjBCO0kyQjFCMUIsY0FBYSxFUHVEVjtFQUdEO0lBQ0UscUJBQW9CO0lBQ3BCLG9CQUFtQjtJQUNuQix3QkFBdUIsRUFDeEI7RUFFRDtJSjBFQSx1QnBCekh3RTtJT2Z4RSxrQlBld0U7SU9YeEUsZWlCOEQrQjtJQUM3QixleEJwRHNFO0l3QnFEdEUsb0J4QnJEc0U7SXdCc0R0RSwyQkFBMEIsRUFDM0I7RUFFRDtJQUNFLHNCQUFxQixFQUN0QjtFQUdEO0lKMkRBLGtCT3pIaUIsRUhnRWhCO0VBb0hHO0lBNUNOLFlwQnpKbUI7SW9CMEpuQiwwQnBCMUlzQjtJb0IySXRCLHNCcEIzSXNCLEVvQnVMZjtJbEJwTUw7TWtCMkpBLFlwQjlKaUI7TW9CK0pqQiwwQnBCN0lxQjtNb0I4SXJCLHNCcEI5SXFCLEVFYnBCO0lrQjhKSDs7TUFHRSxZcEJ0S2lCO01vQnVLakIsMEJwQnJKcUI7TW9Cc0pyQixzQnBCdEpxQixFb0J1SnRCO0lBRUQ7TUFHRSxxQkFBb0I7TUFDcEIsZ0JBQWU7TUFDZixZQUFXLEVBT1o7TWxCcEtDO1FrQmdLRSxZcEJuTGU7UW9Cb0xmLDBCcEJwS2tCO1FvQnFLbEIsc0JwQnJLa0IsRUVNbkI7RWtCK0tHO0lBNUNOLGVwQnpJc0I7SW9CMEl0Qix1QnBCMUptQjtJb0IySm5CLHNCcEIzSXNCLEVvQnVMZjtJbEJwTUw7TWtCMkpBLGVwQnBKeUI7TW9CcUp6Qix1QnBCL0ppQjtNb0JnS2pCLHNCcEJ0SnlCLEVFTHhCO0lrQjhKSDs7TUFHRSxlcEI1SnlCO01vQjZKekIsdUJwQnZLaUI7TW9Cd0tqQixzQnBCOUp5QixFb0IrSjFCO0lBRUQ7TUFHRSxxQkFBb0I7TUFDcEIsZ0JBQWU7TUFDZixZQUFXLEVBT1o7TWxCcEtDO1FrQmdLRSxlcEJuS2tCO1FvQm9LbEIsdUJwQnBMZTtRb0JxTGYsc0JwQnJLa0IsRUVNbkI7RWtCK0tHO0lBNUNOLFlwQnpKbUI7SW9CMEpuQiwwQnBCbEdxQjtJb0JtR3JCLHNCcEJuR3FCLEVvQitJZDtJbEJwTUw7TWtCMkpBLFlwQjlKaUI7TW9CK0pqQiwwQnBCekcyQjtNb0IwRzNCLHNCcEIxRzJCLEVFakQxQjtJa0I4Skg7O01BR0UsWXBCdEtpQjtNb0J1S2pCLDBCcEJqSDJCO01vQmtIM0Isc0JwQmxIMkIsRW9CbUg1QjtJQUVEO01BR0UscUJBQW9CO01BQ3BCLGdCQUFlO01BQ2YsWUFBVyxFQU9aO01sQnBLQztRa0JnS0UsWXBCbkxlO1FvQm9MZiwwQnBCNUhpQjtRb0I2SGpCLHNCcEI3SGlCLEVFbENsQjtFa0IrS0c7SUE1Q04sZXBCL0kyQjtJb0JnSjNCLHVCcEIxSm1CO0lvQjJKbkIsc0JwQmpKMkIsRW9CNkxwQjtJbEJwTUw7TWtCMkpBLGVwQjlJb0I7TW9CK0lwQix1QnBCL0ppQjtNb0JnS2pCLHNCcEJoSm9CLEVFWG5CO0lrQjhKSDs7TUFHRSxlcEJ0Sm9CO01vQnVKcEIsdUJwQnZLaUI7TW9Cd0tqQixzQnBCeEpvQixFb0J5SnJCO0lBRUQ7TUFHRSxxQkFBb0I7TUFDcEIsZ0JBQWU7TUFDZixZQUFXLEVBT1o7TWxCcEtDO1FrQmdLRSxlcEJ6S3VCO1FvQjBLdkIsdUJwQnBMZTtRb0JxTGYsc0JwQjNLdUIsRUVZeEI7RWtCK0tHO0lBNUNOLFlwQnpKbUI7SW9CMEpuQiw4QkNkcUI7SURlckIsbUJwQjNKbUIsRW9CdU1aO0lsQnBNTDtNa0IySkEsWXBCdEpnQjtNb0J1SmhCLDhCQ2hCeUI7TURpQnpCLG1CcEJ4SmdCLEVFSGY7SWtCOEpIOztNQUdFLFlwQjlKZ0I7TW9CK0poQiw4QkN4QnlCO01EeUJ6QixtQnBCaEtnQixFb0JpS2pCO0lBRUQ7TUFHRSxxQkFBb0I7TUFDcEIsZ0JBQWU7TUFDZixZQUFXLEVBT1o7TWxCcEtDO1FrQmdLRSxZcEJuTGU7UW9Cb0xmLDhCQ3hDaUI7UUR5Q2pCLG1CcEJyTGUsRUVzQmhCO0VrQnVMQztJRWpOSix3QkQwS3dCO0lDekt4QixvQkFBbUI7SUFDbkIsd0JDU3dCO0lwQkx0QixnQkxrQm9CO0lLZHBCLG1Ca0JOd0I7SUdKeEIsc0JDTWlHLEVMNk05RjtFckI3Skg7SXFCaUtFO01Fdk5KLHdCRHVLd0I7TUN0S3hCLG9CQUFtQjtNQUNuQix3QkNTd0I7TXBCTHRCLG9CZVJ3RDtNZll4RCxtQmtCTndCO01HSnhCLG9CQ09pRyxFTGtOOUY7TUE5RkQ7OztRakJySEYsbUJQZXdFO1FPWHhFLGVpQm9IaUM7UUFDN0IsZ0J4QjFHb0U7UXdCMkdwRSxxQnhCM0dvRTtRd0I0R3BFLDJCQUEwQixFQUMzQixFQUFBO0VBNEZEO0lBcElGLGVBQWM7SUFDZCxZQUFXLEVBcUlSO0lBbElIO01BQ0UsbUJDOEV3QjtNRDdFeEIsZUFBYyxFQUNmOztBUXRESDtFekJyQ0UsZ0JQZXdFO0VPWHhFLGV5QkYyQjtFQUM3QixXQUFVO0VBQ1YsZ0JBQWU7RUFDZiw4QkFBNkI7RUFDN0IsVUFBUztFQUNULGFBQVk7RUFDWix5QkFBd0IsRUFpQ3ZCO0UxQnhCQztJMEJOQSxzQkFBcUI7SUFDckIsZ0JBQWU7SUFDZixXQUFVLEUxQk9UO0UwQkpIO0lBWUEseUNBQXdDO0lBQ3hDLGlCQ0syRixFRGhCMUY7O0FFaEJDO0VBQ0UsdUI5QlRlO0U4QlVmLHdCQUF1QjtFQUN2QixzQkFBcUI7RWRtSXZCLG1CT2pIc0M7RVBpSHRDLHNCT2pIc0MsRU9mckM7O0FBRUQ7RUFDRSxjQUFhO0VBQ2Isb0JBQW1CO0VkNEhyQixtQk9qSHNDO0VQaUh0QyxzQk9qSHNDLEVPVXJDO0VBakJDO0lBRUUsZUFBYztJQUNkLFFBQU87SUFDUCxZQUFXO0lBQ1gsdUI5QjNCYTtJOEI0QmIsd0JBQXVCO0lBQ3ZCLHNCQUFxQixFQUN0QjtFQUVEO0lkOEdGLG1CT3pIaUIsRU9hZDtFQUVEO0lkMEdGLGtCT3pIaUIsRU9pQmQ7O0FBS0g7RUFDRSwwQjlCeEJrQjtFOEJ5QmxCLHNCQUFxQixFQUN0Qjs7QUFHQztFQUVFLDBCOUIvQmdCO0U4QmdDaEIsc0JBQXFCLEVBQ3RCOztBQzhJTDtFVG5NQSxxQkRNdUI7RUNMdkIsb0JBQW1CO0VBQ25CLHdCQ1N3QjtFcEJMdEIsZ0JMa0JvQjtFS2RwQixtQmtCTndCO0VHSnhCLHVCREtxQjtFUXFCckIsZUFBYztFQUNkLFlBQVc7RUFDWCxlL0JkeUI7RStCZXpCLHVCL0J6QmlCO0UrQjRCakIsdUJBQXNCO0VBQ3RCLDZCQUE0QjtFQUM1QixtQi9CbENpQixFK0J5TmxCO0VBckxDO0lBQ0UsZS9CM0JnQjtJK0I0QmhCLFdBQVUsRUFDWDtFQUdEO0lBQ0Usc0IvQjdCdUIsRStCOEJ4QjtFQUdEO0lsQmpERixpRUVEMEY7SVlNMUYsMEIzQjJCMEI7STJCMUIxQixjQUFhLEVJNkNWO0VBR0Q7SUFDRSwwQi9CbkRlO0krQnFEZixXQUFVLEVBQ1g7RUFPRDtJQWdHRixZL0IvSm1CO0krQmdLbkIsb0JWMUY4QjtJVTJGOUIsMEIvQi9KbUI7SStCa0tuQixtQi9CcEttQjtJK0JxS25CLFdBQVUsRUFwR1A7SUFzR0g7TUFDRSxZL0J4S2lCLEUrQnlLbEI7RUFuR0M7SUE0R0Ysc0IvQjVJb0IsRStCa0NqQjtJQTZHSDtNQUNFLGVBQWMsRUFNZjtNQUhDO1FBQ0UsY0FBYSxFQUNkO0VDckhNO0lEOERILDhCQUE2QjtJQUM3QixVQUFTLEVBQ1Y7RUNoRUk7SUR3RUgsZS9CaElxQjtJK0JpSXJCLHVCL0IzSWEsRStCNElkO0VDMUVJO0lENkVILDBYVmxJd1k7SVVtSXhZLCtCUjNIK0I7SVE0SC9CLGlCQUFnQixFQUNqQjtFQWlERDtJVHZNSix3QkRTMEI7SUNSMUIsb0JBQW1CO0lBQ25CLHdCQ1N3QjtJcEJMdEIsb0JrQkoyQjtJbEJRM0IsbUJrQk53QjtJR0p4Qix1QkRLcUIsRVFvTWxCO0VBSUQ7SVQ3TUosd0JEWTBCO0lDWDFCLG9CQUFtQjtJQUNuQix3QkNTd0I7SXBCTHRCLGdCTGtCb0I7SUtkcEIsbUJrQk53QjtJR0p4Qix1QkRLcUIsRVEwTWxCO0VBSUQ7SUFwREosWS9CL0ptQjtJK0JnS25CLG9CVjFGOEI7SVUyRjlCLDBCL0IvSm1CO0krQmtLbkIsbUIvQnBLbUI7SStCcUtuQixXQUFVLEVBZ0RMO0lBOUNMO01BQ0UsWS9CeEtpQixFK0J5S2xCOztBRTdK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dUdsQztFQU5HO0lBeENGLGVuQ2pDa0IsRW1DMkVmOztBeEM3RVA7RXlDM0JJLHNCYm9Cc0M7RWFuQnRDLG9CdENQd0I7RXNDUXhCLGtCdEM2QzBCO0VzQzVDMUIsZXRDOEN1QjtFS3hEbkIsb0JlSm9EO0VmWXhELGtCTCtDMEIsRXNDV3ZCO0VyQ2RIO0lKbEJKO01RbENRLG9CZUpvRCxFa0JzRXJELEVBQUE7O0FBRkQ7RUF6REYsc0Jib0JzQztFYW5CdEMsb0J0Q1B3QjtFc0NReEIsa0J0QzZDMEI7RXNDNUMxQixldEM4Q3VCO0VLeERuQixvQmVKb0Q7RWZZeEQsa0JMK0MwQixFc0NXdkI7RXJDZEg7SXFDWUU7TWpDaEVFLG9CZUpvRCxFa0JzRXJELEVBQUE7O0FBRkQ7RUF6REYsc0Jib0JzQztFYW5CdEMsb0J0Q1B3QjtFc0NReEIsa0J0QzZDMEI7RXNDNUMxQixldEM4Q3VCO0VLcER2QixvQmVSd0Q7RWZZeEQsa0JMK0MwQixFc0NXdkI7O0FBRkQ7RUF6REYsc0Jib0JzQztFYW5CdEMsb0J0Q1B3QjtFc0NReEIsa0J0QzZDMEI7RXNDNUMxQixldEM4Q3VCO0VLcER2QixvQmVSd0Q7RWZZeEQsa0JMK0MwQixFc0NXdkI7O0FBRkQ7RUF6REYsc0Jib0JzQztFYW5CdEMsb0J0Q1B3QjtFc0NReEIsa0J0QzZDMEI7RXNDNUMxQixldEM4Q3VCO0VLcER2QixvQmVSd0Q7RWZZeEQsa0JMK0MwQjtFc0NyQ3hCLDBCQUF5QjtFQUN6QiwyQnhDQXNFLEV3QytDckU7O0FBWUQ7RUF2RUYsc0Jib0JzQztFYW5CdEMsb0J0Q1B3QjtFc0NReEIsa0J0QzZDMEI7RXNDNUMxQixldEM4Q3VCO0VLeERuQixvQmVKb0Q7RWZZeEQsa0JMK0MwQixFc0N5QnZCO0VyQzVCSDtJcUMwQkU7TWpDOUVFLG9CZUpvRCxFa0JvRnJELEVBQUE7O0FBRkQ7RUF2RUYsc0Jib0JzQztFYW5CdEMsb0J0Q1B3QjtFc0NReEIsa0J0QzZDMEI7RXNDNUMxQixldEM4Q3VCO0VLeERuQixvQmVKb0Q7RWZZeEQsa0JMK0MwQixFc0N5QnZCO0VyQzVCSDtJcUMwQkU7TWpDOUVFLG9CZUpvRCxFa0JvRnJELEVBQUE7O0FBRkQ7RUF2RUYsc0Jib0JzQztFYW5CdEMsb0J0Q1B3QjtFc0NReEIsa0J0QzZDMEI7RXNDNUMxQixldEM4Q3VCO0VLcER2QixvQmVSd0Q7RWZZeEQsa0JMK0MwQixFc0N5QnZCOztBQUZEO0VBdkVGLHNCYm9Cc0M7RWFuQnRDLG9CdENQd0I7RXNDUXhCLGtCdEM2QzBCO0VzQzVDMUIsZXRDOEN1QjtFS3BEdkIsb0JlUndEO0VmWXhELGtCTCtDMEIsRXNDeUJ2Qjs7QUFGRDtFQXZFRixzQmJvQnNDO0VhbkJ0QyxvQnRDUHdCO0VzQ1F4QixrQnRDNkMwQjtFc0M1QzFCLGV0QzhDdUI7RUtwRHZCLG9CZVJ3RDtFZll4RCxrQkwrQzBCO0VzQ3JDeEIsMEJBQXlCO0VBQ3pCLDJCeENBc0UsRXdDNkRyRTs7QUFJTDtFQXZDRSxvRHRDM0NtRCxFc0NvRnBEOztBQUtHO0VBbEVGLHNCYkVzQztFYUR0QyxldEM4QnVCO0VLeERuQixvQmVKb0Q7RWZZeEQsa0JMK0MwQjtFc0N0QnhCLGtCdENhb0IsRXNDK0NuQjtFckN6Q0g7SXFDdUNFO01qQzNGRSxvQmVKb0QsRWtCaUdyRCxFQUFBOztBQUZEO0VBbEVGLHNCYkVzQztFYUR0QyxldEM4QnVCO0VLeERuQixvQmVKb0Q7RWZZeEQsa0JMK0MwQjtFc0NmeEIsa0J0Q1NvQixFc0M0Q25CO0VyQ3pDSDtJcUN1Q0U7TWpDM0ZFLG9CZUpvRCxFa0JpR3JELEVBQUE7O0FDakRIO0VBM0NBLGNBQWE7RUFDYixzQmR5QnNDLEVjbUJyQzs7QUFJRDtFbEM5Q0Esb0JlUndEO0VmWXhELGlCTG9CZ0I7RXVDckJoQixpQnZDK0JxQixFdUNjcEI7O0FBSUQ7O0VsQ3BEQSxvQmVSd0Q7RWZZeEQsaUJMb0JnQixFdUMrQmY7O0FBSUQ7RWxDM0RBLG1CZVJ3RDtFZll4RCxpQkxvQmdCO0V1Q1poQixpQkFBZ0I7RUFDaEIsMkJ6Q0V3RTtFeUNEeEUscUJBQW9CLEVBK0NuQjs7QUFJRDtFbENqRUEsb0JlUndEO0VmWXhELGlCTG9CZ0I7RXVDTGhCLDJCekNKd0UsRXlDb0R2RTs7QUFJRDs7RXJCaUVBLGdCT3JIbUM7RWNLbkMsMEJyQ3NCMEIsRXFDNEJ6Qjs7QUNTSDtFQW5FRSx5QjFDRHdFO0UwQ0V4RSxtQkFBa0I7RUFDbEIsZXRDVnlCO0VzQ1d6QixzQnJDM0JxQjtFcUM0QnJCLGtDdENsQnNCLEVzQ3VHdkI7RUEvRUs7SUFDRSxnQkFBZTtJQUNmLG9CQUFtQixFQUNwQjtFcEN3Qkw7SW9DbkJFLGV0Q29CaUI7SXNDbkJqQixzQnJDdkN5QjtJcUN3Q3pCLGdCQUFlO0lBQ2Ysa0N0Q2lCaUIsRUVFbEI7RW9DZkQ7SVhwQ0YsMEJBQXlCO0lBQ3pCLG9CQUFtQjtJQUNuQix1QjNCK0NxQjtJMkI5Q3JCLGtCQUFpQixFV21DZDtFQTRDQztJQXpDRixrQkFBaUI7SUFDakIsZXRDT21CO0lzQ05uQixpQ0FBZ0MsRUF5QzdCO0lwQ3BDSDtNb0NERSxldENFaUIsRUVFbEI7RW9DcUNDO0lBckNGLFl0QzFEaUI7SXNDMkRqQiwwQnRDM0RpQixFc0NpR2Q7SXBDMUNIO01vQ09FLFl0Q3REYztNc0N1RGQsMEJ0Q3ZEYyxFRWtEZjtJb0NRRDtNQUNFLG9CdENuRWUsRXNDb0VoQjtFQWlDQztJQTlCRixpQ0FBZ0MsRUFnQzdCOztBQ3BHUDtFQUxFLGdCQUFlO0VBQ2YsaUJBQWdCO0VBQ2hCLGlCQUFnQixFQUtqQjs7O0FBR0Q7RUFWRSxnQkFBZTtFQUNmLGlCQUFnQjtFQUNoQixpQkFBZ0IsRUFlakI7OztBQU5EOztFQVVFLHNCQUFxQixFQUt0Qjs7RUFmRDs7SUFhSSx3QjNDTHdFLEUyQ016RTs7QUFjRDs7RUFNTSxjQUFxQyxFQUN0Qzs7QUN1REw7RUFwQkEsWWpCbERxQztFaUJtRHJDLGFqQm5EcUM7RWlCTm5DLG1CQUFrQjtFQUNsQixzQkFBcUI7RUFDckIsZXhDbkJrQixFd0NpSG5CO0VBckNEO0lBQ0UsWWpCdERtQztJaUJ1RG5DLGFqQnZEbUM7SWlCd0RuQyxrQkEvRWUsRUFnRmhCO0VBSkQ7SUF0REksbUJBQWtCO0lBQ2xCLCtEQUE4RDtJQUM5RCxvQkFBbUI7SUFDbkIsbUJBQWtCO0lBQ2xCLGdFQUE2RCxFQVc5RDtJQVRDO01BQ0UsdUJBQXNCLEVBQ3ZCO0lBQ0Q7TUFDRSxzQkFBcUIsRUFDdEI7SUFDRDtNQUNFLHVCQUFzQixFQUN2Qjs7QUFHSDtFQUNFO0lBQ0Usd0JBQXVCLEVBQUE7RUFFekI7SUFDRSwwQkFBeUIsRUFBQSxFQUFBO0VBcUQzQjtJQXhCSixZakI5RG1CO0lpQitEbkIsYWpCL0RtQixFaUJ3RmQ7SUF2Qkw7TUFDRSxZakJsRWlCO01pQm1FakIsYWpCbkVpQjtNaUJvRWpCLGtCQW5GZSxFQW9GaEI7RUF1Qkc7SUE5QkosWWpCOUNzQztJaUIrQ3RDLGFqQi9Dc0MsRWlCOEVqQztJQTdCTDtNQUNFLFlqQmxEb0M7TWlCbURwQyxhakJuRG9DO01pQm9EcEMsa0JBM0VlLEVBNEVoQjtFQTZCRztJQXhCSiwwQkFBa0M7SUFDbEMsMkJBQW1DO0lBOUJqQyxtQkFBa0I7SUFDbEIsY0N0RVksRUQ0SFQ7SUFwREg7TUEwQkYsMEJBQWtDO01BQ2xDLDJCQUFtQyxFQXpCaEM7SUFFRDtNQXNCRiwwQkFBa0M7TUFDbEMsMkJBQW1DLEVBckJoQzs7QUVKSDtFbEJ2RUUsb0JrQlk4QjtFQUM5QixtQkFBa0I7RUFDbEIscUJBQW9CO0VBQ3BCLFk5Q013RTtFOENMeEUsYTlDS3dFO0U4Q0p4RSx1QkFBc0IsRUE4RXZCO0VBNUVDO0lsQm5CQSxvQmtCb0JnQztJQUM5QixZQUFXO0lBQ1gsYUFBWSxFQU9iO0lBTEM7TUFDRSxtQjlDSm9FO004Q0twRSx1QjFDdEJhO00wQ3VCYiwrQjFDQ2UsRTBDQWhCO0VBZ0REO0lBL0JGLFk5Q3hCd0U7SThDeUJ4RSxhOUN6QndFLEU4Q3lEckU7SUE3Q0g7TUFDRSxtQkFBa0I7TUFDbEIsaUI5Q2RzRTtNOENldEUsa0I5Q2ZzRTtNOENnQnRFLGVBQWM7TUFDZCxjOUNqQnNFO004Q2tCdEUsZTlDbEJzRTtNOENtQnRFLFlBQVc7TUFDWCx5RUFBMEM7TUFDMUMsNkJBQTRCLEVBQzdCO0VBd0NDO0lBakNGLGM5QzdCd0U7SThDOEJ4RSxlOUM5QndFLEU4Q2dFckU7RUFJRDtJQWxDRixZOUNsQ3dFO0k4Q21DeEUsYTlDbkN3RSxFOENzRXJFOztBQy9CTDtFeEN0REUscUJQZXdFO0VPWHhFLGV3Q1MwQztFbkJuQjFDLHVCREtxQjtFb0JnQnJCLHNCQUFxQjtFQUNyQixxQnBCRGlCO0VvQkVqQix3Qi9DRndFO0UrQ0d4RSxzQnBCQ21DO0VvQkFuQyxlM0NqQnNCO0UyQ2tCdEIsMEIzQ3hCaUI7RTJDeUJqQiw4QkFBNkIsRUE0QzlCO0V6Q2hFQztJeUN1QkUsZTNDdEJvQjtJMkN1QnBCLHVCM0MvQmUsRUVTaEI7RXlDeUJEO0k5QnBDRixpRUVEMEY7SVlNMUYsMEIzQjJCMEI7STJCMUIxQixjQUFhLEVnQmdDVjtFQTRCQztJQXhCRixzQnBCZm1DLEVvQjBDaEM7SUFIRDtNakJyRUYsaUNBTzZDLEVBSzVDO01BSEM7UUFDRSxXQUFVLEVBQ1g7SWlCb0NIO014Q3BDQSxxQlBld0U7TU9YeEUsZXdDaUNrRDtNZlRwRCx5Q0FBd0M7TUFDeEMsaUJDSzJGO01jS3ZGLHNCL0N4QnNFLEUrQ3lCdkU7O0FDM0JEO0U1QjJIQSxtQk9qSHNDLEVxQlJyQzs7QUE0TUQ7RVJ4TkEsc0Jib0JzQztFYW5CdEMsb0J0Q1B3QjtFc0NReEIsa0J0QzZDMEI7RXNDNUMxQixldEM4Q3VCO0VLcER2QixvQmVSd0Q7RWZZeEQsa0JMK0MwQjtFOENWMUIsaUJBQWdCO0U1QjZFWiwrQk92R2E7RXFCNEJqQiw4QjVDakRpQixFNENtT2hCO0U3QzdLRDtJNkMyS0E7TTVCckdJLDBCT3ZHYSxFcUI4TWhCLEVBQUE7O0FBRUQ7RTVCekdJLHdCT3ZHYTtFVnZCbkIseUNDQ3FDO0U4QmtFbkMsdUI1Q2pFaUIsRTRDdU9oQjtFN0NqTEQ7STZDK0tBO001QnpHSSx3Qk8zRitCLEVxQnNNbEMsRUFBQTtFQXBLRDtJNUIyRUEsbUJPakhzQyxFcUJ3Q3JDOztBQW9LRDtFNUIzRkEsa0JPekhpQjtFUHlIakIscUJPekhpQjtFcUJpRmpCLG1CQUFrQjtFQUNsQixjQUFhO0VBQ2IsZ0JBQWUsRUFtSWQ7RUFqSUQ7SUFDRSxRQUFPO0lBQ1AsbUJBQWtCLEVBQ25CO0VBSUM7Ozs7O0lBS0UsY0FBYTtJQUNiLG9CQUFtQjtJQUNuQixvQkFBbUI7SUFDbkIsaUJBQWdCO0lBQ2hCLHFCQUFvQixFQWNyQjtJQVpDOzs7OztNQUNFLGdCckI1RjZCLEVxQjZGOUI7SUFFRDs7Ozs7TUFDRSx3QkFBbUMsRUFDcEM7SUFFRDs7Ozs7Ozs7OztNQUVFLG1CckJqSFcsRXFCa0haO0VBSUw7SUFDRSxRQUFPO0lBQ1AsZ0NBQTJFO0lBQzNFLG9CQUFtQixFQUNwQjtFQUVEO0lBQ0UsbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixTQUFRO0lBQ1Isc0JBQXFCO0lBQ3JCLFFBQU87SUFDUCxlNUMvSGlCO0k0Q2dJakIsK0JBQThCLEVBVy9CO0lwQ2hLSDtNQUNFLHNCQUFxQjtNQUNyQiwrQkFBeUI7TUFDekIsbUJHd0J3RTtNSHZCeEUsbUJBQWtCO01BQ2xCLG9CQUFtQjtNQUNuQixxQkFBb0I7TUFDcEIsZUFBYztNQUNkLHlCQUF3QjtNQUN4QixxQkFBb0I7TUFDcEIsbUNBQWtDO01BQ2xDLG9DQUFtQztNQUNuQyxtQ0FBa0M7TUFDbEMsd0JBQXVCO01BQ3ZCLDRCQUEyQjtNQTBCM0IsaUJBQXFDLEVBdkJ0QztJQWpCRDtNa0JSRSxnQ2tCaUs2QztNQUN6Qyx1QkFBc0IsRUFLdkI7TVo1Rkc7UVkwRkEsMEJBQXlCLEVaeEZoQztFWTZGQztJQUNFLGlCQUFnQjtJQUNoQixpQkFBZ0IsRUFDakI7O0FBbUJEO0U1QjdDQSx1Qk9qSHNDLEVxQmdLckM7O0FBR0M7RUFDRSxjQUFhLEVBQ2Q7O0FBR0g7RUFDRSxtQkFBa0I7RUFDbEIsVUFBUztFQUNULGlCQUFnQjtFbEI3TWxCLDZCa0I4TXdDLEVBQ3ZDOztBQUVEO0VBQ0UsaUJBQWdCLEVBQ2pCOztBQXNDQztFNUJ0R0Ysb0JPekhpQjtFUHlIakIsbUJPekhpQjtFVnZCbkIseUNDQ3FDO0U4QitCbkMsdUI1QzlCaUIsRTRDOFBkO0VBVkE7STVCeEhDLG1CTDlGb0U7SWlDNEN4RSxhQUFZLEVBK0tQO0k3Q25NTDtNNkM4TEc7UTVCeEhDLHdCT3ZHYSxFcUJvT1osRUFBQTtJQTdLTDtNQUNFLGNBQWE7TUFDYiwyQjVDOUVlLEU0QytFaEI7SUFHRDtNQUVFLGlCQUFnQjtNQUNoQixpQkFBZ0IsRUFDakI7RUFzRkQ7SUFFRSxvQkFBbUIsRUFDcEI7O0FDQ0g7RUExSkUsbUJBQWtCO0VBQ2xCLHNCQUFxQjtFQUNyQixnQkF0QndCLEVBOE16QjtFQTdCQztJQXhKQSxlQUFjLEVBMEpiO0lBdEpDO01BRUUsWUFBVztNQUNYLGdCQUFlLEVBQ2hCO0VBb0pIO0lBcEhGLG1CQUFrQjtJQUNsQixvQmxDdEMwRTtJa0N1QzFFLHdCbEN2QzBFO0lrQ3dDMUUsaUJBQWdCO0lBQ2hCLHdCQUF1QixFQWtIcEI7SXJDdExIO01BQ0Usc0JBQXFCO01BQ3JCLCtCQUF5QjtNQUN6QixvQkd3QndFO01IdkJ4RSxtQkFBa0I7TUFDbEIsb0JBQW1CO01BQ25CLHFCQUFvQjtNQUNwQixlQUFjO01BQ2QseUJBQXdCO01BQ3hCLHFCQUFvQjtNQUNwQixtQ0FBa0M7TUFDbEMsb0NBQW1DO01BQ25DLG1DQUFrQztNQUNsQyx3QkFBdUI7TUFDdkIsNEJBQTJCO01BMEIzQixpQkFBcUM7TXFDZ0NyQyxtQkFBa0I7TUFDbEIsMkJBQXVEO01BQ3ZELFl0QnhEaUIsRWZEbEI7SXdCa0RPO01hWU4sY0puRnFCLEVUeUV0QjtFYW1IQztJQXZJRixPQUFNO0lBQ04sU0FBUTtJQUNSLFVBQVM7SUFDVCxRQUFPO0lBQ1AsY0p6RHVCO0lJMER2Qix1QjdDekNtQjtJNkMwQ25CLFlBQVcsRUFtSVI7SWJ2SEs7TWFSTixnQkFBZSxFYlVoQjtFYXVIQztJaENqTUYseUNDQ3FDO0lERW5DLDRCQ3VCb0I7SVV4QnBCLHVCYjhCd0U7SWtDNkQxRSxtQkFBa0I7SUFDbEIsY0FBYTtJQUNiLHFCbEMvRDBFO0lrQ2dFMUUsb0JsQ2hFMEU7SWtDaUUxRSxrQmxDakUwRTtJa0NrRTFFLGtCQXJGeUM7SUFzRnpDLGlCQUF5QjtJQUN6QixpQkFBZ0I7SUFDaEIsWTdDbkZtQjtJNkNvRm5CLG9CQUFtQjtJQUNuQix1QjdDakdtQjtJNkNrR25CLDBCN0NwR21CLEU2QytMaEI7SWhDOUxEO01BQ0UsMENDSmlDLEVES2xDO0lnQ21HSDtNQUNFLGNKMUdxQjtNSTJHckIsZUFBYyxFQUNmO0VBTUQ7O0lBRUUsZUFBYztJQUNkLHFCdEIvRmlCO0lzQmdHakIsaUJBQWdCO0lBQ2hCLGVBQWM7SUFDZCxZN0N2R2lCO0k2Q3dHakIsd0JBQXVCO0lBQ3ZCLHNCQUFxQjtJQUNyQixvQkFBbUI7SUFDbkIsZ0JBQWUsRUF5QmhCO0kzQzdIQzs7O00yQ3VHRSxZN0M5R2U7TTZDK0dmLDBCN0M3SGU7TTZDOEhmLGNBQWEsRTNDdEdkO0kyQ3lHRDs7TUFDRSxZN0N4SGM7TTZDeUhkLGdCQUFlLEVBS2hCO01BSEM7O1FBQ0UsOEJBQTZCLEVBQzlCO0lBR0g7O01BQ0UsZTdDekhrQixFNkMwSG5CO0lBRUQ7O01BQ0UsaUJBQWdCO01BQ2hCLG9CdEJ6SGlDLEVzQjBIbEM7RUFHSDtJQUNFLG9CdEI5SG1DO0lzQitIbkMsb0J0Qm5JaUI7SXNCb0lqQix1QnRCaEltQztJc0JpSW5DLG1CdEJySWlCLEVzQnNJbEI7RUE0Q0M7SUF0Q0YsaUJBQXlCO0lBQ3pCLDJCN0NsS21CLEU2Q3lNaEI7RUFFRDtJMUNyTUEsb0JRd0J3RTtJUnBCeEUsZTBDNEoyQjtJQUM3QixxQnRCbEptQjtJc0JtSm5CLGlCQUFnQixFQXFDYjs7QUNwTEQ7RWZ5SkYsc0IvQjVJb0IsRThDWGpCO0VmMEpIO0lBQ0UsZUFBYyxFQU1mO0lBSEM7TUFDRSxjQUFhLEVBQ2Q7O0FFbkJIOztFQUNFLGVBQWMsRUFNZjtFQUhDOztJQUNFLGNBQWEsRUFDZDs7QUFJRDs7RUFDRSxzQmpDN0lnQixFaUM4SWpCOztBYWpJSDtFQXBDQSxvQnZCTW1CLEV1QmtDbEI7O0FDOEVEO0UvQlNFLGNPN0dtQztFd0J0Qm5DLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsVUFBUztFQUNULGNBQWE7RUFDYix1QkFBc0I7RUFDdEIsb0JBQW1CO0VBQ25CLHdCQUF1QjtFQUN2QixhQUFZO0VBQ1osYUFBWTtFQUNaLHFCbkRDd0U7RW1EQXhFLG9CQUFtQjtFQUNuQixtQkFBa0I7RUFDbEIsaUJBQWdCO0VBQ2hCLHFFQUFvRSxFQW1KckU7RUFqSkM7SUFDRSxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLGVBQWM7SUFDZCxZQUFXO0lBQ1gsYUFBWTtJQUNaLFlBQVc7SUFDWCx5RkFBcUYsRUFDdEY7RUFzR0Q7SUFqRkEsbUJBQWtCO0lBQ2xCLFdBQVU7SUFDVixZQUFXO0lBQ1gsZ0JBQWU7SUFDZixhQUFZO0lBQ1osa0JBQWlCO0lBQ2pCLHdCQUF1QjtJQUV2Qix1QkFBc0I7SUFDdEIsbUJBQWtCLEVBMEVqQjtFQUVEO0lBM0RGLFdBQVU7SUFDVixjQUFhO0lBQ2IsZUFBYztJQUNkLHVCQUFzQjtJQUN0QixvQkFBbUI7SUFDbkIsd0JBQXVCO0lBQ3ZCLFkvQ25GbUI7SStDb0ZuQixtQkFBa0I7SUFZWixvQ0FBMEQsRUEwQzdEO0loRHhGRDtNZ0RzRkE7UUFqREEsZUFBYyxFQW1EYixFQUFBO0loRHhGRDtNZ0RzRkE7UUF4Q0ksb0NBQTBELEVBMEM3RCxFQUFBO0VBRUQ7SS9CRkEsbUJPakhzQztJd0JtRnhDLFdBQVU7SUFDVixlQUFjLEVBaUNYO0lBOUJIO01BQ0UsWS9DakhpQjtNK0NrSGpCLG1CL0NsSGlCLEUrQ21IbEI7RUFLRDtJL0JrQkUsb0JPakhzQyxFd0JpR3ZDO0VBMkJHO0lBbkhGLGFBQVk7SUFDWixzQm5EbEJ3RSxFbURzSXJFO0VBSUQ7SUEzRkYscUJBQW9CLEVBNkZqQjtFQUlEO0lBN0ZGLHdCQUF1QixFQStGcEI7O0FDMlNMO0VBdmJFLGdCQUFlO0VBQ2YsT0FBTTtFQUNOLFNBQVE7RUFDUixVQUFTO0VBQ1QsUUFBTztFQUNQLGNQM0JrQjtFTzRCbEIsY0FBYTtFQUNiLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFHaEIsV0FBVSxFQWlmWDtFQTNlUztJQUNOLGlCQUFnQixFQUNqQjtFQXVhRDtJQXJYQSxnQkFBZTtJQUNmLE9BQU07SUFDTixTQUFRO0lBQ1IsVUFBUztJQUNULFFBQU87SUFDUCxjUGpHMkI7SU9rRzNCLFlBQVc7SUFDWCx1QmhEdkZpQixFZ0R1Y2hCO0lBOVdEO01BQ0UsV0FBVSxFQUNYO0lBRUQ7TUFDRSxhQXZHdUIsRUF3R3hCO0VBMFdEO0lBMVZBLG1CQUFrQjtJQUNsQixjQUFhO0lBQ2IsdUJBQXNCO0lBQ3RCLFlBQVc7SUFDWCxnQkFBZTtJQUNmLGFBQVk7SUFDWixVQUFTO0lBR1QsdUJoRHBJaUI7SWdEc0lqQiw2QkFBNEI7SUFDNUIsV0FBVSxFQWdWVDtJaEJyWks7TU4zRU4sb0NzQmN3QztNQXNJdEMsK0JBckl1QyxFaEI4RDFDO0lBRk87TWdCNkVKLGdCQXhJd0IsRWhCNkQzQjtJakNsQkM7TWlEbWFBO1FuQzNkRix5Q2JrQm1CO1FnRHlJZixhcERwSXNFO1FvRHFJdEUsYUFBWTtRQUNaLHVCQUFnRDtRQUNoRCx1QmhENUplO1FnRDZKZix1QnpCeEptQixFeUJzZHBCLEVBQUE7SUEzVEQ7TUFDRSxtQkFBa0I7TUFDbEIsVXpCN0llO015QjhJZixZekI5SWU7TXlCK0lmLGNQL0pnQjtNT2dLaEIsZUFBYyxFQUNmO0VBdVREO0lBelFBLG1CQUFrQjtJQUNsQixjQUFhO0lBQ2IsZ0JBQWU7SUFDZixvQkFBbUI7SUFDbkIsMEJ6Qm5NaUI7SXlCb01qQixlaEQzTXlCLEVnRGlkeEI7SWpEemFEO01pRHVhQTtRQWpRRSxnQ3pCdk5tQjtReUJ3Tm5CLGlDekJ4Tm1CLEV5QjBkcEIsRUFBQTtFQUVEO0lBMU5GLHNCekIxT3dDO0l5QjJPeEMsbUJBQWtCO0lBQ2xCLGVBQWMsRUEwTlg7RUFFRDtJN0MvZEEscUJQZXdFO0lPWHhFLGlCTG9CZ0I7SWtEOE5sQixpQkFBZ0I7SUFDaEIsc0J6QnBPcUM7SXlCcU9yQyxlQUFjLEVBeU9YO0VBRUQ7SUF2TkYsbUJBQWtCO0lBQ2xCLGN6QnRQd0M7SXlCdVB4QyxhekIvUG1CO0l5QmdRbkIsV0FBVTtJQUNWLGFBQVk7SUFDWixlQUFjO0lBQ2QsOEJBQTZCO0lBQzdCLFVBQVMsRUFrTk47SWpEcmJEO01pRG1iQTtRQTdNQSxnQmxEcFFvQixFa0RtZG5CO1FBN01EO1VBQ0UscUJ6QnRRaUMsRXlCdVFsQyxFQUFBO0VBNk1EO0lBcE1BLG1CQUFrQjtJQUNsQixRQUFPO0lBQ1AsZ0J6QjlRc0M7SXlCK1F0QyxpQkFBZ0IsRUFtTWY7RUFFRDtJQTFERixnQnpCMVp3QztJeUIyWnhDLGFBQVksRUEyRFQ7SWpEN2JEO01pRDJiQTtRQXREQSxrQkFBaUIsRUF3RGhCLEVBQUE7RUFFRDtJN0MvZUEscUJQZXdFO0lPWHhFLGlCTG9CZ0I7SWtEd2FsQixnQnpCemF3QztJeUIwYXhDLGVoRDdib0I7SWdEOGJwQiwyQmhEeGNtQixFZ0R1ZmhCO0VBcmNDO0lBa0lGLFloRGhMaUI7SWdEaUxqQix1QmhEcktpQjtJZ0RzS2pCLFVBQVMsRUFsSU47SWpERUg7TWlESkU7UUF1SUEsV0FBVSxFQXJJVCxFQUFBO0lBd0lIO01BMUlFO1FBMklBLHdCQUF1QjtRQUN2QixZQUFXO1FBQ1gsYUFBWTtRQUNaLFVBQVMsRUE1SVIsRUFBQTtJakRFSDtNaURKRTtRQWtKQSxXQUFVO1FBQ1Ysa0JBQWlCLEVBakpoQixFQUFBO0VBRUQ7SUErS0YsWWhEak9pQixFZ0RvRGQ7SUErS0g7TUFqTEU7UUFrTEEsY0FBYSxFQWhMWixFQUFBO0VBRUQ7STdDcERGLHFCUGV3RTtJT1h4RSxpQkxvQmdCO0lrRDhObEIsaUJBQWdCO0lBQ2hCLHNCekJwT3FDO0l5QnFPckMsZUFBYyxFQWxNVDtFQUVEO0lBaVBGLGNBQWE7SUFDYixrQkFBaUI7SUFDakIsMEJBQXlCO0lBQ3pCLHdCQUF1QjtJQUN2QixXQUFVO0lBQ1YsbUJBQWtCLEVBcFBmO0lqRFZIO01pRFFFO1FBeVBBLFlBQVc7UUFDWCxvQkFBbUI7UUFDbkIsc0J6QjVSb0MsRXlCbUNuQyxFQUFBO0lBNFBIO01BOVBFO1FBK1BBLG1CekJoU29DLEV5Qm1DbkMsRUFBQTtJakRRQztNaURWRjtRQW9RQSxrQkFBaUIsRUFsUWhCLEVBQUE7RUFFRDtJQThRSixRQUFPLEVBNVFGO0lqRGRIO01pRFlFO1FBaVJGLGVBQWM7UUFDZCxnQkFBZSxFQWhSWixFQUFBO0lqRElDO01pRE5GO1FBc1JGLGNBQWE7UUFDYixlQUFjO1FBQ2QsYUFBWSxFQXRSVCxFQUFBO0VBRUQ7SUE4UkosbUJBQWtCO0lBQ2xCLGNBQWE7SUFDYixRQUFPO0lBQ1AsZ0JBQWU7SUFDZiw2QkFBNEI7SUFDNUIsdUJ6QjVVd0M7SXlCNlV4QyxnQkFBZTtJQUNmLGVoRDdWMkI7SWdEOFYzQix1QmhEeFdtQixFZ0RvRWQ7SWpEbEJIO01pRGdCRTtRQXlTRixlQUFjLEVBdlNYLEVBQUE7SUEwU0w7TUE1U0k7UUE2U0YsY0FBYSxFQTNTVixFQUFBO0lqREFDO01pREZGO1FBaVRGLGNBQWEsRUEvU1YsRUFBQTtJQW1USDtNQUNFLG1CQUFrQixFQUNuQjtJQUVEO01BQ0UsbUJBQWtCO01BQ2xCLDJCaERqWWUsRWdENFloQjtNQVRDO1FBQ0UsbUJBQWtCO1FBQ2xCLFdBQVU7UUFDVixjekJ6V2tDO1F5QjBXbEMsYXpCMVdrQztReUIyV2xDLGFBQVk7UUFDWixZQUFXO1FBQ1gsdUVBQWtGLEVBQ25GO0VBalVEO0lBNFVKLHlCekJ6WHdDO0l5QjBYeEMsaUJBQWdCLEVBM1VYO0VBRUQ7SUFrVkosUUFBTztJQUNQLHlCQUE4QyxFQWpWekM7SWpEMUJIO01pRDhXQTtRQUNFLGlCQUFnQjtRQUNoQixlQUFjLEVBQ2YsRUFBQTtJakRqWEQ7TWlEOFdBO1FBUUUsaUJBQWdCLEVBQ2pCLEVBQUE7RUFxRkU7SUFqU0gsWWhEN05pQjtJZ0Q4TmpCLDBCaERwTnlCLEVnRHVmcEI7RWpEL2NMO0lpRHFkRztNbkM3Z0JMLGlCbUM2SytCO01BQzNCLFlBQVc7TUFDWCxhQUFZO01BQ1osVUFBUztNQUNULGFBQVk7TUFDWixpQkFBZ0IsRUE4VmIsRUFBQTtFakR4ZEw7SWlEcWRHO01BOVJELGlCQUFnQixFQXFTYixFQUFBOztBQ3JhUDtFOUN2R0Usb0JQZXdFO0VPWHhFLGU4QzZCbUQ7RUFFbkQsbUJBQWtCO0VBQ2xCLGNBQWE7RUFDYixvQkFBbUI7RUFDbkIsYzFCdkJpQjtFMEJ3QmpCLGtCQUFpQjtFQUNqQix1QnJEekJ3RSxFcUQ4SHpFO0VBdENEO0l2QmxIRSxpQ0FPNkMsRUFLNUM7SUFIQztNQUNFLFdBQVUsRUFDWDtFdUIwQ0g7SUFDRSxxQjFCeEJpQztJMEJ5QmpDLHlDQUF3QztJQUN4QyxtQnJEOUJzRSxFcUQrQnZFO0VBR0Q7SUFDRSx5QnJEbkNzRSxFcURvQ3ZFO0VBdUREO0lBekJGLG1CQUFrQjtJQUNsQixZMUJuRW1CO0kwQm9FbkIsZUFBYyxFQXlCWDtFQUdDO0lBckJKLGVqRDFFdUI7SWlEMkV2QiwwQmpEdkVxQjtJaUR3RXJCLHNCakQxRXFCLEVpRCtGaEI7SUFuQkw7TUFDRSxpQnBCN0R5RixFb0I4RDFGO0VBcUJHO0lBM0JKLGVqRHhEdUI7SWlEeUR2QiwwQmpEN0RzQjtJaUQ4RHRCLHNCakQ1RG9CLEVpRHVGZjtJQXpCTDtNQUNFLGlCcEI3RHlGLEVvQjhEMUY7RUEyQkc7SUFqQ0osZWpEOUN1QjtJaUQrQ3ZCLDBCakRuRHNCO0lpRG9EdEIsc0JqRGxEc0IsRWlEbUZqQjtJQS9CTDtNQUNFLGlCcEI3RHlGLEVvQjhEMUY7RUFpQ0c7SUF2Q0osZWpEbEYyQjtJaURtRjNCLDBCakQvRm1CO0lpRGdHbkIsbUJqRHRGa0IsRWlENkhiO0lBckNMO01BQ0UsaUJwQjdEeUYsRW9COEQxRjtFQTlCQztJQUNFLGVBQWMsRUFDZjs7QUNzRUg7RUE3SEUsY0FBYTtFQUNiLFdBQVU7RUFDVixVQUFTO0VBQ1QsaUJBQWdCLEVBd0pqQjtFQTFCRztJQTNIRix3QkFBdUIsRUE2SHBCO0VBR0g7SUFuSEYsY0FBYTtJQUNiLFkzQk5xQztJMkJPckMsYTNCUHFDO0kyQlFyQyxxQjNCaEJxQztJMkJpQnJDLGdCQUFlLEVBaUhaO0lBOUdIO01BQ0UsY0FBYSxFQUNkO0lBSUQ7TUFDRSxjQUFhO01BQ2IsV0FBVTtNQUNWLG9CQUFtQjtNQUNuQix3QkFBdUIsRUFDeEI7SW5ERkM7TW1EVEY7UUFnQkksY0FBYSxFQUNkO01BR0Q7UUFDRSxjQUFhLEVBQ2QsRUFBQTtFbkRiRDtJbUR1R0E7TUE5RUEsbUJBQWtCLEVBZ0ZqQjtNQTlFRDtRQUNFLHVCbERsRmUsRWtEbUZoQjtNaERORDtRZ0RVSSxZbERuRmE7UWtEb0ZiLDBCbERwRWdCLEVFNkRuQixFQUFBO0VBSkQ7SWdEcURBLGVsRDlHb0IsRUU2RG5CO0VnRG9ESDtJQUNFLCtCekNkcUM7SXlDZXJDLGlCckIvRnlGLEVxQmdHMUY7RWhEM0RDO0lnRHFEQSxlbEQ5R29CLEVFNkRuQjtFZ0RvREg7SUFDRSwrQnpDZHFDO0l5Q2VyQyxpQnJCL0Z5RixFcUJnRzFGO0VBdkJEO0lBQ0UsY0FBYSxFQUNkO0VuRDdEQztJbUQyREY7TUFPSSxlQUFjLEVBQ2YsRUFBQTs7QUMvSEw7RUFNRSxtQkFBa0I7RUFDbEIsWUFBVztFQUNYLHVCQUFzQixFQTJEdkI7RUFuRUQ7SUFXSSxvQkFBbUIsRUFDcEI7RUFFRDtJQUNFLGlCQUFnQixFQUNqQjtFQUVEO0lBQ0UsbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCxpQkFBZ0I7SUFDaEIsNEJBQTJCO0lBQzNCLDZCQUE0QjtJQUM1QixvQkFBbUI7SUFDbkIsaUJBQWdCO0lBQ2hCLFdBQVU7SUFDVixvQkFBbUI7SUFDbkIsY0FBYTtJQUNiLGtCQUFpQjtJQUNqQix1QkFBc0IsRUFLdkI7SUFIQztNQUNFLGtCQUFpQixFQUNsQjtFQUdIO0lBQ0UsWUFBVztJQUNYLGFBQVk7SUFDWixlQUFjO0lBQ2Qsb0JBQW1CO0lBQ25CLGtCQUFpQjtJQUNqQiw0QkFBMkI7SUFDM0IseUNBQXdDLEVBUXpDO0lBZkE7TUFVRyxrQkFBaUI7TUFDakIsd0JBQXVCO01BQ3ZCLHVCQUFzQjtNQUN0QixzQkFBcUIsRUFDdEI7RUFHSDtJQUNFLDRCQUEyQjtJQUMzQixrQkFBaUIsRUFDbEI7RUFFRDtJQUNFLDRCQUEyQjtJQUMzQixrQkFBaUIsRUFDbEI7RUFFRDtJQUNFLGVBQWMsRUFDZjs7QUM2RUM7RUEzSEEsV0FBVSxFQTZIVDtFQTFIQztJQUdFLFlBQVcsRUFDWjtFQUVEO0lBQ0UsbUJBQWtCO0lBQ2xCLGE3QklrQztJNkJIbEMsWUFBVztJQUNYLGdCN0JFa0M7STZCRGxDLFdBQVU7SUFDVixZQUFXO0lBQ1gsdUZBQTZGO0lBQzdGLGlEcEQzQmEsRW9ENEJkOztBQU1DO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0UsY0FBYSxFQUNkOztBRGhDUDtFQytDQSxVQUFTLEVBd0ZOOztBRG5HSDtFQ29CQSxtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLFlBQVc7RUFDWCxrQkFBaUIsRUFnRmQ7O0FBRUQ7RUF6RUYsZ0JBQWU7RUFDZiw4QkFBNkI7RUFDN0IsVUFBUyxFQXlFTjtFQXZFSDtJQUNFLG1CQUFrQjtJQUNsQixZQUFXLEVBQ1o7RUFFRDtJQUNFLG1CQUFrQjtJQUNsQixhQUFZLEVBQ2I7O0FEdkNEO0VDZ0RBLG1CQUFrQixFQTBEZjs7QUFFRDtFQWpERixZQUFXO0VBQ1gsYUFBWTtFQUNaLFdBQVU7RUFDVixnQkFBZTtFQUNmLHVCcERwSG1CO0VvRHFIbkIsVUFBUztFQUNULG1CQUFrQixFQTZDZjtFQTNDSDtJQUVFLDBCcEQ1R3lCLEVvRDZHMUI7RUFFRDtJQUNFLGtCN0J6R2lCLEU2QjBHbEI7O0FDMUNEO0VBNUVBLHNCQUFxQjtFQUNyQixjOUJXbUIsRThCOEVsQjtFQVhDO0lBckVGLHNCQUFxQjtJQUNyQixVQUFTO0lBQ1QsMEJBQXlCLEVBcUV0QjtFQUVEO0lBaEVGLGtCOUJLcUM7SThCSnJDLGdCQUFlLEVBaUVaO0lBL0RIO01BQ0UsZXJEOEJ5QixFcUQ3QjFCO0lBRUQ7TUFDRSxlckRvQjBCLEVxRG5CM0I7SUFFRDtNQUNFLGVyREVvQixFcUREckI7SUFFRDtNQUNFLGVyRGR3QixFcURlekI7SUFFRDtNQUNFLGVyRHRDa0IsRXFEdUNuQjtJQUVEO01BQ0UsZXJEdEN5QixFcUR1QzFCO0lBRUQ7TUFDRSxlckQxQ3lCLEVxRDJDMUI7RUF1Q0M7SUE5QkYsZUFBYztJQUNkLGlCQUFnQixFQStCYjtJQTdCSDtNQUNFLHVCOUI3Q21DO004QjhDbkMsc0I5QjlDbUM7TThCK0NuQyw4QnJEeEVpQixFcUR5RWxCO0lBRUQ7TUFDRSxtQkFBNkIsRUFDOUI7O0FDckNEO0V6QzFDQSx5Q0NZdUM7RURUckMsNEJDdUJvQjtFd0NWcEIsZ0JBQWU7RUFDZixVQUFTO0VBQ1QsUUFBTztFQUNQLGNicEJZO0VhcUJaLGNBQWE7RUFDYixZQUFXO0VBQ1gsdUJ0RGhCaUIsRXNEa0RsQjtFekNuREM7SUFDRSwwQ0NPbUMsRUROcEM7RXlDdUNDO0lBckJGLGVBQWMsRUF1Qlg7RUFJRDtJQXhCRixtQkFBa0IsRUEwQmY7O0FDc0tMO0VBN01FLHVCdkRiaUI7RWFGbkIseUNDQ3FDLEV5QzJRcEM7RUE3Q0M7SUF6TEEsY0FBYTtJQUNiLGdCQUFlO0lBQ2YsV0FBVTtJQUNWLFVBQVM7SUFDVCxpQkFBZ0I7SUFDaEIsOEJ2RHpDaUIsRXVEK05oQjtFQXBLRDtJQUNFLGVBQWM7SUFDZCw0QnZEN0RlLEV1RGlHaEI7SUFsQ0M7TUFDRSxrQkFBaUIsRUFDbEI7SUFFRDtNQUNFLGVBQWM7TXZDMEVsQixjT3pIaUI7TXBCZmpCLG9CZVJ3RDtNZll4RCxpQkxvQmdCO015RHlDWixrQkFBaUI7TUFDakIsbUJBQWtCO01BQ2xCLDBCQUF5QixFQXVCMUI7TXJEekVIO1FxRG9ETSxldkR2RGMsRUVNbkI7TXFEb0RHO1FBQ0UsbUJBQWtCLEVBWW5CO1FBVkM7VUFDRSxtQkFBa0I7VUFDbEIsU0FBUTtVQUNSLFVBQVM7VUFDVCxRQUFPO1VBQ1AsZUFBYztVQUNkLFlBQVc7VUFDWCxZQUFXO1VBQ1gsMEJ2RGpFVyxFdURrRVo7TUFHSDtRQUNFLGV2RHBGWSxFdURxRmI7RS9DNUZQOzs7SUFDRSxzQkFBcUI7SUFDckIsK0JBQXlCO0lBQ3pCLG9CR3dCd0U7SUh2QnhFLG1CQUFrQjtJQUNsQixvQkFBbUI7SUFDbkIscUJBQW9CO0lBQ3BCLGVBQWM7SUFDZCx5QkFBd0I7SUFDeEIscUJBQW9CO0lBQ3BCLG1DQUFrQztJQUNsQyxvQ0FBbUM7SUFDbkMsbUNBQWtDO0lBQ2xDLHdCQUF1QjtJQUN2Qiw0QkFBMkI7SUEwQjNCLGlCQUFxQztJK0M2RC9CLHFCaEMvRTZCLEVmTHBDO0UrQzJGSzs7O0lwRHpHSixvQmVSd0Q7SWZZeEQsaUJMb0JnQjtJeURtRlYsa0JBQWlCO0lBQ2pCLDBCQUF5QixFQUMxQjtFQW1ITDtJQXhGQSxtQkFBa0I7SUFDbEIsV0FBVTtJdkNuQk4scUJPdkdhLEVnQ21OaEI7SXhEbExEO013RGdMQTtRdkMxR0kscUJPM0YrQixFZ0N1TWxDLEVBQUE7RTdCdk9EO0lBTkEsaUNBTzZDLEVBSzVDO0lBSEM7TUFDRSxXQUFVLEVBQ1g7RTZCNExIO0lBQ0UsY0FBYSxFQUNkO0VBRUQ7SUFDRSxpQkFBZ0IsRUFDakI7RUF3Q0M7SUE3TkYsYUFBWSxFQTJPVDtJMUNuUEw7TUFFRSxpQkFBZ0IsRUFDakI7STBDa09JO01BbE1ILG9CQUFtQixFQXVNZDtJQTNITDtNQUNFLGVBQWM7TUFDZCxrQkFBaUIsRUFLbEI7TUFIQztRQUNFLGVBQWMsRUFDZjtJQXNCSDtNQUNFLG1CQUFrQjtNQUNsQixPQUFNO01BQ04sU0FBUTtNQUNSLFVBQVM7TUFDVCxRQUFPO01BQ1AsWUFBVztNQUNYLGVBQWM7TUFDZCxZQUFXO01BQ1gsdUJ2RDNKZTtNdUQ0SmYsdUJ2RGhLZTtNYUZuQix5Q0NDcUMsRXlDbUtsQztFQWdHRTtJQTVGSCx1QjVDeEl3RSxFNEN1T25FO0lBN0ZMO01BQ0UsbUJBQWtCO01BQ2xCLE9BQU07TUFDTixpQjVDN0lzRTtNNEM4SXRFLFVBQVM7TUFDVCxZQUFXO01BQ1gsZUFBYztNQUNkLGFBQVk7TUFDWixtQkFBa0I7TUFDbEIsWUFBVztNQUNYLDBCdkRoTGUsRXVEaUxoQjs7QUNtQkg7RTlCM01FLGlDOEJjMkM7RWhDVDNDLHNCRFN1QjtFaUNFdkIsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixRQUFPO0VBQ1AsY2Zib0I7RWVjcEIsZUFBYztFQUNkLGlCNURLd0U7RTRESnhFLGNqQ0lpQjtFaUNIakIsdUJ4RGRpQjtFd0RlakIsdUJ4RG5CaUI7RXdEb0JqQix5Q0FBdUM7RUFDdkMsV0FBVTtFQW9MVixrQkFBa0I7RUFTbEIsZUFBZSxFQWdCaEI7RUEzTUM7SUFDRSxXQUFVLEVBQ1g7RUFFRDtJQUNFLG1CQy9CZ0IsRURnQ2pCO0VBQ0Q7SUFDRSxpQkNsQ2dCLEVEbUNqQjtFQUNEO0lBQ0UsZ0JDckNnQixFRHNDakI7RUFDRDtJQUNFLGtCQ3hDZ0IsRUR5Q2pCO0VBb0tEO0lyRHBNQSxvQmVSd0Q7SWZZeEQsaUJMb0JnQjtJMEQwQmhCLFl4RHhDaUI7SXdEeUNqQixtQkFBa0I7SUFFbEIsc0JBQXFCLEVBaUpwQjtFQUVEO0lBaklBLFlDaEZrQjtJRGlGbEIsbUJ4RDlFaUIsRXdEZ05oQjtJQWhJRDtNQUVFLG1CQUFrQjtNQUNsQixTQUFRO01BQ1IsVUFBUztNQUNULG9CQUFtQixFQUNwQjtJQUVEO01BQ0UsWUFBVztNQUNYLG1CeER0RmUsRXdEdUZoQjtJeEJyQks7TXdCd0JKLGFDakdnQjtNRGtHaEIsc0JBQXNDO01BQ3RDLGNBQWE7TUFDYixpQkFBZ0I7TUFDaEIsNEJDckdnQixFekIyRW5CO01BRlE7UXdCZ0NILGdDQUErQjtRQUMvQixpQ0FBZ0M7UUFDaEMsK0JBQThCLEVBQy9CO014Qm5DSTtRd0JzQ0gsVUMvR2M7UURnSGQsV0FuQ2dDO1FBb0NoQyw0QkFwQ2dDLEVBcUNqQztJeEJ6Q0c7TXdCNkNKLHFCQUFxQztNQUNyQyxXQ3ZIZ0I7TUR3SGhCLGdCQUFlO01BQ2YsZUFBYztNQUNkLDRCQUFxRSxFeEIvQ3hFO01BRlE7UXdCcURILDhCQUE2QjtRQUM3QixpQ0FBZ0M7UUFDaEMsK0JBQThCLEVBQy9CO014QnhESTtRd0IyREgsVUF2RGdDO1FBd0RoQyxVQUFTO1FBQ1QsNEJBQXlELEVBQzFEO0l4QjlERztNd0JrRUosVUMzSWdCO01ENEloQixzQkFBc0M7TUFDdEMsY0FBYTtNQUNiLGlCQUFnQjtNQUNoQiw0QkMvSWdCLEV6QjJFbkI7TUFGUTtRd0IwRUgsOEJBQTZCO1FBQzdCLGdDQUErQjtRQUMvQiwrQkFBOEIsRUFDL0I7TXhCN0VJO1F3QmdGSCxTQUFRO1FBQ1IsV0E3RWdDO1FBOEVoQyw0QkE5RWdDLEVBK0VqQztJeEJuRkc7TXdCdUZKLHFCQUFxQztNQUNyQyxZQ2pLZ0I7TURrS2hCLGdCQUFlO01BQ2YsZUFBYztNQUNkLDRCQ3BLZ0IsRXpCMkVuQjtNQUZRO1F3QitGSCw4QkFBNkI7UUFDN0IsZ0NBQStCO1FBQy9CLGlDQUFnQyxFQUNqQztNeEJsR0k7UXdCcUdILFVBakdnQztRQWtHaEMsV0MvS2M7UURnTGQsNEJBbkdnQyxFQW9HakM7RUFzQ0Q7SUExS0YsdUJ4RDFCaUI7SXdEMkJqQix1QnhEM0JpQixFd0Q4TWQ7SUFWQTtNQXJKSCxZeEQzRGlCLEV3RHFOWjtJQUxGO01BakNILG1CeERuS2lCLEV3RDZNWjtNQXhDTDtRQUNFLG1CeER0S2UsRXdEdUtoQjs7QUU3RUg7RUNwR0EsY0FBYTtFQUNiLG9CQUFtQixFRHNJbEI7RUFqSEQ7SUFDRSxpQm5DUmlCLEVtQ1NsQjtFQWdGQztJQXRFQSxlQUFjO0lBQ2QscUJuQ2hCbUMsRW1DdUZsQztFQUdEO0l2RDdHQSxxQlBld0U7SU9YeEUsa0J1REdtQztJQStDckMsWUFBVztJQUNYLGlCQWxEbUQsRUEwR2hEO0VBR0Q7SXZEbEhBLG9CUGV3RTtJT1h4RSxpQnVES2tDO0lBd0RwQyxlQUFjO0lBQ2Qsa0JBQWlCLEVBa0RkO0lBL0NIO01wQnJERSx5QjFDRHdFO00wQ0V4RSxtQkFBa0I7TUFDbEIsZXRDVnlCO01zQ1d6QixzQnJDM0JxQjtNcUM0QnJCLGtDdENsQnNCO00wRHNFdEIsaUNBQWdDLEVBQ2pDO014RHBCQztRb0NuQkUsZXRDb0JpQjtRc0NuQmpCLHNCckN2Q3lCO1FxQ3dDekIsZ0JBQWU7UUFDZixrQ3RDaUJpQixFRUVsQjtNb0NmRDtRWHBDRiwwQkFBeUI7UUFDekIsb0JBQW1CO1FBQ25CLHVCM0IrQ3FCO1EyQjlDckIsa0JBQWlCLEVXbUNkO0VvQjJFRDtJQXBDRixlQUFjO0lBQ2Qsa0JBQWlCO0lBQ2pCLFkxRDlFa0IsRTBEa0hmO0VBRUQ7SUE3QkYsZ0JBQWU7SUFDZixZMUR4RmtCLEUwRHNIZjtFQUdFO0loQjlFSCxZOUNsQ3dFO0k4Q21DeEUsYTlDbkN3RTtJOER5QnhFLG1CQXRDbUUsRUFnSTlEOztBQ3JFUDtFQTdEQSxjQUFhO0VBQ2Isb0JBQW1CLEVBOERsQjs7QUFFRDtFQW5ETSxxQkFBZ0M7RUFDaEMsb0JBQStCLEVBb0RwQztFNURuQkM7STREaUJGO01BbkRNLHNCQUFnQztNQUNoQyxxQkFBK0IsRUFvRHBDLEVBQUE7RTVEbkJDO0k0RGlCRjtNQW5ETSxtQkFBZ0M7TUFDaEMsa0JBQStCLEVBb0RwQyxFQUFBOztBQXRDRDtFQUNFLGlCQUFnQjtFQUNoQixnQkFBZSxFQUNoQjs7QUEwQ0M7RUFoQ0EsNEJBQTJCLEVBa0MxQjs7QUFFRDtFQWpDQSx3QkFBdUIsRUFtQ3RCOztBQUVEO0VBbENBLDBCQUF5QixFQW9DeEI7O0FBNERHO0VBM0JKLHNCQUFpQztFQUNqQyxxQkFBZ0MsRUE0QjNCOztBQUZEO0VBUUEsWUFBVyxFQUNaOztBQU1DO0VBaEVKLG1CQUF3QztFQUN4QyxvQkFBeUMsRUFpRXBDOztBQUZEO0VBaEVKLG9CQUF3QztFQUN4QyxxQkFBeUMsRUFpRXBDOztBQUZEO0VBaEVKLGNBQXdDO0VBQ3hDLGVBQXlDLEVBaUVwQzs7QUFGRDtFQWhFSixvQkFBd0M7RUFDeEMscUJBQXlDLEVBaUVwQzs7QUFGRDtFQWhFSixvQkFBd0M7RUFDeEMscUJBQXlDLEVBaUVwQzs7QUFGRDtFQWhFSixjQUF3QztFQUN4QyxlQUF5QyxFQWlFcEM7O0FBRkQ7RUFoRUosb0JBQXdDO0VBQ3hDLHFCQUF5QyxFQWlFcEM7O0FBRkQ7RUFoRUosb0JBQXdDO0VBQ3hDLHFCQUF5QyxFQWlFcEM7O0FBRkQ7RUFoRUosY0FBd0M7RUFDeEMsZUFBeUMsRUFpRXBDOztBQUZEO0VBaEVKLG9CQUF3QztFQUN4QyxxQkFBeUMsRUFpRXBDOztBQUZEO0VBaEVKLG9CQUF3QztFQUN4QyxxQkFBeUMsRUFpRXBDOztBQUZEO0VBaEVKLGVBQXdDO0VBQ3hDLGdCQUF5QyxFQWlFcEM7O0FBT0M7RUE5RE4sc0JBQTJDLEVBZ0VwQzs7QUFGRDtFQTlETix1QkFBMkMsRUFnRXBDOztBQUZEO0VBOUROLGlCQUEyQyxFQWdFcEM7O0FBRkQ7RUE5RE4sdUJBQTJDLEVBZ0VwQzs7QUFGRDtFQTlETix1QkFBMkMsRUFnRXBDOztBQUZEO0VBOUROLGlCQUEyQyxFQWdFcEM7O0FBRkQ7RUE5RE4sdUJBQTJDLEVBZ0VwQzs7QUFGRDtFQTlETix1QkFBMkMsRUFnRXBDOztBQUZEO0VBOUROLGlCQUEyQyxFQWdFcEM7O0FBRkQ7RUE5RE4sdUJBQTJDLEVBZ0VwQzs7QUFGRDtFQTlETix1QkFBMkMsRUFnRXBDOztBNUQxSFA7RTREdUdFO0lBQ0UsWUFBVyxFQUNaO0VBTUM7SUFoRUosbUJBQXdDO0lBQ3hDLG9CQUF5QyxFQWlFcEM7RUFGRDtJQWhFSixvQkFBd0M7SUFDeEMscUJBQXlDLEVBaUVwQztFQUZEO0lBaEVKLGNBQXdDO0lBQ3hDLGVBQXlDLEVBaUVwQztFQUZEO0lBaEVKLG9CQUF3QztJQUN4QyxxQkFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosb0JBQXdDO0lBQ3hDLHFCQUF5QyxFQWlFcEM7RUFGRDtJQWhFSixjQUF3QztJQUN4QyxlQUF5QyxFQWlFcEM7RUFGRDtJQWhFSixvQkFBd0M7SUFDeEMscUJBQXlDLEVBaUVwQztFQUZEO0lBaEVKLG9CQUF3QztJQUN4QyxxQkFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosY0FBd0M7SUFDeEMsZUFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosb0JBQXdDO0lBQ3hDLHFCQUF5QyxFQWlFcEM7RUFGRDtJQWhFSixvQkFBd0M7SUFDeEMscUJBQXlDLEVBaUVwQztFQUZEO0lBaEVKLGVBQXdDO0lBQ3hDLGdCQUF5QyxFQWlFcEM7RUFPQztJQTlETixzQkFBMkMsRUFnRXBDO0VBRkQ7SUE5RE4sdUJBQTJDLEVBZ0VwQztFQUZEO0lBOUROLGlCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDO0VBRkQ7SUE5RE4sdUJBQTJDLEVBZ0VwQztFQUZEO0lBOUROLGlCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDO0VBRkQ7SUE5RE4sdUJBQTJDLEVBZ0VwQztFQUZEO0lBOUROLGlCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDO0VBRkQ7SUE5RE4sdUJBQTJDLEVBZ0VwQyxFQUFBOztBNUQxSFA7RTREZ0dJO0lBM0JKLHVCQUFpQztJQUNqQyxzQkFBZ0MsRUE0QjNCO0VBS0g7SUFDRSxZQUFXLEVBQ1o7RUFNQztJQWhFSixtQkFBd0M7SUFDeEMsb0JBQXlDLEVBaUVwQztFQUZEO0lBaEVKLG9CQUF3QztJQUN4QyxxQkFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosY0FBd0M7SUFDeEMsZUFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosb0JBQXdDO0lBQ3hDLHFCQUF5QyxFQWlFcEM7RUFGRDtJQWhFSixvQkFBd0M7SUFDeEMscUJBQXlDLEVBaUVwQztFQUZEO0lBaEVKLGNBQXdDO0lBQ3hDLGVBQXlDLEVBaUVwQztFQUZEO0lBaEVKLG9CQUF3QztJQUN4QyxxQkFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosb0JBQXdDO0lBQ3hDLHFCQUF5QyxFQWlFcEM7RUFGRDtJQWhFSixjQUF3QztJQUN4QyxlQUF5QyxFQWlFcEM7RUFGRDtJQWhFSixvQkFBd0M7SUFDeEMscUJBQXlDLEVBaUVwQztFQUZEO0lBaEVKLG9CQUF3QztJQUN4QyxxQkFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosZUFBd0M7SUFDeEMsZ0JBQXlDLEVBaUVwQztFQU9DO0lBOUROLHNCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDO0VBRkQ7SUE5RE4saUJBQTJDLEVBZ0VwQztFQUZEO0lBOUROLHVCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDO0VBRkQ7SUE5RE4saUJBQTJDLEVBZ0VwQztFQUZEO0lBOUROLHVCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDO0VBRkQ7SUE5RE4saUJBQTJDLEVBZ0VwQztFQUZEO0lBOUROLHVCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDLEVBQUE7O0E1RDFIUDtFNER1R0U7SUFDRSxZQUFXLEVBQ1o7RUFNQztJQWhFSixtQkFBd0M7SUFDeEMsb0JBQXlDLEVBaUVwQztFQUZEO0lBaEVKLG9CQUF3QztJQUN4QyxxQkFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosY0FBd0M7SUFDeEMsZUFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosb0JBQXdDO0lBQ3hDLHFCQUF5QyxFQWlFcEM7RUFGRDtJQWhFSixvQkFBd0M7SUFDeEMscUJBQXlDLEVBaUVwQztFQUZEO0lBaEVKLGNBQXdDO0lBQ3hDLGVBQXlDLEVBaUVwQztFQUZEO0lBaEVKLG9CQUF3QztJQUN4QyxxQkFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosb0JBQXdDO0lBQ3hDLHFCQUF5QyxFQWlFcEM7RUFGRDtJQWhFSixjQUF3QztJQUN4QyxlQUF5QyxFQWlFcEM7RUFGRDtJQWhFSixvQkFBd0M7SUFDeEMscUJBQXlDLEVBaUVwQztFQUZEO0lBaEVKLG9CQUF3QztJQUN4QyxxQkFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosZUFBd0M7SUFDeEMsZ0JBQXlDLEVBaUVwQztFQU9DO0lBOUROLHNCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDO0VBRkQ7SUE5RE4saUJBQTJDLEVBZ0VwQztFQUZEO0lBOUROLHVCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDO0VBRkQ7SUE5RE4saUJBQTJDLEVBZ0VwQztFQUZEO0lBOUROLHVCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDO0VBRkQ7SUE5RE4saUJBQTJDLEVBZ0VwQztFQUZEO0lBOUROLHVCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDLEVBQUE7O0E1RDFIUDtFNER1R0U7SUFDRSxZQUFXLEVBQ1o7RUFNQztJQWhFSixtQkFBd0M7SUFDeEMsb0JBQXlDLEVBaUVwQztFQUZEO0lBaEVKLG9CQUF3QztJQUN4QyxxQkFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosY0FBd0M7SUFDeEMsZUFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosb0JBQXdDO0lBQ3hDLHFCQUF5QyxFQWlFcEM7RUFGRDtJQWhFSixvQkFBd0M7SUFDeEMscUJBQXlDLEVBaUVwQztFQUZEO0lBaEVKLGNBQXdDO0lBQ3hDLGVBQXlDLEVBaUVwQztFQUZEO0lBaEVKLG9CQUF3QztJQUN4QyxxQkFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosb0JBQXdDO0lBQ3hDLHFCQUF5QyxFQWlFcEM7RUFGRDtJQWhFSixjQUF3QztJQUN4QyxlQUF5QyxFQWlFcEM7RUFGRDtJQWhFSixvQkFBd0M7SUFDeEMscUJBQXlDLEVBaUVwQztFQUZEO0lBaEVKLG9CQUF3QztJQUN4QyxxQkFBeUMsRUFpRXBDO0VBRkQ7SUFoRUosZUFBd0M7SUFDeEMsZ0JBQXlDLEVBaUVwQztFQU9DO0lBOUROLHNCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDO0VBRkQ7SUE5RE4saUJBQTJDLEVBZ0VwQztFQUZEO0lBOUROLHVCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDO0VBRkQ7SUE5RE4saUJBQTJDLEVBZ0VwQztFQUZEO0lBOUROLHVCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDO0VBRkQ7SUE5RE4saUJBQTJDLEVBZ0VwQztFQUZEO0lBOUROLHVCQUEyQyxFQWdFcEM7RUFGRDtJQTlETix1QkFBMkMsRUFnRXBDLEVBQUE7O0E1RG5GUDtFNkRqR0Y7SUNDUSxlQUFjO0lBQ2QsWUFBVztJQUNYLGFBQVksRUFDYixFQUFBOztBQ1JUO0VBQ0UsVUFBUyxFQVFWO0VBVEQ7SUFNSSxVQUFTLEVBQ1Y7O0FDUEg7RUFDRSxpQnhDd0NxQztFd0N2Q3JDLHFCeEN1Q3FDO0V3Q3RDckMsaUNBQWdDLEVBT2pDO0VBVkQ7SUFNSSxnQkFBZTtJQUNmLGFBQVk7SUFDWixhQUFZLEVBQ2I7O0FDVEg7RUFFSSxhQUFZO0VBQ1osYUFBWTtFQUNaLGNBQWEsRUFDZDs7QUNHSDtFQUNFLHNCMUM0QndDLEUwQ1p6QztFQWpCRDtJcERGRSx5Q29ESitDO0lBVzdDLHNCQUFxQixFQU90QjtJQVpIO01wREZFLHlDb0RBNEM7TUFXeEMsZ0NBQStCO01BQy9CLDJCQUEwQixFQUMzQjtFQVhMO0lBZUksc0JBQXFCLEVBQ3RCOztBQUdIO0VBQ0UsMEJBQXlCLEVBQzFCOztBQzdCRDtFQUNFLG1CQUFrQjtFQUNsQixvQjNDK0NvQyxFMkMvQnJDO0VBbEJEO0lBSUksYUFBWTtJQUNaLGdCQUFlO0lBQ2YsZUFBYyxFQUtmO0lBWEg7TUFTTSxvQjNDb0JlLEUyQ25CaEI7RUFWTDtJOUM0Qkksc0JBQXFCO0lBQ3JCLGtCQ2dFcUI7SUQvRHJCLG1CQUFrQjtJQUNsQixvQkFBbUI7SUFDbkIsdUJBQXNCO0lBQ3RCLGdCQUFlO0lBQ2Ysa0JBQWlCO0lFMUJuQixxQkRvS3FCO0lDbktyQixvQkFBbUI7SUFDbkIsd0JDU3dCO0lwQkx0QixnQkxrQm9CO0lLZHBCLG1Ca0JOd0I7SUdKeEIsd0JDSzJGO0lMd0o3RixlcEIvSTJCO0lvQmdKM0IsMEJwQjVKbUI7SW9CNkpuQixtQnBCL0ptQjtJMEJMakIsbUNOa0Q0QztJQWdIOUMsWXBCekptQjtJb0IwSm5CLDBCcEIxSXNCO0lvQjJJdEIsc0JwQjNJc0IsRWtFWHJCO0loRUZDO01rQjJKQSxlcEJwSnlCO01vQnFKekIsdUJwQm5LaUI7TW9Cb0tqQixtQnBCcEtpQixFRVNoQjtJa0I4Skg7O01BR0UsZXBCNUp5QjtNb0I2SnpCLHVCcEIzS2lCO01vQjRLakIsbUJwQjVLaUIsRW9CNktsQjtJQUVEO01BR0UscUJBQW9CO01BQ3BCLGdCQUFlO01BQ2YsWUFBVyxFQU9aO01sQnBLQztRa0JnS0UsZXBCekt1QjtRb0IwS3ZCLDBCcEJ0TGU7UW9CdUxmLG1CcEJ6TGUsRUUwQmhCO0lBSEQ7TWtCeUJFLHNCQUFxQixFbEJ0QnRCO0lrQnlCRDtNQUVFLFdBQVUsRUFDWDtJQUVEO01QMURGLGlFRUQwRjtNWU0xRiwwQjNCMkIwQjtNMkIxQjFCLGNBQWEsRVB1RFY7SUFHRDtNQUNFLHFCQUFvQjtNQUNwQixvQkFBbUI7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d0V4QmY7RUFkTDtJQWlCTSxpQkFBZ0IsRUFDakI7RUFsQkw7SUFzQlEsaUJBQWdCLEVBQ2pCO0VBdkJQO0lBMEJNLG9CQUFtQixFQUNwQjtFQTNCTDtJQTZCTSxvQkFBbUIsRUFxQnBCO0lBbERMO01BK0JRLHNCL0NFK0IsRStDRWhDO012RTJCSDtRdUU5REo7VUFpQ1UsaUJBQWdCLEVBRW5CLEVBQUE7SUFuQ1A7TUFxQ1EsbUJ0RWpCWSxFc0U2QmI7TUFqRFA7UUF1Q1Usc0J0RVBhO1FzRVFiLG9CQUFtQixFQVFwQjtRQWhEVDtVQTBDWSxtQkFBa0IsRUFDbkI7UUEzQ1g7VUE2Q1ksbUJBQWtCO1VBQ2xCLGV0RWRXLEVzRWVaIiwiZmlsZSI6InN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiEgbm9ybWFsaXplLmNzcyB2NS4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDAuMTI1cmVtO1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMsXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogUmVib290ICovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgfVxuXG5ALW1vei12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cblxuQC1tcy12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cblxuQC1vLXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG5ALXdlYmtpdC12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cblxuQHZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG5odG1sIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIGh0bWwge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgaHRtbCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpIHtcbiAgICBodG1sIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBodG1sIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMzYTNhM2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgaDcsIGg4IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNzU3NTc1OyB9XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuYSB7XG4gIGNvbG9yOiAjM2EzYTNhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpmb2N1cywgYTpob3ZlciB7XG4gICAgY29sb3I6ICM0MjNmZTE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbnByZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmEsXG5hcmVhLFxuYnV0dG9uLFxuW3JvbGU9XCJidXR0b25cIl0sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhIHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cblxudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG5cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjsgfVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJvZHkge1xuICBjb250ZW50OiBcInhzXCI7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gIGJvZHkge1xuICAgIGNvbnRlbnQ6IFwic21cIjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBib2R5IHtcbiAgICBjb250ZW50OiBcIm1kXCI7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpIHtcbiAgYm9keSB7XG4gICAgY29udGVudDogXCJsZ1wiOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBib2R5IHtcbiAgICBjb250ZW50OiBcInhsXCI7IH0gfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8tcmVndWxhci13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1yZWd1bGFyLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8tcmVndWxhci13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8tcmVndWxhci13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8tcmVndWxhci13ZWJmb250LnN2ZyNsYXRvX3JlZ3VsYXJcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1saWdodC13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1saWdodC13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWxpZ2h0LXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1saWdodC13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8tbGlnaHQtd2ViZm9udC5zdmcjbGF0b19saWdodFwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMTAwO1xuICBzcmM6IHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWhhaXJsaW5lLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWhhaXJsaW5lLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8taGFpcmxpbmUtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWhhaXJsaW5lLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1oYWlybGluZS13ZWJmb250LnN2ZyNsYXRvX2hhaXJsaW5lXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBzcmM6IHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWJvbGQtd2ViZm9udC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8tYm9sZC13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWJvbGQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWJvbGQtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWJvbGQtd2ViZm9udC5zdmcjbGF0b19ib2xkXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8taXRhbGljLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvbGF0by9sYXRvLWl0YWxpYy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9sYXRvL2xhdG8taXRhbGljLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL2xhdG8vbGF0by1pdGFsaWMtd2ViZm9udC5zdmcjbGF0b19pdGFsaWNcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJPc3dhbGRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6IHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvb3N3YWxkL29zd2FsZC1yZWd1bGFyLXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvb3N3YWxkL29zd2FsZC1yZWd1bGFyLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9vc3dhbGQvb3N3YWxkLXJlZ3VsYXItd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvb3N3YWxkL29zd2FsZC1yZWd1bGFyLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL29zd2FsZC9vc3dhbGQtcmVndWxhci13ZWJmb250LnN2ZyNvc3dhbGRfcmVndWxhclwiKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIHNyYzogdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9vc3dhbGQvb3N3YWxkLWxpZ2h0LXdlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvb3N3YWxkL29zd2FsZC1saWdodC13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvb3N3YWxkL29zd2FsZC1saWdodC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9vc3dhbGQvb3N3YWxkLWxpZ2h0LXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL29zd2FsZC9vc3dhbGQtbGlnaHQtd2ViZm9udC5zdmcjb3N3YWxkX2xpZ2h0XCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3N3YWxkXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL29zd2FsZC9vc3dhbGQtYm9sZC13ZWJmb250LmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL29zd2FsZC9vc3dhbGQtYm9sZC13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi8vczMuYW1hem9uYXdzLmNvbS9jc21fZm9udHMvb3N3YWxkL29zd2FsZC1ib2xkLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL29zd2FsZC9vc3dhbGQtYm9sZC13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLy9zMy5hbWF6b25hd3MuY29tL2NzbV9mb250cy9vc3dhbGQvb3N3YWxkLWJvbGQtd2ViZm9udC5zdmcjb3N3YWxkX2JvbGRcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi5iZy1kYXJrZXIge1xuICBjb2xvcjogIzk5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhM2EzYTsgfVxuXG4uYmctZGFyayB7XG4gIGNvbG9yOiAjOTk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzOyB9XG5cbi5iZy1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NTc1NzU7IH1cblxuLmJnLWxpZ2h0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OyB9XG5cbi5iZy1saWdodGVzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cblxuXG4uYmctcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NTBmOyB9XG5cblxuLmNvbG9yLWJsYWNrIHtcbiAgY29sb3I6ICMzYTNhM2E7IH1cblxuXG4uYmctYmxhY2sge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhM2EzYTsgfVxuXG5hLmJnLWJsYWNrOmZvY3VzLCBhLmJnLWJsYWNrOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTsgfVxuXG5cbi5jb2xvci1ncmF5LWNoYXJjb2FsIHtcbiAgY29sb3I6ICM1MzUzNTM7IH1cblxuXG4uYmctZ3JheS1jaGFyY29hbCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTM1MzUzOyB9XG5cbmEuYmctZ3JheS1jaGFyY29hbDpmb2N1cywgYS5iZy1ncmF5LWNoYXJjb2FsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhM2EzYTsgfVxuXG5cbi5jb2xvci1ncmF5LWlyb24ge1xuICBjb2xvcjogIzc1NzU3NTsgfVxuXG5cbi5iZy1ncmF5LWlyb24ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc1NzU3NTsgfVxuXG5hLmJnLWdyYXktaXJvbjpmb2N1cywgYS5iZy1ncmF5LWlyb246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWM1YzVjOyB9XG5cblxuLmNvbG9yLWdyYXktc3RlZWwge1xuICBjb2xvcjogIzk5OTsgfVxuXG5cbi5iZy1ncmF5LXN0ZWVsIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk7IH1cblxuYS5iZy1ncmF5LXN0ZWVsOmZvY3VzLCBhLmJnLWdyYXktc3RlZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5OyB9XG5cblxuLmNvbG9yLWdyYXktc2lsdmVyIHtcbiAgY29sb3I6ICNjY2M7IH1cblxuXG4uYmctZ3JheS1zaWx2ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxuXG5hLmJnLWdyYXktc2lsdmVyOmZvY3VzLCBhLmJnLWdyYXktc2lsdmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzYjNiMzsgfVxuXG5cbi5jb2xvci1ncmF5LWZvZyB7XG4gIGNvbG9yOiAjZWZlZmVmOyB9XG5cblxuLmJnLWdyYXktZm9nIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IH1cblxuYS5iZy1ncmF5LWZvZzpmb2N1cywgYS5iZy1ncmF5LWZvZzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmQ2ZDY7IH1cblxuXG4uY29sb3ItYmx1ZSB7XG4gIGNvbG9yOiAjNDIzZmUxOyB9XG5cblxuLmJnLWJsdWUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyM2ZlMTsgfVxuXG5hLmJnLWJsdWU6Zm9jdXMsIGEuYmctYmx1ZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMzIwY2Q7IH1cblxuXG4uY29sb3ItcGluayB7XG4gIGNvbG9yOiAjZjIzZTdiOyB9XG5cblxuLmJnLXBpbmsge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyM2U3YjsgfVxuXG5hLmJnLXBpbms6Zm9jdXMsIGEuYmctcGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDEwNWI7IH1cblxuXG4uY29sb3ItdHVycXVvaXNlIHtcbiAgY29sb3I6ICM1MmMwYzQ7IH1cblxuXG4uYmctdHVycXVvaXNlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MmMwYzQ7IH1cblxuYS5iZy10dXJxdW9pc2U6Zm9jdXMsIGEuYmctdHVycXVvaXNlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhYTVhOTsgfVxuXG5cbi5jb2xvci10ZWFsIHtcbiAgY29sb3I6ICMwNDlmYTQ7IH1cblxuXG4uYmctdGVhbCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQ5ZmE0OyB9XG5cbmEuYmctdGVhbDpmb2N1cywgYS5iZy10ZWFsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzNmY3MjsgfVxuXG5cbi5jb2xvci1mb3Jlc3Qge1xuICBjb2xvcjogIzAwNTcwMDsgfVxuXG5cbi5iZy1mb3Jlc3Qge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTcwMDsgfVxuXG5hLmJnLWZvcmVzdDpmb2N1cywgYS5iZy1mb3Jlc3Q6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyNDAwOyB9XG5cblxuLmNvbG9yLWxpbWUge1xuICBjb2xvcjogIzVhYjY0MzsgfVxuXG5cbi5iZy1saW1lIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YWI2NDM7IH1cblxuYS5iZy1saW1lOmZvY3VzLCBhLmJnLWxpbWU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg5MTM1OyB9XG5cblxuLmNvbG9yLXByaXZhY3ktdXNlLXJlc3BvbnNpYmlseSB7XG4gIGNvbG9yOiAjMjNiNWU4OyB9XG5cblxuLmJnLXByaXZhY3ktdXNlLXJlc3BvbnNpYmlseSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjNiNWU4OyB9XG5cbmEuYmctcHJpdmFjeS11c2UtcmVzcG9uc2liaWx5OmZvY3VzLCBhLmJnLXByaXZhY3ktdXNlLXJlc3BvbnNpYmlseTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNDk2YzQ7IH1cblxuXG4uY29sb3ItcHJpdmFjeS1jYXV0aW9uIHtcbiAgY29sb3I6ICNmZmE1MDA7IH1cblxuXG4uYmctcHJpdmFjeS1jYXV0aW9uIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmE1MDA7IH1cblxuYS5iZy1wcml2YWN5LWNhdXRpb246Zm9jdXMsIGEuYmctcHJpdmFjeS1jYXV0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjODQwMDsgfVxuXG5cbi5jb2xvci1wcml2YWN5LW5vdC1yZWNvbW1lbmRlZCB7XG4gIGNvbG9yOiAjZjI1NTU1OyB9XG5cblxuLmJnLXByaXZhY3ktbm90LXJlY29tbWVuZGVkIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjU1NTU7IH1cblxuYS5iZy1wcml2YWN5LW5vdC1yZWNvbW1lbmRlZDpmb2N1cywgYS5iZy1wcml2YWN5LW5vdC1yZWNvbW1lbmRlZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZTI2MjY7IH1cblxuXG4uY29sb3ItYmx1c2gge1xuICBjb2xvcjogI2ZlZjVmMTsgfVxuXG5cbi5iZy1ibHVzaCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmNWYxOyB9XG5cbmEuYmctYmx1c2g6Zm9jdXMsIGEuYmctYmx1c2g6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJkM2MxOyB9XG5cblxuLmNvbG9yLXJlZCB7XG4gIGNvbG9yOiAjZjI1NTU1OyB9XG5cblxuLmJnLXJlZCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI1NTU1OyB9XG5cbmEuYmctcmVkOmZvY3VzLCBhLmJnLXJlZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZTI2MjY7IH1cblxuXG4uY29sb3ItbWFyb29uIHtcbiAgY29sb3I6ICM4YzBiMGI7IH1cblxuXG4uYmctbWFyb29uIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YzBiMGI7IH1cblxuYS5iZy1tYXJvb246Zm9jdXMsIGEuYmctbWFyb29uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVkMDcwNzsgfVxuXG5cbi5jb2xvci1jcmVhbSB7XG4gIGNvbG9yOiAjZmZmZGU2OyB9XG5cblxuLmJnLWNyZWFtIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZkZTY7IH1cblxuYS5iZy1jcmVhbTpmb2N1cywgYS5iZy1jcmVhbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY5YjM7IH1cblxuXG4uY29sb3ItYW1iZXIge1xuICBjb2xvcjogI2Y1YWIyMzsgfVxuXG5cbi5iZy1hbWJlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVhYjIzOyB9XG5cbmEuYmctYW1iZXI6Zm9jdXMsIGEuYmctYW1iZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGI5MTBhOyB9XG5cblxuLmNvbG9yLXdhbG51dCB7XG4gIGNvbG9yOiAjNjMzZTAwOyB9XG5cblxuLmJnLXdhbG51dCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjMzZTAwOyB9XG5cbmEuYmctd2FsbnV0OmZvY3VzLCBhLmJnLXdhbG51dDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDFlMDA7IH1cblxuXG4uY29sb3ItbWludCB7XG4gIGNvbG9yOiAjZjhmZmYwOyB9XG5cblxuLmJnLW1pbnQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZmZmMDsgfVxuXG5hLmJnLW1pbnQ6Zm9jdXMsIGEuYmctbWludDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGZmYmQ7IH1cblxuXG4uY29sb3Itd2hpdGUge1xuICBjb2xvcjogI2ZmZjsgfVxuXG5cbi5iZy13aGl0ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbmEuYmctd2hpdGU6Zm9jdXMsIGEuYmctd2hpdGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG5cblxuLmJnLWdyYWRpZW50LXB1cnBsZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzAyOWM4ZSAwJSwgIzdhNjZhOSAxMDAlKTsgfVxuXG5Ac3VwcG9ydHMgKG1peC1ibGVuZC1tb2RlOiBsaWdodGVuKSB7XG4gIFxuICAuY29sb3ItZ3JhZGllbnQtcHVycGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG4gICAgXG4gICAgLmNvbG9yLWdyYWRpZW50LXB1cnBsZTo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMDI5YzhlIDAlLCAjN2E2NmE5IDEwMCUpOyB9XG4gICAgXG4gICAgLmNvbG9yLWdyYWRpZW50LXB1cnBsZTo6YmVmb3JlIHtcbiAgICAgIG1peC1ibGVuZC1tb2RlOiBzY3JlZW47IH0gfVxuXG5cbi5iZy1ncmFkaWVudC1ibHVlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMTBjYzcxIDAlLCAjMDA5MWFkIDEwMCUpOyB9XG5cbkBzdXBwb3J0cyAobWl4LWJsZW5kLW1vZGU6IGxpZ2h0ZW4pIHtcbiAgXG4gIC5jb2xvci1ncmFkaWVudC1ibHVlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5OyB9XG4gICAgXG4gICAgLmNvbG9yLWdyYWRpZW50LWJsdWU6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzEwY2M3MSAwJSwgIzAwOTFhZCAxMDAlKTsgfVxuICAgIFxuICAgIC5jb2xvci1ncmFkaWVudC1ibHVlOjpiZWZvcmUge1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjsgfSB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJjcy1nbG9iYWwtaWNvbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L2ZvbnRzL2dsb2JhbC9jcy1nbG9iYWwtaWNvbnMuZW90XCIpO1xuICBzcmM6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L2ZvbnRzL2dsb2JhbC9jcy1nbG9iYWwtaWNvbnMuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLy9kMmhyYWxzd3U5bGo4dS5jbG91ZGZyb250Lm5ldC9jcy1pY29ucy8wLjAuNDQvZm9udHMvZ2xvYmFsL2NzLWdsb2JhbC1pY29ucy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLy9kMmhyYWxzd3U5bGo4dS5jbG91ZGZyb250Lm5ldC9jcy1pY29ucy8wLjAuNDQvZm9udHMvZ2xvYmFsL2NzLWdsb2JhbC1pY29ucy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L2ZvbnRzL2dsb2JhbC9jcy1nbG9iYWwtaWNvbnMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvL2QyaHJhbHN3dTlsajh1LmNsb3VkZnJvbnQubmV0L2NzLWljb25zLzAuMC40NC9mb250cy9nbG9iYWwvY3MtZ2xvYmFsLWljb25zLnN2ZyNjcy1nbG9iYWwtaWNvbnNcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiY3MtZ2xvYmFsLWljb25zXCI7XG4gICAgc3JjOiB1cmwoXCIvL2QyaHJhbHN3dTlsajh1LmNsb3VkZnJvbnQubmV0L2NzLWljb25zLzAuMC40NC9mb250cy9nbG9iYWwvY3MtZ2xvYmFsLWljb25zLnN2ZyNjcy1nbG9iYWwtaWNvbnNcIikgZm9ybWF0KFwic3ZnXCIpOyB9IH1cblxuLmljb24tYWRkOjpiZWZvcmUsIC5pY29uLWFkZC1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLWFkZC1yYXRpbmctb3V0bGluZTo6YmVmb3JlLCAuaWNvbi1hbGVydDo6YmVmb3JlLCAuaWNvbi1hbm5vdW5jZW1lbnQ6OmJlZm9yZSwgLmljb24tYXJyb3ctZG93bjo6YmVmb3JlLCAuaWNvbi1hcnJvdy1kb3duLW91dGxpbmU6OmJlZm9yZSwgLmljb24tYXJyb3ctbGVmdDo6YmVmb3JlLCAuaWNvbi1hcnJvdy1sZWZ0LWRvdWJsZTo6YmVmb3JlLCAuaWNvbi1hcnJvdy1yaWdodDo6YmVmb3JlLCAuaWNvbi1hcnJvdy1yaWdodC1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLWFycm93LXVwOjpiZWZvcmUsIC5pY29uLWJvb2tzOjpiZWZvcmUsIC5pY29uLWNhbGVuZGFyOjpiZWZvcmUsIC5pY29uLWNhcmV0LWRvd246OmJlZm9yZSwgLmljb24tY2FyZXQtcmlnaHQ6OmJlZm9yZSwgLmljb24tY2M6OmJlZm9yZSwgLmljb24tY2hlY2tib3gtY2hlY2s6OmJlZm9yZSwgLmljb24tY2hlY2ttYXJrOjpiZWZvcmUsIC5pY29uLWNpcmNsZS1zb2xpZDo6YmVmb3JlLCAuaWNvbi1jbG9jazo6YmVmb3JlLCAuaWNvbi1jbG9zZTo6YmVmb3JlLCAuaWNvbi1jbG9zZS1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLWNvbWluZy1zb29uOjpiZWZvcmUsIC5pY29uLWNvbW11bmljYXRlOjpiZWZvcmUsIC5pY29uLWNyZWF0aXZlLWNvbW1vbnM6OmJlZm9yZSwgLmljb24tZGZkOjpiZWZvcmUsIC5pY29uLWRpbm5lcjo6YmVmb3JlLCAuaWNvbi1kb3dubG9hZDo6YmVmb3JlLCAuaWNvbi1kb3dubG9hZC1zb2xpZDo6YmVmb3JlLCAuaWNvbi1kcmFnLWRyb3A6OmJlZm9yZSwgLmljb24tZWRpdDo6YmVmb3JlLCAuaWNvbi1lbWFpbDo6YmVmb3JlLCAuaWNvbi1lbW9qaS1lcnJvcjo6YmVmb3JlLCAuaWNvbi1lbW9qaS1uZXV0cmFsOjpiZWZvcmUsIC5pY29uLWVtb2ppLXN1Y2Nlc3M6OmJlZm9yZSwgLmljb24tZmFjZWJvb2s6OmJlZm9yZSwgLmljb24tZmFjZWJvb2stb3V0bGluZTo6YmVmb3JlLCAuaWNvbi1mYWNlYm9vay1zb2xpZDo6YmVmb3JlLCAuaWNvbi1mYW1pbHk6OmJlZm9yZSwgLmljb24tZmFtaWx5LWhvbWU6OmJlZm9yZSwgLmljb24tZmlsdGVyOjpiZWZvcmUsIC5pY29uLWZsYWctb3V0bGluZTo6YmVmb3JlLCAuaWNvbi1mbGFnLXNvbGlkOjpiZWZvcmUsIC5pY29uLWdhbWVzOjpiZWZvcmUsIC5pY29uLWdpZnQ6OmJlZm9yZSwgLmljb24tZ29vZ2xlLW91dGxpbmU6OmJlZm9yZSwgLmljb24tZ29vZ2xlLXNvbGlkOjpiZWZvcmUsIC5pY29uLWhlYXJ0LW91dGxpbmU6OmJlZm9yZSwgLmljb24taGVhcnQtc29saWQ6OmJlZm9yZSwgLmljb24taW5mby1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLWluZm8tc29saWQ6OmJlZm9yZSwgLmljb24taW5zdGFncmFtLW91dGxpbmU6OmJlZm9yZSwgLmljb24taW5zdGFncmFtLXNvbGlkOjpiZWZvcmUsIC5pY29uLWxhcHRvcDo6YmVmb3JlLCAuaWNvbi1sYXVuY2g6OmJlZm9yZSwgLmljb24tbGF1bmNoLXNvbGlkOjpiZWZvcmUsIC5pY29uLWxpbms6OmJlZm9yZSwgLmljb24tbGluay1zb2xpZDo6YmVmb3JlLCAuaWNvbi1saW5rZWRpbjo6YmVmb3JlLCAuaWNvbi1saW5rZWRpbi1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLWxpbmtlZGluLXNvbGlkOjpiZWZvcmUsIC5pY29uLWxvY2tlZDo6YmVmb3JlLCAuaWNvbi1sb2dvLWNoZWNrbWFyazo6YmVmb3JlLCAuaWNvbi1tYWtlLWEtY29weTo6YmVmb3JlLCAuaWNvbi1tZWRpYTo6YmVmb3JlLCAuaWNvbi1tZW1iZXI6OmJlZm9yZSwgLmljb24tbWVudTo6YmVmb3JlLCAuaWNvbi1taW51czo6YmVmb3JlLCAuaWNvbi1taW51cy1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLW1vcmU6OmJlZm9yZSwgLmljb24tbW9yZS1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLW11c2ljOjpiZWZvcmUsIC5pY29uLXBlbmNpbDo6YmVmb3JlLCAuaWNvbi1waW50ZXJlc3Q6OmJlZm9yZSwgLmljb24tcGludGVyZXN0LW91dGxpbmU6OmJlZm9yZSwgLmljb24tcGludGVyZXN0LXNvbGlkOjpiZWZvcmUsIC5pY29uLXBsYXk6OmJlZm9yZSwgLmljb24tcGxheS1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLXBsYXktc29saWQ6OmJlZm9yZSwgLmljb24tcHJpbnRlci1vdXRsaW5lOjpiZWZvcmUsIC5pY29uLXByaW50ZXItc29saWQ6OmJlZm9yZSwgLmljb24tcHJvZmlsZTo6YmVmb3JlLCAuaWNvbi1zYXZlOjpiZWZvcmUsIC5pY29uLXNlYXJjaDo6YmVmb3JlLCAuaWNvbi1zZWxlY3Q6OmJlZm9yZSwgLmljb24tc2V0dGluZ3M6OmJlZm9yZSwgLmljb24tc2V0dGluZ3Mtb3V0bGluZTo6YmVmb3JlLCAuaWNvbi1zaGFyZTo6YmVmb3JlLCAuaWNvbi1zaWduLW91dDo6YmVmb3JlLCAuaWNvbi1zbWFydHBob25lOjpiZWZvcmUsIC5pY29uLXN0YXItcmF0aW5nOjpiZWZvcmUsIC5pY29uLXN1YnNjcmliZS1oZWFydDo6YmVmb3JlLCAuaWNvbi1zdXBwb3J0OjpiZWZvcmUsIC5pY29uLXRpcHM6OmJlZm9yZSwgLmljb24tdHdpdHRlcjo6YmVmb3JlLCAuaWNvbi10d2l0dGVyLW91dGxpbmU6OmJlZm9yZSwgLmljb24tdHdpdHRlci1zb2xpZDo6YmVmb3JlLCAuaWNvbi13YXRjaC12aWRlbzo6YmVmb3JlLCAuaWNvbi13aGF0c2FwcC1zb2xpZDo6YmVmb3JlLCAuaWNvbi15b3V0dWJlOjpiZWZvcmUsIC5pY29uLXlvdXR1YmUtb3V0bGluZTo6YmVmb3JlLCAuaWNvbi15b3V0dWJlLXNvbGlkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcImNzLWdsb2JhbC1pY29uc1wiO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgfVxuXG4uaWNvbi1hZGQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAwXCI7IH1cblxuLmljb24tYWRkLW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAxXCI7IH1cblxuLmljb24tYWRkLXJhdGluZy1vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwMlwiOyB9XG5cbi5pY29uLWFsZXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwM1wiOyB9XG5cbi5pY29uLWFubm91bmNlbWVudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDRcIjsgfVxuXG4uaWNvbi1hcnJvdy1kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiOyB9XG5cbi5pY29uLWFycm93LWRvd24tb3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDZcIjsgfVxuXG4uaWNvbi1hcnJvdy1sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwN1wiOyB9XG5cbi5pY29uLWFycm93LWxlZnQtZG91YmxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOFwiOyB9XG5cbi5pY29uLWFycm93LXJpZ2h0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOVwiOyB9XG5cbi5pY29uLWFycm93LXJpZ2h0LW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBhXCI7IH1cblxuLmljb24tYXJyb3ctdXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBiXCI7IH1cblxuLmljb24tYm9va3M6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBjXCI7IH1cblxuLmljb24tY2FsZW5kYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBkXCI7IH1cblxuLmljb24tY2FyZXQtZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGVcIjsgfVxuXG4uaWNvbi1jYXJldC1yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGZcIjsgfVxuXG4uaWNvbi1jYzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTBcIjsgfVxuXG4uaWNvbi1jaGVja2JveC1jaGVjazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjsgfVxuXG4uaWNvbi1jaGVja21hcms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEyXCI7IH1cblxuLmljb24tY2lyY2xlLXNvbGlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExM1wiOyB9XG5cbi5pY29uLWNsb2NrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExNFwiOyB9XG5cbi5pY29uLWNsb3NlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExNVwiOyB9XG5cbi5pY29uLWNsb3NlLW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE2XCI7IH1cblxuLmljb24tY29taW5nLXNvb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE3XCI7IH1cblxuLmljb24tY29tbXVuaWNhdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE4XCI7IH1cblxuLmljb24tY3JlYXRpdmUtY29tbW9uczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTlcIjsgfVxuXG4uaWNvbi1kZmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFhXCI7IH1cblxuLmljb24tZGlubmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExYlwiOyB9XG5cbi5pY29uLWRvd25sb2FkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExY1wiOyB9XG5cbi5pY29uLWRvd25sb2FkLXNvbGlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExZFwiOyB9XG5cbi5pY29uLWRyYWctZHJvcDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWVcIjsgfVxuXG4uaWNvbi1lZGl0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExZlwiOyB9XG5cbi5pY29uLWVtYWlsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMFwiOyB9XG5cbi5pY29uLWVtb2ppLWVycm9yOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMVwiOyB9XG5cbi5pY29uLWVtb2ppLW5ldXRyYWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIyXCI7IH1cblxuLmljb24tZW1vamktc3VjY2Vzczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjNcIjsgfVxuXG4uaWNvbi1mYWNlYm9vazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjRcIjsgfVxuXG4uaWNvbi1mYWNlYm9vay1vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNVwiOyB9XG5cbi5pY29uLWZhY2Vib29rLXNvbGlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNlwiOyB9XG5cbi5pY29uLWZhbWlseTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjdcIjsgfVxuXG4uaWNvbi1mYW1pbHktaG9tZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjhcIjsgfVxuXG4uaWNvbi1maWx0ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI5XCI7IH1cblxuLmljb24tZmxhZy1vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYVwiOyB9XG5cbi5pY29uLWZsYWctc29saWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJiXCI7IH1cblxuLmljb24tZ2FtZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJjXCI7IH1cblxuLmljb24tZ2lmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmRcIjsgfVxuXG4uaWNvbi1nb29nbGUtb3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmVcIjsgfVxuXG4uaWNvbi1nb29nbGUtc29saWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJmXCI7IH1cblxuLmljb24taGVhcnQtb3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzBcIjsgfVxuXG4uaWNvbi1oZWFydC1zb2xpZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzFcIjsgfVxuXG4uaWNvbi1pbmZvLW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMyXCI7IH1cblxuLmljb24taW5mby1zb2xpZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzNcIjsgfVxuXG4uaWNvbi1pbnN0YWdyYW0tb3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzRcIjsgfVxuXG4uaWNvbi1pbnN0YWdyYW0tc29saWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM1XCI7IH1cblxuLmljb24tbGFwdG9wOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzNlwiOyB9XG5cbi5pY29uLWxhdW5jaDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzdcIjsgfVxuXG4uaWNvbi1sYXVuY2gtc29saWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM4XCI7IH1cblxuLmljb24tbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzlcIjsgfVxuXG4uaWNvbi1saW5rLXNvbGlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYVwiOyB9XG5cbi5pY29uLWxpbmtlZGluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYlwiOyB9XG5cbi5pY29uLWxpbmtlZGluLW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNjXCI7IH1cblxuLmljb24tbGlua2VkaW4tc29saWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNkXCI7IH1cblxuLmljb24tbG9ja2VkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzZVwiOyB9XG5cbi5pY29uLWxvZ28tY2hlY2ttYXJrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzZlwiOyB9XG5cbi5pY29uLW1ha2UtYS1jb3B5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MFwiOyB9XG5cbi5pY29uLW1lZGlhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MVwiOyB9XG5cbi5pY29uLW1lbWJlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDJcIjsgfVxuXG4uaWNvbi1tZW51OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0M1wiOyB9XG5cbi5pY29uLW1pbnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NFwiOyB9XG5cbi5pY29uLW1pbnVzLW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ1XCI7IH1cblxuLmljb24tbW9yZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDZcIjsgfVxuXG4uaWNvbi1tb3JlLW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ3XCI7IH1cblxuLmljb24tbXVzaWM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ4XCI7IH1cblxuLmljb24tcGVuY2lsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0OVwiOyB9XG5cbi5pY29uLXBpbnRlcmVzdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGFcIjsgfVxuXG4uaWNvbi1waW50ZXJlc3Qtb3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGJcIjsgfVxuXG4uaWNvbi1waW50ZXJlc3Qtc29saWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRjXCI7IH1cblxuLmljb24tcGxheTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGRcIjsgfVxuXG4uaWNvbi1wbGF5LW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRlXCI7IH1cblxuLmljb24tcGxheS1zb2xpZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGZcIjsgfVxuXG4uaWNvbi1wcmludGVyLW91dGxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUwXCI7IH1cblxuLmljb24tcHJpbnRlci1zb2xpZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTFcIjsgfVxuXG4uaWNvbi1wcm9maWxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MlwiOyB9XG5cbi5pY29uLXNhdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUzXCI7IH1cblxuLmljb24tc2VhcmNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NFwiOyB9XG5cbi5pY29uLXNlbGVjdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTVcIjsgfVxuXG4uaWNvbi1zZXR0aW5nczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTZcIjsgfVxuXG4uaWNvbi1zZXR0aW5ncy1vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiOyB9XG5cbi5pY29uLXNoYXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OFwiOyB9XG5cbi5pY29uLXNpZ24tb3V0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OVwiOyB9XG5cbi5pY29uLXNtYXJ0cGhvbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVhXCI7IH1cblxuLmljb24tc3Rhci1yYXRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTViXCI7IH1cblxuLmljb24tc3Vic2NyaWJlLWhlYXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1Y1wiOyB9XG5cbi5pY29uLXN1cHBvcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVkXCI7IH1cblxuLmljb24tdGlwczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWVcIjsgfVxuXG4uaWNvbi10d2l0dGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZlwiOyB9XG5cbi5pY29uLXR3aXR0ZXItb3V0bGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjBcIjsgfVxuXG4uaWNvbi10d2l0dGVyLXNvbGlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MVwiOyB9XG5cbi5pY29uLXdhdGNoLXZpZGVvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MlwiOyB9XG5cbi5pY29uLXdoYXRzYXBwLXNvbGlkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2M1wiOyB9XG5cbi5pY29uLXlvdXR1YmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY0XCI7IH1cblxuLmljb24teW91dHViZS1vdXRsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NVwiOyB9XG5cbi5pY29uLXlvdXR1YmUtc29saWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY2XCI7IH1cblxuLmljb24tY3Mtc2VsZWN0aW9uLWJsYW5rOjpiZWZvcmUsIC5pY29uLWNzLXNlbGVjdGlvbi1mYW1pbGllczo6YmVmb3JlLCAuaWNvbi1jcy1zZWxlY3Rpb24tdGVlbnM6OmJlZm9yZSwgLmljb24tbG9nby1jaGVja21hcmstZ3JlZW4tLWF2YXRhcjo6YmVmb3JlLCAuaWNvbi1sb2dvLWNoZWNrbWFyay1ncmVlbjo6YmVmb3JlLCAuaWNvbi1sb2dvLWNoZWNrbWFyay1zZWxlY3Rpb246OmJlZm9yZSwgLmljb24tc2VhbDo6YmVmb3JlLCAuaWNvbi1zZWFsLXRlZW5zOjpiZWZvcmUsIC5pY29uLXN0YXItZXhjbHVzaXZlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcImNzLWdsb2JhbC1pY29uc1wiO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgd2lkdGg6IDEuNXJlbTsgfVxuXG4uaWNvbi1jcy1zZWxlY3Rpb24tYmxhbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L3N2Zy9nbG9iYWwvY29sb3IvY3Mtc2VsZWN0aW9uLWJsYW5rLnN2Z1wiKTsgfVxuXG4uaWNvbi1jcy1zZWxlY3Rpb24tZmFtaWxpZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L3N2Zy9nbG9iYWwvY29sb3IvY3Mtc2VsZWN0aW9uLWZhbWlsaWVzLnN2Z1wiKTsgfVxuXG4uaWNvbi1jcy1zZWxlY3Rpb24tdGVlbnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L3N2Zy9nbG9iYWwvY29sb3IvY3Mtc2VsZWN0aW9uLXRlZW5zLnN2Z1wiKTsgfVxuXG4uaWNvbi1sb2dvLWNoZWNrbWFyay1ncmVlbi0tYXZhdGFyOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCIvL2QyaHJhbHN3dTlsajh1LmNsb3VkZnJvbnQubmV0L2NzLWljb25zLzAuMC40NC9zdmcvZ2xvYmFsL2NvbG9yL2xvZ28tY2hlY2ttYXJrLWdyZWVuLS1hdmF0YXIuc3ZnXCIpOyB9XG5cbi5pY29uLWxvZ28tY2hlY2ttYXJrLWdyZWVuOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCIvL2QyaHJhbHN3dTlsajh1LmNsb3VkZnJvbnQubmV0L2NzLWljb25zLzAuMC40NC9zdmcvZ2xvYmFsL2NvbG9yL2xvZ28tY2hlY2ttYXJrLWdyZWVuLnN2Z1wiKTsgfVxuXG4uaWNvbi1sb2dvLWNoZWNrbWFyay1zZWxlY3Rpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L3N2Zy9nbG9iYWwvY29sb3IvbG9nby1jaGVja21hcmstc2VsZWN0aW9uLnN2Z1wiKTsgfVxuXG4uaWNvbi1zZWFsOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCIvL2QyaHJhbHN3dTlsajh1LmNsb3VkZnJvbnQubmV0L2NzLWljb25zLzAuMC40NC9zdmcvZ2xvYmFsL2NvbG9yL3NlYWwuc3ZnXCIpOyB9XG5cbi5pY29uLXNlYWwtdGVlbnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L3N2Zy9nbG9iYWwvY29sb3Ivc2VhbC10ZWVucy5zdmdcIik7IH1cblxuLmljb24tc3Rhci1leGNsdXNpdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcIi8vZDJocmFsc3d1OWxqOHUuY2xvdWRmcm9udC5uZXQvY3MtaWNvbnMvMC4wLjQ0L3N2Zy9nbG9iYWwvY29sb3Ivc3Rhci1leGNsdXNpdmUuc3ZnXCIpOyB9XG5cbmltZ1tkYXRhLWljb249XCJnbG9iYWwvY29sb3IvY3Mtc2VsZWN0aW9uLWJsYW5rLnN2Z1wiXSwgaW1nW2RhdGEtaWNvbj1cImdsb2JhbC9jb2xvci9jcy1zZWxlY3Rpb24tZmFtaWxpZXMuc3ZnXCJdLCBpbWdbZGF0YS1pY29uPVwiZ2xvYmFsL2NvbG9yL2NzLXNlbGVjdGlvbi10ZWVucy5zdmdcIl0sIGltZ1tkYXRhLWljb249XCJnbG9iYWwvY29sb3IvbG9nby1jaGVja21hcmstZ3JlZW4uc3ZnXCJdLCBpbWdbZGF0YS1pY29uPVwiZ2xvYmFsL2NvbG9yL2xvZ28tY2hlY2ttYXJrLXNlbGVjdGlvbi5zdmdcIl0sIGltZ1tkYXRhLWljb249XCJnbG9iYWwvY29sb3Ivc2VhbC10ZWVucy5zdmdcIl0sIGltZ1tkYXRhLWljb249XCJnbG9iYWwvY29sb3Ivc2VhbC5zdmdcIl0sIGltZ1tkYXRhLWljb249XCJnbG9iYWwvY29sb3Ivc3Rhci1leGNsdXNpdmUuc3ZnXCJdIHtcbiAgd2lkdGg6IDQuMzc1cmVtO1xuICBoZWlnaHQ6IDQuMzc1cmVtOyB9XG5cbi5zaGFkb3cge1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnM7IH1cbiAgLnNoYWRvdzpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAycHggMzJweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgLnNoYWRvdy1zdWJ0bGUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4yczsgfVxuICAgIC5zaGFkb3ctc3VidGxlOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgLnNoYWRvdy1kYXJrIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4yczsgfVxuICAgIC5zaGFkb3ctZGFyazpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAuc2hhZG93LWZsb2F0IHtcbiAgICBib3gtc2hhZG93OiAwIDJweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAuc2hhZG93LWZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzUyYzBjNCwgMCAwIDAgNHB4IHJnYmEoODIsIDE5MiwgMTk2LCAwLjMpOyB9XG5cblxuLm0tLWJhc2Uge1xuICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teS0tYmFzZSxcbi5tdC0tYmFzZSB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teC0tYmFzZSxcbi5tci0tYmFzZSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLm15LS1iYXNlLFxuLm1iLS1iYXNlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLm14LS1iYXNlLFxuLm1sLS1iYXNlIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5tLS10aW55IHtcbiAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teS0tdGlueSxcbi5tdC0tdGlueSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLm14LS10aW55LFxuLm1yLS10aW55IHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teS0tdGlueSxcbi5tYi0tdGlueSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLm14LS10aW55LFxuLm1sLS10aW55IHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLm0tLW1lZGl1bSB7XG4gIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXktLW1lZGl1bSxcbi5tdC0tbWVkaXVtIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXgtLW1lZGl1bSxcbi5tci0tbWVkaXVtIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teS0tbWVkaXVtLFxuLm1iLS1tZWRpdW0ge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teC0tbWVkaXVtLFxuLm1sLS1tZWRpdW0ge1xuICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubS0tbGFyZ2Uge1xuICBtYXJnaW46IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teS0tbGFyZ2UsXG4ubXQtLWxhcmdlIHtcbiAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG5cblxuLm14LS1sYXJnZSxcbi5tci0tbGFyZ2Uge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teS0tbGFyZ2UsXG4ubWItLWxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cblxuLm14LS1sYXJnZSxcbi5tbC0tbGFyZ2Uge1xuICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cblxuLm0tLXhsYXJnZSB7XG4gIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XG5cblxuLm15LS14bGFyZ2UsXG4ubXQtLXhsYXJnZSB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teC0teGxhcmdlLFxuLm1yLS14bGFyZ2Uge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teS0teGxhcmdlLFxuLm1iLS14bGFyZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXgtLXhsYXJnZSxcbi5tbC0teGxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5tLS1odWdlIHtcbiAgbWFyZ2luOiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXktLWh1Z2UsXG4ubXQtLWh1Z2Uge1xuICBtYXJnaW4tdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXgtLWh1Z2UsXG4ubXItLWh1Z2Uge1xuICBtYXJnaW4tcmlnaHQ6IDRyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teS0taHVnZSxcbi5tYi0taHVnZSB7XG4gIG1hcmdpbi1ib3R0b206IDRyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teC0taHVnZSxcbi5tbC0taHVnZSB7XG4gIG1hcmdpbi1sZWZ0OiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucC0tYmFzZSB7XG4gIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weS0tYmFzZSxcbi5wdC0tYmFzZSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHgtLWJhc2UsXG4ucHItLWJhc2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHktLWJhc2UsXG4ucGItLWJhc2Uge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB4LS1iYXNlLFxuLnBsLS1iYXNlIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucC0tdGlueSB7XG4gIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB5LS10aW55LFxuLnB0LS10aW55IHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB4LS10aW55LFxuLnByLS10aW55IHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHktLXRpbnksXG4ucGItLXRpbnkge1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHgtLXRpbnksXG4ucGwtLXRpbnkge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnAtLW1lZGl1bSB7XG4gIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB5LS1tZWRpdW0sXG4ucHQtLW1lZGl1bSB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weC0tbWVkaXVtLFxuLnByLS1tZWRpdW0ge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weS0tbWVkaXVtLFxuLnBiLS1tZWRpdW0ge1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHgtLW1lZGl1bSxcbi5wbC0tbWVkaXVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5wLS1sYXJnZSB7XG4gIHBhZGRpbmc6IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weS0tbGFyZ2UsXG4ucHQtLWxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weC0tbGFyZ2UsXG4ucHItLWxhcmdlIHtcbiAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB5LS1sYXJnZSxcbi5wYi0tbGFyZ2Uge1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB4LS1sYXJnZSxcbi5wbC0tbGFyZ2Uge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5wLS14bGFyZ2Uge1xuICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHktLXhsYXJnZSxcbi5wdC0teGxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weC0teGxhcmdlLFxuLnByLS14bGFyZ2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHktLXhsYXJnZSxcbi5wYi0teGxhcmdlIHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weC0teGxhcmdlLFxuLnBsLS14bGFyZ2Uge1xuICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5wLS1odWdlIHtcbiAgcGFkZGluZzogNHJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB5LS1odWdlLFxuLnB0LS1odWdlIHtcbiAgcGFkZGluZy10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weC0taHVnZSxcbi5wci0taHVnZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDRyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weS0taHVnZSxcbi5wYi0taHVnZSB7XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHgtLWh1Z2UsXG4ucGwtLWh1Z2Uge1xuICBwYWRkaW5nLWxlZnQ6IDRyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5tLS1iYXNlIHtcbiAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXktLWJhc2UsXG4ubXQtLWJhc2Uge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXgtLWJhc2UsXG4ubXItLWJhc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teS0tYmFzZSxcbi5tYi0tYmFzZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teC0tYmFzZSxcbi5tbC0tYmFzZSB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubS0tdGlueSB7XG4gIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXktLXRpbnksXG4ubXQtLXRpbnkge1xuICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teC0tdGlueSxcbi5tci0tdGlueSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXktLXRpbnksXG4ubWItLXRpbnkge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teC0tdGlueSxcbi5tbC0tdGlueSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5tLS1tZWRpdW0ge1xuICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLm15LS1tZWRpdW0sXG4ubXQtLW1lZGl1bSB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLm14LS1tZWRpdW0sXG4ubXItLW1lZGl1bSB7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXktLW1lZGl1bSxcbi5tYi0tbWVkaXVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXgtLW1lZGl1bSxcbi5tbC0tbWVkaXVtIHtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLm0tLWxhcmdlIHtcbiAgbWFyZ2luOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXktLWxhcmdlLFxuLm10LS1sYXJnZSB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teC0tbGFyZ2UsXG4ubXItLWxhcmdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXktLWxhcmdlLFxuLm1iLS1sYXJnZSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teC0tbGFyZ2UsXG4ubWwtLWxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5tLS14bGFyZ2Uge1xuICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5teS0teGxhcmdlLFxuLm10LS14bGFyZ2Uge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXgtLXhsYXJnZSxcbi5tci0teGxhcmdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXktLXhsYXJnZSxcbi5tYi0teGxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG5cblxuLm14LS14bGFyZ2UsXG4ubWwtLXhsYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubS0taHVnZSB7XG4gIG1hcmdpbjogNHJlbSAhaW1wb3J0YW50OyB9XG5cblxuLm15LS1odWdlLFxuLm10LS1odWdlIHtcbiAgbWFyZ2luLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG5cblxuLm14LS1odWdlLFxuLm1yLS1odWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXktLWh1Z2UsXG4ubWItLWh1Z2Uge1xuICBtYXJnaW4tYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ubXgtLWh1Z2UsXG4ubWwtLWh1Z2Uge1xuICBtYXJnaW4tbGVmdDogNHJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnAtLWJhc2Uge1xuICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHktLWJhc2UsXG4ucHQtLWJhc2Uge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB4LS1iYXNlLFxuLnByLS1iYXNlIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB5LS1iYXNlLFxuLnBiLS1iYXNlIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weC0tYmFzZSxcbi5wbC0tYmFzZSB7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnAtLXRpbnkge1xuICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weS0tdGlueSxcbi5wdC0tdGlueSB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weC0tdGlueSxcbi5wci0tdGlueSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB5LS10aW55LFxuLnBiLS10aW55IHtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB4LS10aW55LFxuLnBsLS10aW55IHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5wLS1tZWRpdW0ge1xuICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weS0tbWVkaXVtLFxuLnB0LS1tZWRpdW0ge1xuICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHgtLW1lZGl1bSxcbi5wci0tbWVkaXVtIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHktLW1lZGl1bSxcbi5wYi0tbWVkaXVtIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB4LS1tZWRpdW0sXG4ucGwtLW1lZGl1bSB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucC0tbGFyZ2Uge1xuICBwYWRkaW5nOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHktLWxhcmdlLFxuLnB0LS1sYXJnZSB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHgtLWxhcmdlLFxuLnByLS1sYXJnZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weS0tbGFyZ2UsXG4ucGItLWxhcmdlIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weC0tbGFyZ2UsXG4ucGwtLWxhcmdlIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucC0teGxhcmdlIHtcbiAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB5LS14bGFyZ2UsXG4ucHQtLXhsYXJnZSB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHgtLXhsYXJnZSxcbi5wci0teGxhcmdlIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB5LS14bGFyZ2UsXG4ucGItLXhsYXJnZSB7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHgtLXhsYXJnZSxcbi5wbC0teGxhcmdlIHtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucC0taHVnZSB7XG4gIHBhZGRpbmc6IDRyZW0gIWltcG9ydGFudDsgfVxuXG5cbi5weS0taHVnZSxcbi5wdC0taHVnZSB7XG4gIHBhZGRpbmctdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHgtLWh1Z2UsXG4ucHItLWh1Z2Uge1xuICBwYWRkaW5nLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuXG4ucHktLWh1Z2UsXG4ucGItLWh1Z2Uge1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG5cblxuLnB4LS1odWdlLFxuLnBsLS1odWdlIHtcbiAgcGFkZGluZy1sZWZ0OiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gIFxuICAubS1zbS0tYmFzZSB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS1zbS0tYmFzZSxcbiAgLm10LXNtLS1iYXNlIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC1zbS0tYmFzZSxcbiAgLm1yLXNtLS1iYXNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LXNtLS1iYXNlLFxuICAubWItc20tLWJhc2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm14LXNtLS1iYXNlLFxuICAubWwtc20tLWJhc2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5tLXNtLS10aW55IHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXktc20tLXRpbnksXG4gIC5tdC1zbS0tdGlueSB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC1zbS0tdGlueSxcbiAgLm1yLXNtLS10aW55IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXktc20tLXRpbnksXG4gIC5tYi1zbS0tdGlueSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC1zbS0tdGlueSxcbiAgLm1sLXNtLS10aW55IHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5tLXNtLS1tZWRpdW0ge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS1zbS0tbWVkaXVtLFxuICAubXQtc20tLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC1zbS0tbWVkaXVtLFxuICAubXItc20tLW1lZGl1bSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LXNtLS1tZWRpdW0sXG4gIC5tYi1zbS0tbWVkaXVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm14LXNtLS1tZWRpdW0sXG4gIC5tbC1zbS0tbWVkaXVtIHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5tLXNtLS1sYXJnZSB7XG4gICAgbWFyZ2luOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS1zbS0tbGFyZ2UsXG4gIC5tdC1zbS0tbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm14LXNtLS1sYXJnZSxcbiAgLm1yLXNtLS1sYXJnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS1zbS0tbGFyZ2UsXG4gIC5tYi1zbS0tbGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm14LXNtLS1sYXJnZSxcbiAgLm1sLXNtLS1sYXJnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm0tc20tLXhsYXJnZSB7XG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS1zbS0teGxhcmdlLFxuICAubXQtc20tLXhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgtc20tLXhsYXJnZSxcbiAgLm1yLXNtLS14bGFyZ2Uge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXktc20tLXhsYXJnZSxcbiAgLm1iLXNtLS14bGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm14LXNtLS14bGFyZ2UsXG4gIC5tbC1zbS0teGxhcmdlIHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubS1zbS0taHVnZSB7XG4gICAgbWFyZ2luOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS1zbS0taHVnZSxcbiAgLm10LXNtLS1odWdlIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC1zbS0taHVnZSxcbiAgLm1yLXNtLS1odWdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LXNtLS1odWdlLFxuICAubWItc20tLWh1Z2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm14LXNtLS1odWdlLFxuICAubWwtc20tLWh1Z2Uge1xuICAgIG1hcmdpbi1sZWZ0OiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5wLXNtLS1iYXNlIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS1zbS0tYmFzZSxcbiAgLnB0LXNtLS1iYXNlIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgtc20tLWJhc2UsXG4gIC5wci1zbS0tYmFzZSB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHktc20tLWJhc2UsXG4gIC5wYi1zbS0tYmFzZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LXNtLS1iYXNlLFxuICAucGwtc20tLWJhc2Uge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucC1zbS0tdGlueSB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS1zbS0tdGlueSxcbiAgLnB0LXNtLS10aW55IHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC1zbS0tdGlueSxcbiAgLnByLXNtLS10aW55IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LXNtLS10aW55LFxuICAucGItc20tLXRpbnkge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LXNtLS10aW55LFxuICAucGwtc20tLXRpbnkge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5wLXNtLS1tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHktc20tLW1lZGl1bSxcbiAgLnB0LXNtLS1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LXNtLS1tZWRpdW0sXG4gIC5wci1zbS0tbWVkaXVtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LXNtLS1tZWRpdW0sXG4gIC5wYi1zbS0tbWVkaXVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC1zbS0tbWVkaXVtLFxuICAucGwtc20tLW1lZGl1bSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnAtc20tLWxhcmdlIHtcbiAgICBwYWRkaW5nOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS1zbS0tbGFyZ2UsXG4gIC5wdC1zbS0tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC1zbS0tbGFyZ2UsXG4gIC5wci1zbS0tbGFyZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LXNtLS1sYXJnZSxcbiAgLnBiLXNtLS1sYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LXNtLS1sYXJnZSxcbiAgLnBsLXNtLS1sYXJnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5wLXNtLS14bGFyZ2Uge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LXNtLS14bGFyZ2UsXG4gIC5wdC1zbS0teGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgtc20tLXhsYXJnZSxcbiAgLnByLXNtLS14bGFyZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LXNtLS14bGFyZ2UsXG4gIC5wYi1zbS0teGxhcmdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgtc20tLXhsYXJnZSxcbiAgLnBsLXNtLS14bGFyZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucC1zbS0taHVnZSB7XG4gICAgcGFkZGluZzogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHktc20tLWh1Z2UsXG4gIC5wdC1zbS0taHVnZSB7XG4gICAgcGFkZGluZy10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LXNtLS1odWdlLFxuICAucHItc20tLWh1Z2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LXNtLS1odWdlLFxuICAucGItc20tLWh1Z2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC1zbS0taHVnZSxcbiAgLnBsLXNtLS1odWdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDRyZW0gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBcbiAgLm0tbWQtLWJhc2Uge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXktbWQtLWJhc2UsXG4gIC5tdC1tZC0tYmFzZSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgtbWQtLWJhc2UsXG4gIC5tci1tZC0tYmFzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS1tZC0tYmFzZSxcbiAgLm1iLW1kLS1iYXNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC1tZC0tYmFzZSxcbiAgLm1sLW1kLS1iYXNlIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubS1tZC0tdGlueSB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LW1kLS10aW55LFxuICAubXQtbWQtLXRpbnkge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgtbWQtLXRpbnksXG4gIC5tci1tZC0tdGlueSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LW1kLS10aW55LFxuICAubWItbWQtLXRpbnkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgtbWQtLXRpbnksXG4gIC5tbC1tZC0tdGlueSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubS1tZC0tbWVkaXVtIHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXktbWQtLW1lZGl1bSxcbiAgLm10LW1kLS1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgtbWQtLW1lZGl1bSxcbiAgLm1yLW1kLS1tZWRpdW0ge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS1tZC0tbWVkaXVtLFxuICAubWItbWQtLW1lZGl1bSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC1tZC0tbWVkaXVtLFxuICAubWwtbWQtLW1lZGl1bSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubS1tZC0tbGFyZ2Uge1xuICAgIG1hcmdpbjogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXktbWQtLWxhcmdlLFxuICAubXQtbWQtLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC1tZC0tbGFyZ2UsXG4gIC5tci1tZC0tbGFyZ2Uge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXktbWQtLWxhcmdlLFxuICAubWItbWQtLWxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC1tZC0tbGFyZ2UsXG4gIC5tbC1tZC0tbGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5tLW1kLS14bGFyZ2Uge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXktbWQtLXhsYXJnZSxcbiAgLm10LW1kLS14bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm14LW1kLS14bGFyZ2UsXG4gIC5tci1tZC0teGxhcmdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LW1kLS14bGFyZ2UsXG4gIC5tYi1tZC0teGxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC1tZC0teGxhcmdlLFxuICAubWwtbWQtLXhsYXJnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm0tbWQtLWh1Z2Uge1xuICAgIG1hcmdpbjogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXktbWQtLWh1Z2UsXG4gIC5tdC1tZC0taHVnZSB7XG4gICAgbWFyZ2luLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgtbWQtLWh1Z2UsXG4gIC5tci1tZC0taHVnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS1tZC0taHVnZSxcbiAgLm1iLW1kLS1odWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC1tZC0taHVnZSxcbiAgLm1sLW1kLS1odWdlIHtcbiAgICBtYXJnaW4tbGVmdDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucC1tZC0tYmFzZSB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHktbWQtLWJhc2UsXG4gIC5wdC1tZC0tYmFzZSB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LW1kLS1iYXNlLFxuICAucHItbWQtLWJhc2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LW1kLS1iYXNlLFxuICAucGItbWQtLWJhc2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC1tZC0tYmFzZSxcbiAgLnBsLW1kLS1iYXNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnAtbWQtLXRpbnkge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHktbWQtLXRpbnksXG4gIC5wdC1tZC0tdGlueSB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgtbWQtLXRpbnksXG4gIC5wci1tZC0tdGlueSB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS1tZC0tdGlueSxcbiAgLnBiLW1kLS10aW55IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC1tZC0tdGlueSxcbiAgLnBsLW1kLS10aW55IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucC1tZC0tbWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LW1kLS1tZWRpdW0sXG4gIC5wdC1tZC0tbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC1tZC0tbWVkaXVtLFxuICAucHItbWQtLW1lZGl1bSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS1tZC0tbWVkaXVtLFxuICAucGItbWQtLW1lZGl1bSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgtbWQtLW1lZGl1bSxcbiAgLnBsLW1kLS1tZWRpdW0ge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5wLW1kLS1sYXJnZSB7XG4gICAgcGFkZGluZzogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHktbWQtLWxhcmdlLFxuICAucHQtbWQtLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgtbWQtLWxhcmdlLFxuICAucHItbWQtLWxhcmdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS1tZC0tbGFyZ2UsXG4gIC5wYi1tZC0tbGFyZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC1tZC0tbGFyZ2UsXG4gIC5wbC1tZC0tbGFyZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucC1tZC0teGxhcmdlIHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS1tZC0teGxhcmdlLFxuICAucHQtbWQtLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LW1kLS14bGFyZ2UsXG4gIC5wci1tZC0teGxhcmdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS1tZC0teGxhcmdlLFxuICAucGItbWQtLXhsYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LW1kLS14bGFyZ2UsXG4gIC5wbC1tZC0teGxhcmdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnAtbWQtLWh1Z2Uge1xuICAgIHBhZGRpbmc6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LW1kLS1odWdlLFxuICAucHQtbWQtLWh1Z2Uge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC1tZC0taHVnZSxcbiAgLnByLW1kLS1odWdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS1tZC0taHVnZSxcbiAgLnBiLW1kLS1odWdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgtbWQtLWh1Z2UsXG4gIC5wbC1tZC0taHVnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0cmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpIHtcbiAgXG4gIC5tLWxnLS1iYXNlIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LWxnLS1iYXNlLFxuICAubXQtbGctLWJhc2Uge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm14LWxnLS1iYXNlLFxuICAubXItbGctLWJhc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXktbGctLWJhc2UsXG4gIC5tYi1sZy0tYmFzZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgtbGctLWJhc2UsXG4gIC5tbC1sZy0tYmFzZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm0tbGctLXRpbnkge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS1sZy0tdGlueSxcbiAgLm10LWxnLS10aW55IHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm14LWxnLS10aW55LFxuICAubXItbGctLXRpbnkge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS1sZy0tdGlueSxcbiAgLm1iLWxnLS10aW55IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm14LWxnLS10aW55LFxuICAubWwtbGctLXRpbnkge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm0tbGctLW1lZGl1bSB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LWxnLS1tZWRpdW0sXG4gIC5tdC1sZy0tbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm14LWxnLS1tZWRpdW0sXG4gIC5tci1sZy0tbWVkaXVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXktbGctLW1lZGl1bSxcbiAgLm1iLWxnLS1tZWRpdW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgtbGctLW1lZGl1bSxcbiAgLm1sLWxnLS1tZWRpdW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm0tbGctLWxhcmdlIHtcbiAgICBtYXJnaW46IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LWxnLS1sYXJnZSxcbiAgLm10LWxnLS1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgtbGctLWxhcmdlLFxuICAubXItbGctLWxhcmdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LWxnLS1sYXJnZSxcbiAgLm1iLWxnLS1sYXJnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgtbGctLWxhcmdlLFxuICAubWwtbGctLWxhcmdlIHtcbiAgICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubS1sZy0teGxhcmdlIHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LWxnLS14bGFyZ2UsXG4gIC5tdC1sZy0teGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC1sZy0teGxhcmdlLFxuICAubXItbGctLXhsYXJnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS1sZy0teGxhcmdlLFxuICAubWItbGctLXhsYXJnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgtbGctLXhsYXJnZSxcbiAgLm1sLWxnLS14bGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5tLWxnLS1odWdlIHtcbiAgICBtYXJnaW46IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LWxnLS1odWdlLFxuICAubXQtbGctLWh1Z2Uge1xuICAgIG1hcmdpbi10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm14LWxnLS1odWdlLFxuICAubXItbGctLWh1Z2Uge1xuICAgIG1hcmdpbi1yaWdodDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXktbGctLWh1Z2UsXG4gIC5tYi1sZy0taHVnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgtbGctLWh1Z2UsXG4gIC5tbC1sZy0taHVnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnAtbGctLWJhc2Uge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LWxnLS1iYXNlLFxuICAucHQtbGctLWJhc2Uge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC1sZy0tYmFzZSxcbiAgLnByLWxnLS1iYXNlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS1sZy0tYmFzZSxcbiAgLnBiLWxnLS1iYXNlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgtbGctLWJhc2UsXG4gIC5wbC1sZy0tYmFzZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5wLWxnLS10aW55IHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LWxnLS10aW55LFxuICAucHQtbGctLXRpbnkge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LWxnLS10aW55LFxuICAucHItbGctLXRpbnkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHktbGctLXRpbnksXG4gIC5wYi1sZy0tdGlueSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgtbGctLXRpbnksXG4gIC5wbC1sZy0tdGlueSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnAtbGctLW1lZGl1bSB7XG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS1sZy0tbWVkaXVtLFxuICAucHQtbGctLW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgtbGctLW1lZGl1bSxcbiAgLnByLWxnLS1tZWRpdW0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHktbGctLW1lZGl1bSxcbiAgLnBiLWxnLS1tZWRpdW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LWxnLS1tZWRpdW0sXG4gIC5wbC1sZy0tbWVkaXVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucC1sZy0tbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LWxnLS1sYXJnZSxcbiAgLnB0LWxnLS1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LWxnLS1sYXJnZSxcbiAgLnByLWxnLS1sYXJnZSB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHktbGctLWxhcmdlLFxuICAucGItbGctLWxhcmdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgtbGctLWxhcmdlLFxuICAucGwtbGctLWxhcmdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnAtbGctLXhsYXJnZSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHktbGctLXhsYXJnZSxcbiAgLnB0LWxnLS14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC1sZy0teGxhcmdlLFxuICAucHItbGctLXhsYXJnZSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHktbGctLXhsYXJnZSxcbiAgLnBiLWxnLS14bGFyZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC1sZy0teGxhcmdlLFxuICAucGwtbGctLXhsYXJnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5wLWxnLS1odWdlIHtcbiAgICBwYWRkaW5nOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS1sZy0taHVnZSxcbiAgLnB0LWxnLS1odWdlIHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgtbGctLWh1Z2UsXG4gIC5wci1sZy0taHVnZSB7XG4gICAgcGFkZGluZy1yaWdodDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHktbGctLWh1Z2UsXG4gIC5wYi1sZy0taHVnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LWxnLS1odWdlLFxuICAucGwtbGctLWh1Z2Uge1xuICAgIHBhZGRpbmctbGVmdDogNHJlbSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBcbiAgLm0teGwtLWJhc2Uge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXkteGwtLWJhc2UsXG4gIC5tdC14bC0tYmFzZSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgteGwtLWJhc2UsXG4gIC5tci14bC0tYmFzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS14bC0tYmFzZSxcbiAgLm1iLXhsLS1iYXNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC14bC0tYmFzZSxcbiAgLm1sLXhsLS1iYXNlIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubS14bC0tdGlueSB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LXhsLS10aW55LFxuICAubXQteGwtLXRpbnkge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgteGwtLXRpbnksXG4gIC5tci14bC0tdGlueSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LXhsLS10aW55LFxuICAubWIteGwtLXRpbnkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgteGwtLXRpbnksXG4gIC5tbC14bC0tdGlueSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubS14bC0tbWVkaXVtIHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXkteGwtLW1lZGl1bSxcbiAgLm10LXhsLS1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgteGwtLW1lZGl1bSxcbiAgLm1yLXhsLS1tZWRpdW0ge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS14bC0tbWVkaXVtLFxuICAubWIteGwtLW1lZGl1bSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC14bC0tbWVkaXVtLFxuICAubWwteGwtLW1lZGl1bSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubS14bC0tbGFyZ2Uge1xuICAgIG1hcmdpbjogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXkteGwtLWxhcmdlLFxuICAubXQteGwtLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC14bC0tbGFyZ2UsXG4gIC5tci14bC0tbGFyZ2Uge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXkteGwtLWxhcmdlLFxuICAubWIteGwtLWxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC14bC0tbGFyZ2UsXG4gIC5tbC14bC0tbGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5tLXhsLS14bGFyZ2Uge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXkteGwtLXhsYXJnZSxcbiAgLm10LXhsLS14bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm14LXhsLS14bGFyZ2UsXG4gIC5tci14bC0teGxhcmdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm15LXhsLS14bGFyZ2UsXG4gIC5tYi14bC0teGxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC14bC0teGxhcmdlLFxuICAubWwteGwtLXhsYXJnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLm0teGwtLWh1Z2Uge1xuICAgIG1hcmdpbjogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXkteGwtLWh1Z2UsXG4gIC5tdC14bC0taHVnZSB7XG4gICAgbWFyZ2luLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAubXgteGwtLWh1Z2UsXG4gIC5tci14bC0taHVnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teS14bC0taHVnZSxcbiAgLm1iLXhsLS1odWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5teC14bC0taHVnZSxcbiAgLm1sLXhsLS1odWdlIHtcbiAgICBtYXJnaW4tbGVmdDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucC14bC0tYmFzZSB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHkteGwtLWJhc2UsXG4gIC5wdC14bC0tYmFzZSB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LXhsLS1iYXNlLFxuICAucHIteGwtLWJhc2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LXhsLS1iYXNlLFxuICAucGIteGwtLWJhc2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC14bC0tYmFzZSxcbiAgLnBsLXhsLS1iYXNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnAteGwtLXRpbnkge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHkteGwtLXRpbnksXG4gIC5wdC14bC0tdGlueSB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgteGwtLXRpbnksXG4gIC5wci14bC0tdGlueSB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS14bC0tdGlueSxcbiAgLnBiLXhsLS10aW55IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC14bC0tdGlueSxcbiAgLnBsLXhsLS10aW55IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucC14bC0tbWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LXhsLS1tZWRpdW0sXG4gIC5wdC14bC0tbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC14bC0tbWVkaXVtLFxuICAucHIteGwtLW1lZGl1bSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS14bC0tbWVkaXVtLFxuICAucGIteGwtLW1lZGl1bSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgteGwtLW1lZGl1bSxcbiAgLnBsLXhsLS1tZWRpdW0ge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5wLXhsLS1sYXJnZSB7XG4gICAgcGFkZGluZzogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHkteGwtLWxhcmdlLFxuICAucHQteGwtLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgteGwtLWxhcmdlLFxuICAucHIteGwtLWxhcmdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS14bC0tbGFyZ2UsXG4gIC5wYi14bC0tbGFyZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC14bC0tbGFyZ2UsXG4gIC5wbC14bC0tbGFyZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucC14bC0teGxhcmdlIHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS14bC0teGxhcmdlLFxuICAucHQteGwtLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LXhsLS14bGFyZ2UsXG4gIC5wci14bC0teGxhcmdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS14bC0teGxhcmdlLFxuICAucGIteGwtLXhsYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB4LXhsLS14bGFyZ2UsXG4gIC5wbC14bC0teGxhcmdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnAteGwtLWh1Z2Uge1xuICAgIHBhZGRpbmc6IDRyZW0gIWltcG9ydGFudDsgfVxuICBcbiAgLnB5LXhsLS1odWdlLFxuICAucHQteGwtLWh1Z2Uge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weC14bC0taHVnZSxcbiAgLnByLXhsLS1odWdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgXG4gIC5weS14bC0taHVnZSxcbiAgLnBiLXhsLS1odWdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG4gIFxuICAucHgteGwtLWh1Z2UsXG4gIC5wbC14bC0taHVnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0cmVtICFpbXBvcnRhbnQ7IH0gfVxuXG4ubXMwIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5tczEge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5tczIge1xuICBmb250LXNpemU6IDEuMjY2cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5tczMge1xuICBmb250LXNpemU6IDEuNDI0cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5tczQge1xuICBmb250LXNpemU6IDEuNjAycmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5tczUge1xuICBmb250LXNpemU6IDEuODAycmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5tczYge1xuICBmb250LXNpemU6IDIuMDI3cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5tczcge1xuICBmb250LXNpemU6IDIuMjgxcmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5tczgge1xuICBmb250LXNpemU6IDIuNTY2cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5tczkge1xuICBmb250LXNpemU6IDIuODg3cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5tcy0xIHtcbiAgZm9udC1zaXplOiAwLjg4OXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4ubXMtMiB7XG4gIGZvbnQtc2l6ZTogMC43OXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4ubXMtMyB7XG4gIGZvbnQtc2l6ZTogMC43MDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLnZpc2libGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgLnZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5oaWRkZW4tc20ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnZpc2libGUtbWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpIHtcbiAgLnZpc2libGUtbGcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5oaWRkZW4tbGcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC52aXNpYmxlLXhsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC4wNjI1cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgYm9yZGVyLXJhZGl1czogMi4xMjVyZW07XG4gIGNvbG9yOiAjM2EzYTNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBib3JkZXItY29sb3I6ICNjY2M7XG4gIHRyYW5zaXRpb246IGFsbCAwLjEyNXMgZWFzZS1pbi1vdXQ7IH1cbiAgLmJ0bjpob3ZlciB7XG4gICAgY29sb3I6ICMzYTNhM2E7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgLmJ0bjphY3RpdmUsIC5idG4uYWN0aXZlLFxuICAub3BlbiA+IC5idG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogIzNhM2EzYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuYnRuLmRpc2FibGVkLCAuYnRuOmRpc2FibGVkLCAuYnRuW2Rpc2FibGVkXSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIG9wYWNpdHk6IC42OyB9XG4gICAgLmJ0bi5kaXNhYmxlZDpmb2N1cywgLmJ0bi5kaXNhYmxlZDpob3ZlciwgLmJ0bjpkaXNhYmxlZDpmb2N1cywgLmJ0bjpkaXNhYmxlZDpob3ZlciwgLmJ0bltkaXNhYmxlZF06Zm9jdXMsIC5idG5bZGlzYWJsZWRdOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjM2EzYTNhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuYnRuOmZvY3VzLCAuYnRuOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJ0bjphY3RpdmUsIC5idG4uYWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idG4uZm9jdXMsIC5idG46Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNTJjMGM0LCAwIDAgMCA0cHggcmdiYSg4MiwgMTkyLCAxOTYsIDAuMyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzUyYzBjNDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5idG5bY2xhc3MqPVwiaWNvbi1cIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmJ0bltjbGFzcyo9XCJpY29uLVwiXTo6YmVmb3JlLCAuYnRuW2NsYXNzKj1cImljb24tXCJdOjphZnRlciwgLmJ0bltkYXRhLWljb25dIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7IH1cbiAgLmJ0bltkYXRhLWljb25dIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7IH1cbiAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5idG4tLXByaW1hcnkge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTg1MGY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjE4NTBmOyB9XG4gICAgLmJ0bi0tcHJpbWFyeTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU3MDA7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDU3MDA7IH1cbiAgICAuYnRuLS1wcmltYXJ5OmFjdGl2ZSwgLmJ0bi0tcHJpbWFyeS5hY3RpdmUsXG4gICAgLm9wZW4gPiAuYnRuLS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU3MDA7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDU3MDA7IH1cbiAgICAuYnRuLS1wcmltYXJ5LmRpc2FibGVkLCAuYnRuLS1wcmltYXJ5OmRpc2FibGVkLCAuYnRuLS1wcmltYXJ5W2Rpc2FibGVkXSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6IC42OyB9XG4gICAgICAuYnRuLS1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLS1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnRuLS1wcmltYXJ5OmRpc2FibGVkOmZvY3VzLCAuYnRuLS1wcmltYXJ5OmRpc2FibGVkOmhvdmVyLCAuYnRuLS1wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLmJ0bi0tcHJpbWFyeVtkaXNhYmxlZF06aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxODUwZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjE4NTBmOyB9XG4gIC5idG4tLXNlY29uZGFyeSB7XG4gICAgY29sb3I6ICMyMTg1MGY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICMyMTg1MGY7IH1cbiAgICAuYnRuLS1zZWNvbmRhcnk6aG92ZXIge1xuICAgICAgY29sb3I6ICMzYTNhM2E7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM2EzYTNhOyB9XG4gICAgLmJ0bi0tc2Vjb25kYXJ5OmFjdGl2ZSwgLmJ0bi0tc2Vjb25kYXJ5LmFjdGl2ZSxcbiAgICAub3BlbiA+IC5idG4tLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUge1xuICAgICAgY29sb3I6ICMzYTNhM2E7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM2EzYTNhOyB9XG4gICAgLmJ0bi0tc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnRuLS1zZWNvbmRhcnk6ZGlzYWJsZWQsIC5idG4tLXNlY29uZGFyeVtkaXNhYmxlZF0ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAuNjsgfVxuICAgICAgLmJ0bi0tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLS1zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idG4tLXNlY29uZGFyeTpkaXNhYmxlZDpmb2N1cywgLmJ0bi0tc2Vjb25kYXJ5OmRpc2FibGVkOmhvdmVyLCAuYnRuLS1zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzLCAuYnRuLS1zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMyMTg1MGY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzIxODUwZjsgfVxuICAuYnRuLS1jdGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjNmZTE7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDIzZmUxOyB9XG4gICAgLmJ0bi0tY3RhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMWVjMjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzIxMWVjMjsgfVxuICAgIC5idG4tLWN0YTphY3RpdmUsIC5idG4tLWN0YS5hY3RpdmUsXG4gICAgLm9wZW4gPiAuYnRuLS1jdGEuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMWVjMjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzIxMWVjMjsgfVxuICAgIC5idG4tLWN0YS5kaXNhYmxlZCwgLmJ0bi0tY3RhOmRpc2FibGVkLCAuYnRuLS1jdGFbZGlzYWJsZWRdIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogLjY7IH1cbiAgICAgIC5idG4tLWN0YS5kaXNhYmxlZDpmb2N1cywgLmJ0bi0tY3RhLmRpc2FibGVkOmhvdmVyLCAuYnRuLS1jdGE6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tLWN0YTpkaXNhYmxlZDpob3ZlciwgLmJ0bi0tY3RhW2Rpc2FibGVkXTpmb2N1cywgLmJ0bi0tY3RhW2Rpc2FibGVkXTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDIzZmUxO1xuICAgICAgICBib3JkZXItY29sb3I6ICM0MjNmZTE7IH1cbiAgLmJ0bi0tbmV1dHJhbCB7XG4gICAgY29sb3I6ICMzYTNhM2E7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICMzYTNhM2E7IH1cbiAgICAuYnRuLS1uZXV0cmFsOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMjE4NTBmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzIxODUwZjsgfVxuICAgIC5idG4tLW5ldXRyYWw6YWN0aXZlLCAuYnRuLS1uZXV0cmFsLmFjdGl2ZSxcbiAgICAub3BlbiA+IC5idG4tLW5ldXRyYWwuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjMjE4NTBmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzIxODUwZjsgfVxuICAgIC5idG4tLW5ldXRyYWwuZGlzYWJsZWQsIC5idG4tLW5ldXRyYWw6ZGlzYWJsZWQsIC5idG4tLW5ldXRyYWxbZGlzYWJsZWRdIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogLjY7IH1cbiAgICAgIC5idG4tLW5ldXRyYWwuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tLW5ldXRyYWwuZGlzYWJsZWQ6aG92ZXIsIC5idG4tLW5ldXRyYWw6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tLW5ldXRyYWw6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tLW5ldXRyYWxbZGlzYWJsZWRdOmZvY3VzLCAuYnRuLS1uZXV0cmFsW2Rpc2FibGVkXTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjM2EzYTNhO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYTNhM2E7IH1cbiAgLmJ0bi0tcmV2ZXJzZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gICAgLmJ0bi0tcmV2ZXJzZTpob3ZlciB7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOTk5OyB9XG4gICAgLmJ0bi0tcmV2ZXJzZTphY3RpdmUsIC5idG4tLXJldmVyc2UuYWN0aXZlLFxuICAgIC5vcGVuID4gLmJ0bi0tcmV2ZXJzZS5kcm9wZG93bi10b2dnbGUge1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzk5OTsgfVxuICAgIC5idG4tLXJldmVyc2UuZGlzYWJsZWQsIC5idG4tLXJldmVyc2U6ZGlzYWJsZWQsIC5idG4tLXJldmVyc2VbZGlzYWJsZWRdIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogLjY7IH1cbiAgICAgIC5idG4tLXJldmVyc2UuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tLXJldmVyc2UuZGlzYWJsZWQ6aG92ZXIsIC5idG4tLXJldmVyc2U6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tLXJldmVyc2U6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tLXJldmVyc2VbZGlzYWJsZWRdOmZvY3VzLCAuYnRuLS1yZXZlcnNlW2Rpc2FibGVkXTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gIC5idG4tLWxnIHtcbiAgICBwYWRkaW5nOiAwLjY4NzVyZW0gMXJlbTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMC4wNjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xMjU7XG4gICAgYm9yZGVyLXJhZGl1czogMi41cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5idG4tLXNtIHtcbiAgICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAxcmVtO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMC4wNjI1cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg4OXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07IH1cbiAgICAgIC5idG4tLXNtW2NsYXNzKj1cImljb24tXCJdOjpiZWZvcmUsXG4gICAgICAuYnRuLS1zbSBbY2xhc3MqPVwiaWNvbi1cIl06OmJlZm9yZSxcbiAgICAgIC5idG4tLXNtIFtkYXRhLWljb25dIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMS4yNXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUxJSk7IH0gfVxuICAuYnRuLS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYnRuLS1ibG9jayArIC5idG4tLWJsb2NrIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jbG9zZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogLjc1O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgLmNsb3NlOmZvY3VzLCAuY2xvc2U6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY2xvc2U6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IGNzLWdsb2JhbC1pY29ucywgc2Fucy1zZXJpZjtcbiAgICBjb250ZW50OiBcIlxcZjExNVwiOyB9XG5cbi5kaXZpZGVyOmVtcHR5IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2NjYztcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLmRpdmlkZXI6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAuZGl2aWRlcjpub3QoOmVtcHR5KTo6YmVmb3JlLCAuZGl2aWRlcjpub3QoOmVtcHR5KTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXg6IDE7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjY2NjO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgfVxuICAuZGl2aWRlcjpub3QoOmVtcHR5KTo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLmRpdmlkZXI6bm90KDplbXB0eSk6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uZGl2aWRlci0taGVhdnk6ZW1wdHkge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMjE4NTBmO1xuICBib3JkZXItdG9wLXdpZHRoOiAycHg7IH1cblxuLmRpdmlkZXItLWhlYXZ5Om5vdCg6ZW1wdHkpOjpiZWZvcmUsIC5kaXZpZGVyLS1oZWF2eTpub3QoOmVtcHR5KTo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMjE4NTBmO1xuICBib3JkZXItdG9wLXdpZHRoOiAycHg7IH1cblxuLmZvcm0tY29udHJvbCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuMDYyNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4xMjU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICMzYTNhM2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuZm9ybS1jb250cm9sOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM3NTc1NzU7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZm9ybS1jb250cm9sOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMzYTNhM2E7IH1cbiAgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM1MmMwYzQsIDAgMCAwIDRweCByZ2JhKDgyLCAxOTIsIDE5NiwgMC4zKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTJjMGM0O1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLmZvcm0tY29udHJvbFtyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZm9ybS1jb250cm9sOmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NjYztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZm9ybS1jb250cm9sOmRpc2FibGVkOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2NjYzsgfVxuICAuZm9ybS1jb250cm9sLmVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICNmMjU1NTU7IH1cbiAgICAuZm9ybS1jb250cm9sLmVycm9yIH4gLmZvcm0tZmVlZGJhY2stLWludmFsaWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5mb3JtLWNvbnRyb2wuZXJyb3IgfiAuZm9ybS1mZWVkYmFjay0taW52YWxpZCB+IC5mb3JtLWhlbHAge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdC5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDsgfVxuICBzZWxlY3QuZm9ybS1jb250cm9sOmZvY3VzOjotbXMtdmFsdWUge1xuICAgIGNvbG9yOiAjM2EzYTNhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgc2VsZWN0LmZvcm0tY29udHJvbDpub3QoW211bHRpcGxlXSkge1xuICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTAgNic+JTNDZyBmaWxsPSdub25lJyUzRSUzQ2cgZmlsbD0nJTIzM0EzQTNBJyUzRSUzQ3BvbHlnb24gdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTgzMiAtNTM5KXRyYW5zbGF0ZSg3MjMgNTI1KXRyYW5zbGF0ZSgxMTQgMTcpc2NhbGUoMSAtMSl0cmFuc2xhdGUoLTExNCAtMTcpJyBwb2ludHM9JzExNCAxNCAxMTkgMjAgMTA5IDIwJyBjbGFzcz0ndW5kZWZpbmVkJy8lM0UlM0MvZyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwLjVyZW0gMC41cmVtO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgLmZvcm0tY29udHJvbC0tc20ge1xuICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAxcmVtO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjA2MjVyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xMjU7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxuICAuZm9ybS1jb250cm9sLS1sZyB7XG4gICAgcGFkZGluZzogMC42ODc1cmVtIDFyZW07XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAuMDYyNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cbiAgLmZvcm0tY29udHJvbC0tZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICBib3JkZXItY29sb3I6ICNjY2M7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIC5mb3JtLWNvbnRyb2wtLWRpc2FibGVkOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2NjYzsgfVxuXG4uZm9ybS1jb250cm9sLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDsgfVxuICAuZm9ybS1jb250cm9sLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyArIGxhYmVsW2Zvcl06OmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICM1MmMwYzQsIDAgMCAwIDRweCByZ2JhKDgyLCAxOTIsIDE5NiwgMC4zKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTJjMGM0O1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLmZvcm0tY29udHJvbC1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbFtmb3JdOjpiZWZvcmUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICBib3JkZXItY29sb3I6ICNjY2M7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZm9ybS1jb250cm9sLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCArIGxhYmVsW2Zvcl06OmFmdGVyIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5mb3JtLWNvbnRyb2wtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6bm90KDpkaXNhYmxlZCkgKyBsYWJlbFtmb3JdOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTg1MGY7XG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XG4gIC5mb3JtLWNvbnRyb2wtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbFtmb3JdOmhvdmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IH1cbiAgLmZvcm0tY29udHJvbC1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uZXJyb3IgfiAuZm9ybS1mZWVkYmFjay0taW52YWxpZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZm9ybS1jb250cm9sLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5lcnJvciB+IC5mb3JtLWZlZWRiYWNrLS1pbnZhbGlkIH4gLmZvcm0taGVscCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mb3JtLWNvbnRyb2wtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmVycm9yICsgbGFiZWxbZm9yXTo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICNmMjU1NTU7IH1cbiAgLmZvcm0tY29udHJvbC1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbFtmb3JdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5mb3JtLWNvbnRyb2wtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWxbZm9yXTo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzNhM2EzYTsgfVxuICAgIC5mb3JtLWNvbnRyb2wtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWxbZm9yXTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZm9udC1mYW1pbHk6IGNzLWdsb2JhbC1pY29ucywgc2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5mb3JtLWNvbnRyb2wtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbFtmb3JdOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYxMTFcIjsgfVxuICAuZm9ybS1jb250cm9sLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsW2Zvcl06OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cbiAgLmZvcm0tY29udHJvbC1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbFtmb3JdOjphZnRlciB7XG4gICAgdG9wOiAwLjE4NzVyZW07XG4gICAgbGVmdDogMC4xMjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5mb3JtLWNvbnRyb2wtY2hlY2tib3gtLWxnIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsW2Zvcl0ge1xuICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5mb3JtLWNvbnRyb2wtY2hlY2tib3gtLWxnIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsW2Zvcl06OmJlZm9yZSB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTsgfVxuXG4uZm9ybS1jb250cm9sLWNoZWNrYm94LS1sZyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbFtmb3JdOjphZnRlciB7XG4gIHRvcDogMC4wNjI1cmVtO1xuICBsZWZ0OiAwLjI1cmVtO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLmZvcm0tY29udHJvbC1yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmZvcm0tY29udHJvbC1yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMgKyBsYWJlbFtmb3JdOjpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNTJjMGM0LCAwIDAgMCA0cHggcmdiYSg4MiwgMTkyLCAxOTYsIDAuMyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzUyYzBjNDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5mb3JtLWNvbnRyb2wtcmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkICsgbGFiZWxbZm9yXTo6YmVmb3JlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvcm0tY29udHJvbC1yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQgKyBsYWJlbFtmb3JdOjphZnRlciB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkOm5vdCg6ZGlzYWJsZWQpICsgbGFiZWxbZm9yXTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NTBmO1xuICAgIGJvcmRlci13aWR0aDogMDsgfVxuICAuZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgbGFiZWxbZm9yXTpob3Zlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmOyB9XG4gIC5mb3JtLWNvbnRyb2wtcmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLmVycm9yIH4gLmZvcm0tZmVlZGJhY2stLWludmFsaWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmZvcm0tY29udHJvbC1yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0uZXJyb3IgfiAuZm9ybS1mZWVkYmFjay0taW52YWxpZCB+IC5mb3JtLWhlbHAge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXS5lcnJvciArIGxhYmVsW2Zvcl06OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjI1NTU1OyB9XG4gIC5mb3JtLWNvbnRyb2wtcmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWxbZm9yXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsW2Zvcl06OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICMzYTNhM2E7IH1cbiAgICAuZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsW2Zvcl06OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBjcy1nbG9iYWwtaWNvbnMsIHNhbnMtc2VyaWY7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWxbZm9yXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTEzXCI7IH1cbiAgLmZvcm0tY29udHJvbC1yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbFtmb3JdOjpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAuZm9ybS1jb250cm9sLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsW2Zvcl06OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBmb250LXNpemU6IDAuNXJlbTsgfVxuXG4uZm9ybS1jb250cm9sLXJhZGlvLS1sZyBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbFtmb3JdIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAuZm9ybS1jb250cm9sLXJhZGlvLS1sZyBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbFtmb3JdOjpiZWZvcmUge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07IH1cblxuLmZvcm0tY29udHJvbC1yYWRpby0tbGcgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWxbZm9yXTo6YWZ0ZXIge1xuICB0b3A6IDAuMjVyZW07XG4gIGxlZnQ6IDAuMzc1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLmZvcm0tbGFiZWwge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAuZm9ybS1sYWJlbC0tcmVxdWlyZWQ6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBjb2xvcjogI2YyNTU1NTtcbiAgICBjb250ZW50OiBcIipcIjsgfVxuXG4uZm9ybS1oZWxwIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC4zNzVyZW07XG4gIGNvbG9yOiAjNzU3NTc1OyB9XG5cbi5mb3JtLWZlZWRiYWNrIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMC4zNzVyZW07IH1cbiAgLmZvcm0tZmVlZGJhY2stLWludmFsaWQge1xuICAgIGNvbG9yOiAjZjI1NTU1OyB9XG5cbmgxIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxLjgwMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAyLjAyN3JlbTsgfSB9XG5cbmgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxLjQyNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjYwMnJlbTsgfSB9XG5cbmgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxLjI2NnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cblxuaDQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTsgfVxuXG5oNSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44ODlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzEyNXJlbTsgfVxuXG4uaGVhZGluZy0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxLjgwMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmhlYWRpbmctMSB7XG4gICAgICBmb250LXNpemU6IDIuMDI3cmVtOyB9IH1cblxuLmhlYWRpbmctMiB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS40MjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5oZWFkaW5nLTIge1xuICAgICAgZm9udC1zaXplOiAxLjYwMnJlbTsgfSB9XG5cbi5oZWFkaW5nLTMge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMjY2cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTsgfVxuXG4uaGVhZGluZy00IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cblxuLmhlYWRpbmctNSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44ODlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzEyNXJlbTsgfVxuXG4uaGVhZGluZy0tb3N3YWxkIHtcbiAgZm9udC1mYW1pbHk6IFwiT3N3YWxkXCIsIGhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLmRpc3BsYXktMSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMi4yODFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZGlzcGxheS0xIHtcbiAgICAgIGZvbnQtc2l6ZTogMi44ODdyZW07IH0gfVxuXG4uZGlzcGxheS0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAyLjAyN3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5kaXNwbGF5LTIge1xuICAgICAgZm9udC1zaXplOiAyLjU2NnJlbTsgfSB9XG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEuMjY2cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5zbWFsbCxcbnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjg4OXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4uY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC43OXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA1NjJyZW07XG4gIGNhcHRpb24tc2lkZTogYm90dG9tOyB9XG5cbi5sZWdhbCB7XG4gIGZvbnQtc2l6ZTogMC43MDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwNTYycmVtOyB9XG5cbi5tYXJrLFxubWFyayB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMzsgfVxuXG4ubGluayB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjEyNXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogIzNhM2EzYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM1MzUzNTM7IH1cbiAgLmxpbmsgPiBbY2xhc3NePVwiaWNvblwiXTo6YmVmb3JlIHtcbiAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgdmVydGljYWwtYWxpZ246IHN1YjsgfVxuICAubGluazphY3RpdmUsIC5saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzQyM2ZlMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzQyM2ZlMTsgfVxuICAubGluazpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICAgIG91dGxpbmUtY29sb3I6ICM0MjNmZTE7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDA7IH1cbiAgLmxpbmstLWN0YSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICM0MjNmZTE7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAubGluay0tY3RhOmFjdGl2ZSwgLmxpbmstLWN0YTpob3ZlciB7XG4gICAgICBjb2xvcjogIzQyM2ZlMTsgfVxuICAubGluay0tcmV2ZXJzZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsgfVxuICAgIC5saW5rLS1yZXZlcnNlOmFjdGl2ZSwgLmxpbmstLXJldmVyc2U6aG92ZXIge1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjOTk5OyB9XG4gICAgLmxpbmstLXJldmVyc2U6Zm9jdXMge1xuICAgICAgb3V0bGluZS1jb2xvcjogI2ZmZjsgfVxuICAubGluay0tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cblxuLmxpc3QtaW5saW5lIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cblxuLmxpc3QtaW5saW5lIGxpLFxuLmxpc3QtaW5saW5lX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIFxuICAubGlzdC1pbmxpbmUgbGk6bm90KDpsYXN0LWNoaWxkKSxcbiAgLmxpc3QtaW5saW5lX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9XG5cbi5saXN0LWlubGluZS0tZGVsaW1pdGVkID4gbGkgKyBsaTo6YmVmb3JlLFxuLmxpc3QtaW5saW5lLS1kZWxpbWl0ZWQgPiAubGlzdC1pbmxpbmVfX2l0ZW0gKyAubGlzdC1pbmxpbmVfX2l0ZW06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiLMKgXCI7IH1cblxuLmxvYWRlciB7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogIzc1NzU3NTsgfVxuICAubG9hZGVyIGRpdiB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGJvcmRlci13aWR0aDogNXB4OyB9XG4gIC5sb2FkZXIgZGl2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYW5pbWF0aW9uOiBjcy1sb2FkZXIgMS4ycyBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjUsIDEpIGluZmluaXRlOyB9XG4gICAgLmxvYWRlciBkaXY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLS40NXM7IH1cbiAgICAubG9hZGVyIGRpdjpudGgtY2hpbGQoMikge1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtLjNzOyB9XG4gICAgLmxvYWRlciBkaXY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLS4xNXM7IH1cblxuQGtleWZyYW1lcyBjcy1sb2FkZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG4gIC5sb2FkZXItLXNtIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH1cbiAgICAubG9hZGVyLS1zbSBkaXYge1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICBib3JkZXItd2lkdGg6IDNweDsgfVxuICAubG9hZGVyLS1sZyB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAzcmVtOyB9XG4gICAgLmxvYWRlci0tbGcgZGl2IHtcbiAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgYm9yZGVyLXdpZHRoOiA2cHg7IH1cbiAgLmxvYWRlci0tY2VudGVyZWQge1xuICAgIHRvcDogY2FsYyg1MCUgLSAycmVtIC8gMik7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAycmVtIC8gMik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAubG9hZGVyLS1jZW50ZXJlZC5sb2FkZXItLXNtIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAxcmVtIC8gMik7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDFyZW0gLyAyKTsgfVxuICAgIC5sb2FkZXItLWNlbnRlcmVkLmxvYWRlci0tbGcge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDNyZW0gLyAyKTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gM3JlbSAvIDIpOyB9XG5cbi5hdmF0YXIge1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5hdmF0YXIgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5hdmF0YXIgaW1nOm5vdChbZGF0YS10b2dnbGU9XCJhdmF0YXJcIl0pIHtcbiAgICAgIHBhZGRpbmc6IDAuMDYyNXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMwNDlmYTQ7IH1cbiAgLmF2YXRhci0tY2VydGlmaWVkIHtcbiAgICB3aWR0aDogNHJlbTtcbiAgICBoZWlnaHQ6IDRyZW07IH1cbiAgICAuYXZhdGFyLS1jZXJ0aWZpZWQ6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTAuMzc1cmVtO1xuICAgICAgYm90dG9tOiAtMC4zNzVyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvbG9nby0tY2hlY2ttYXJrLS1ncmVlbi0tYmxhY2stLXdoaXRlLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmF2YXRhci0tc21hbGwge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07IH1cbiAgLmF2YXRhci0tbGFyZ2Uge1xuICAgIHdpZHRoOiA0cmVtO1xuICAgIGhlaWdodDogNHJlbTsgfVxuXG4udGFnIHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBjb2xvcjogIzUzNTM1MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgLnRhZzpob3ZlciB7XG4gICAgY29sb3I6ICM1MzUzNTM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxuICAudGFnOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzUyYzBjNCwgMCAwIDAgNHB4IHJnYmEoODIsIDE5MiwgMTk2LCAwLjMpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1MmMwYzQ7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAudGFnLS1jbG9zZSwgLnRhZ1tkYXRhLWRpc21pc3M9XCJ0YWdcIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsgfVxuICAgIC50YWctLWNsb3NlLCAudGFnW2RhdGEtZGlzbWlzcz1cInRhZ1wiXSB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjsgfVxuICAgICAgLnRhZy0tY2xvc2UuZmFkZSwgLnRhZ1tkYXRhLWRpc21pc3M9XCJ0YWdcIl0uZmFkZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAudGFnLS1jbG9zZTo6YWZ0ZXIsIC50YWdbZGF0YS1kaXNtaXNzPVwidGFnXCJdOjphZnRlciB7XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1mYW1pbHk6IGNzLWdsb2JhbC1pY29ucywgc2Fucy1zZXJpZjtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMTE1XCI7XG4gICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07IH1cblxuLmFjY29yZGlvbiArIC5hY2NvcmRpb24ge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cblxuLmFjY29yZGlvbl9fZ3JvdXAtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMjY2cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMS41cmVtIDAuMDYyNXJlbSAxcmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAuYWNjb3JkaW9uX19ncm91cC10aXRsZSB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW0gMXJlbSAxcmVtOyB9IH1cblxuLmFjY29yZGlvbl9faXRlbSB7XG4gIHBhZGRpbmc6IDAuMDYyNXJlbSAxcmVtO1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5hY2NvcmRpb25fX2l0ZW0ge1xuICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDJyZW07IH0gfVxuICAuYWNjb3JkaW9uX19pdGVtICsgLmFjY29yZGlvbl9faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG5cbi5hY2NvcmRpb25fX2hlYWRlciB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmFjY29yZGlvbl9faGVhZGVyID4gKiB7XG4gICAgZmxleDogMTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgLmFjY29yZGlvbl9faGVhZGVyIGgxLFxuICAuYWNjb3JkaW9uX19oZWFkZXIgaDIsXG4gIC5hY2NvcmRpb25fX2hlYWRlciBoMyxcbiAgLmFjY29yZGlvbl9faGVhZGVyIGg0LFxuICAuYWNjb3JkaW9uX19oZWFkZXIgaDUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbiAgICAuYWNjb3JkaW9uX19oZWFkZXIgaDEuaWNvbjo6YmVmb3JlLFxuICAgIC5hY2NvcmRpb25fX2hlYWRlciBoMi5pY29uOjpiZWZvcmUsXG4gICAgLmFjY29yZGlvbl9faGVhZGVyIGgzLmljb246OmJlZm9yZSxcbiAgICAuYWNjb3JkaW9uX19oZWFkZXIgaDQuaWNvbjo6YmVmb3JlLFxuICAgIC5hY2NvcmRpb25fX2hlYWRlciBoNS5pY29uOjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgLmFjY29yZGlvbl9faGVhZGVyIGgxID4gaW1nLFxuICAgIC5hY2NvcmRpb25fX2hlYWRlciBoMiA+IGltZyxcbiAgICAuYWNjb3JkaW9uX19oZWFkZXIgaDMgPiBpbWcsXG4gICAgLmFjY29yZGlvbl9faGVhZGVyIGg0ID4gaW1nLFxuICAgIC5hY2NvcmRpb25fX2hlYWRlciBoNSA+IGltZyB7XG4gICAgICBoZWlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICAgIC5hY2NvcmRpb25fX2hlYWRlciBoMS5pY29uOjpiZWZvcmUsXG4gICAgLmFjY29yZGlvbl9faGVhZGVyIGgxID4gaW1nLFxuICAgIC5hY2NvcmRpb25fX2hlYWRlciBoMi5pY29uOjpiZWZvcmUsXG4gICAgLmFjY29yZGlvbl9faGVhZGVyIGgyID4gaW1nLFxuICAgIC5hY2NvcmRpb25fX2hlYWRlciBoMy5pY29uOjpiZWZvcmUsXG4gICAgLmFjY29yZGlvbl9faGVhZGVyIGgzID4gaW1nLFxuICAgIC5hY2NvcmRpb25fX2hlYWRlciBoNC5pY29uOjpiZWZvcmUsXG4gICAgLmFjY29yZGlvbl9faGVhZGVyIGg0ID4gaW1nLFxuICAgIC5hY2NvcmRpb25fX2hlYWRlciBoNS5pY29uOjpiZWZvcmUsXG4gICAgLmFjY29yZGlvbl9faGVhZGVyIGg1ID4gaW1nIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuYWNjb3JkaW9uX19oZWFkZXItaW5mbyB7XG4gICAgZmxleDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMXJlbSArIDIwcHgpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmFjY29yZGlvbl9faGVhZGVyLWFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsZXg6IDA7XG4gICAgY29sb3I6ICM1YWI2NDM7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIC01MCUpOyB9XG4gICAgLmFjY29yZGlvbl9faGVhZGVyLWFycm93OjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IFwiY3MtZ2xvYmFsLWljb25zXCI7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICAgICAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgY29udGVudDogXCJcXGYxMDVcIjsgfVxuICAgIC5hY2NvcmRpb25fX2hlYWRlci1hcnJvdzo6YmVmb3JlIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMDhzOyB9XG4gICAgICAuY29sbGFwc2VkIC5hY2NvcmRpb25fX2hlYWRlci1hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfVxuICAuYWNjb3JkaW9uX19oZWFkZXItZGVzY3JpcHRpb24ge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYWNjb3JkaW9uX19ib2R5ID4gKjpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTsgfVxuXG4uYWNjb3JkaW9uX19ib2R5LmNvbGxhcHNlOm5vdCguc2hvdykge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hY2NvcmRpb25fX2JvZHkuY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cyBlYXNlOyB9XG5cbi5hY2NvcmRpb25fX2JvZHkgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYWNjb3JkaW9uLS1ncm91cCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgfVxuICAuYWNjb3JkaW9uLS1ncm91cCAuYWNjb3JkaW9uX19pdGVtIHtcbiAgICBwYWRkaW5nOiAwLjA2MjVyZW07XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAuYWNjb3JkaW9uLS1ncm91cCAuYWNjb3JkaW9uX19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDFyZW07IH0gfVxuICAgIC5hY2NvcmRpb24tLWdyb3VwIC5hY2NvcmRpb25fX2l0ZW0gKyAuYWNjb3JkaW9uX19pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYzsgfVxuICAgIC5hY2NvcmRpb24tLWdyb3VwIC5hY2NvcmRpb25fX2l0ZW0sIC5hY2NvcmRpb24tLWdyb3VwIC5hY2NvcmRpb25fX2l0ZW06aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgLmFjY29yZGlvbi0tZ3JvdXAgLmFjY29yZGlvbl9faGVhZGVyIGgzLCAuYWNjb3JkaW9uLS1ncm91cCAuYWNjb3JkaW9uX19oZWFkZXI6bm90KC5jbG9zZSkge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICAuZHJvcGRvd24tLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5kcm9wZG93bi0tYmxvY2sgLmRyb3Bkb3duX190b2dnbGUsIC5kcm9wZG93bi0tYmxvY2sgLmRyb3Bkb3duX19tZW51IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5kcm9wZG93bl9fdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAxNi4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjYyNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG4gICAgLmRyb3Bkb3duX190b2dnbGU6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBcImNzLWdsb2JhbC1pY29uc1wiO1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gICAgICBmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICBjb250ZW50OiBcIlxcZjEwZVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDAuMzEyNXJlbSk7XG4gICAgICByaWdodDogMXJlbTsgfVxuICAgIC5kcm9wZG93bi5zaG93IC5kcm9wZG93bl9fdG9nZ2xlIHtcbiAgICAgIHotaW5kZXg6IDEwMDI7IH1cbiAgLmRyb3Bkb3duX19vdmVybGF5IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTAwMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIG9wYWNpdHk6IC41OyB9XG4gICAgLmRyb3Bkb3duLnNob3cgLmRyb3Bkb3duX19vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAuZHJvcGRvd25fX21lbnUge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAxMS4zNzVyZW07XG4gICAgbWF4LXdpZHRoOiAxNi4yNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxNXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICBtYXJnaW46IDAuNXJlbSAwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgY29sb3I6ICMwMDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7IH1cbiAgICAuZHJvcGRvd25fX21lbnU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCAycHggMzJweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICAuZHJvcGRvd25fX21lbnUuc2hvdyB7XG4gICAgICB6LWluZGV4OiAxMDAyO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRyb3Bkb3duX19pdGVtLFxuICAuZHJvcGRvd25fX2l0ZW0gPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5kcm9wZG93bl9faXRlbTpmb2N1cywgLmRyb3Bkb3duX19pdGVtOmhvdmVyLFxuICAgIC5kcm9wZG93bl9faXRlbSA+IGE6Zm9jdXMsXG4gICAgLmRyb3Bkb3duX19pdGVtID4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLmRyb3Bkb3duX19pdGVtLmRpc2FibGVkLFxuICAgIC5kcm9wZG93bl9faXRlbSA+IGEuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgIC5kcm9wZG93bl9faXRlbS5kaXNhYmxlZDpob3ZlcixcbiAgICAgIC5kcm9wZG93bl9faXRlbSA+IGEuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5kcm9wZG93bl9faXRlbS5hY3RpdmUsXG4gICAgLmRyb3Bkb3duX19pdGVtID4gYS5hY3RpdmUge1xuICAgICAgY29sb3I6ICMyMTg1MGY7IH1cbiAgICAuZHJvcGRvd25fX2l0ZW0gbGFiZWxbZm9yXSxcbiAgICAuZHJvcGRvd25fX2l0ZW0gPiBhIGxhYmVsW2Zvcl0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmRyb3Bkb3duX19pdGVtID4gYSB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtOyB9XG4gIC5kcm9wZG93bl9fZGl2aWRlciB7XG4gICAgbWFyZ2luOiAwLjVyZW0gMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYzsgfVxuICAuZHJvcGRvd25fX2hlYWRlciB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mb3JtLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQge1xuICBib3JkZXItY29sb3I6ICNmMjU1NTU7IH1cbiAgLmZvcm0tdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZCB+IC5mb3JtLWZlZWRiYWNrLS1pbnZhbGlkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5mb3JtLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQgfiAuZm9ybS1mZWVkYmFjay0taW52YWxpZCB+IC5mb3JtLWhlbHAge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9ybS12YWxpZGF0ZWQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmludmFsaWQgfiAuZm9ybS1mZWVkYmFjay0taW52YWxpZCxcbi5mb3JtLXZhbGlkYXRlZCBpbnB1dFt0eXBlPVwicmFkaW9cIl06aW52YWxpZCB+IC5mb3JtLWZlZWRiYWNrLS1pbnZhbGlkIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZvcm0tdmFsaWRhdGVkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTppbnZhbGlkIH4gLmZvcm0tZmVlZGJhY2stLWludmFsaWQgfiAuZm9ybS1oZWxwLFxuICAuZm9ybS12YWxpZGF0ZWQgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmludmFsaWQgfiAuZm9ybS1mZWVkYmFjay0taW52YWxpZCB+IC5mb3JtLWhlbHAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvcm0tdmFsaWRhdGVkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTppbnZhbGlkICsgbGFiZWxbZm9yXTo6YmVmb3JlLFxuLmZvcm0tdmFsaWRhdGVkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTppbnZhbGlkICsgbGFiZWxbZm9yXTo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjI1NTU1OyB9XG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uaGVybyB7XG4gIHBhZGRpbmc6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDQwdmg7XG4gIG1pbi1oZWlnaHQ6IDE4Ljc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC01MHZ3O1xuICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHdpZHRoIC4wM3MgZWFzZSwgbWFyZ2luLWxlZnQgLjAzcyBlYXNlLCBoZWlnaHQgLjAzcyBlYXNlOyB9XG4gIC5oZXJvOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDAuMSksIHJnYmEoMCwgMCwgMCwgMC40NSksIHJnYmEoMCwgMCwgMCwgMC41KSk7IH1cbiAgLmhlcm9fX2FydCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuICAuaGVyb19fY29udGVudCB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyLjI4MXJlbSAtIDEuNXJlbSk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5oZXJvX19jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmhlcm9fX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKDIuODg3cmVtIC0gMS41cmVtKTsgfSB9XG4gIC5oZXJvX19hbmNob3Ige1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmhlcm9fX2FuY2hvciBhLmxpbmsge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmY7IH1cbiAgLmhlcm9fX2FjdGlvbnMgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07IH1cbiAgLmhlcm8tLXNsaW0ge1xuICAgIGhlaWdodDogMzB2aDtcbiAgICBtaW4taGVpZ2h0OiAxNS42MjVyZW07IH1cbiAgLmhlcm8tLXRvcCAuaGVyb19fYXJ0IHtcbiAgICBvYmplY3QtcG9zaXRpb246IHRvcDsgfVxuICAuaGVyby0tYm90dG9tIC5oZXJvX19hcnQge1xuICAgIG9iamVjdC1wb3NpdGlvbjogYm90dG9tOyB9XG5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDUwO1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG91dGxpbmU6IDA7IH1cbiAgLm1vZGFsLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1vZGFsLWJhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwNDA7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgLm1vZGFsLWJhY2tkcm9wLmZhZGUge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5tb2RhbC1iYWNrZHJvcC5zaG93IHtcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAubW9kYWxfX2RpYWxvZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgb3V0bGluZTogMDsgfVxuICAgIC5mYWRlIC5tb2RhbF9fZGlhbG9nIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwcHgpOyB9XG4gICAgLnNob3cgLm1vZGFsX19kaWFsb2cge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAubW9kYWxfX2RpYWxvZyB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIHdpZHRoOiAzNnJlbTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDguNzVyZW0gYXV0byAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9IH1cbiAgICAubW9kYWxfX2RpYWxvZyAuY2xvc2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxcmVtO1xuICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICB6LWluZGV4OiAxMDUwO1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLm1vZGFsX19oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDJyZW0gMS41cmVtIDFyZW07XG4gICAgY29sb3I6ICMzYTNhM2E7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tb2RhbF9faGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07IH0gfVxuICAubW9kYWxfX3RpdGxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG8gMCAwO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5tb2RhbF9fc3ViLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5tb2RhbF9fc2hhcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMS41cmVtO1xuICAgIGJvdHRvbTogMXJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAgIC5tb2RhbF9fc2hhcmUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgICAgLm1vZGFsX19zaGFyZTo6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfSB9XG4gIC5tb2RhbF9fYm9keSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLm1vZGFsX19hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAubW9kYWxfX2FjdGlvbnMge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIC5tb2RhbF9fZm9vdGVyIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBjb2xvcjogIzc1NzU3NTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYzsgfVxuICAubW9kYWwtLW1lZGlhIC5tb2RhbF9fZGlhbG9nIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGJvcmRlcjogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAgICAgLm1vZGFsLS1tZWRpYSAubW9kYWxfX2RpYWxvZyB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGg6IDk2OXB4KSB7XG4gICAgICAubW9kYWwtLW1lZGlhIC5tb2RhbF9fZGlhbG9nIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk3MHB4KSB7XG4gICAgICAubW9kYWwtLW1lZGlhIC5tb2RhbF9fZGlhbG9nIHtcbiAgICAgICAgd2lkdGg6IDgzJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDQycHg7IH0gfVxuICAubW9kYWwtLW1lZGlhIC5tb2RhbF9faGVhZGVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIEBtZWRpYSAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGg6IDk2OXB4KSB7XG4gICAgICAubW9kYWwtLW1lZGlhIC5tb2RhbF9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5tb2RhbC0tbWVkaWEgLm1vZGFsX19zdWItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLm1vZGFsLS1tZWRpYSAubW9kYWxfX2JvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAgICAgLm1vZGFsLS1tZWRpYSAubW9kYWxfX2JvZHkge1xuICAgICAgICBmbGV4OiB1bnNldDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIGFuZCAobWF4LXdpZHRoOiA5NjlweCkge1xuICAgICAgLm1vZGFsLS1tZWRpYSAubW9kYWxfX2JvZHkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NzBweCksIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKG1heC13aWR0aDogOTY5cHgpIHtcbiAgICAgIC5tb2RhbC0tbWVkaWEgLm1vZGFsX19ib2R5IHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAubW9kYWwtLW1lZGlhIC5tb2RhbF9fbWVkaWEge1xuICAgIGZsZXg6IDE7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAgIC5tb2RhbC0tbWVkaWEgLm1vZGFsX19tZWRpYSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NzBweCksIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKG1heC13aWR0aDogOTY5cHgpIHtcbiAgICAgIC5tb2RhbC0tbWVkaWEgLm1vZGFsX19tZWRpYSB7XG4gICAgICAgIGZsZXg6IDAgMCA3MCU7XG4gICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAubW9kYWwtLW1lZGlhIC5tb2RhbF9fbWVkaWEtaW5mbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAycmVtIDAgMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzNhM2EzYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAubW9kYWwtLW1lZGlhIC5tb2RhbF9fbWVkaWEtaW5mbyB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlOyB9IH1cbiAgICBAbWVkaWEgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIGFuZCAobWF4LXdpZHRoOiA5NjlweCkge1xuICAgICAgLm1vZGFsLS1tZWRpYSAubW9kYWxfX21lZGlhLWluZm8ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpLCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGg6IDk2OXB4KSB7XG4gICAgICAubW9kYWwtLW1lZGlhIC5tb2RhbF9fbWVkaWEtaW5mbyB7XG4gICAgICAgIGZsZXg6IDAgMCAzMCU7IH0gfVxuICAgIC5tb2RhbC0tbWVkaWEgLm1vZGFsX19tZWRpYS1pbmZvLnNjcm9sbC1ib3ggLm1vZGFsX19tZWRpYS1pbmZvLXRleHQge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICAgLm1vZGFsLS1tZWRpYSAubW9kYWxfX21lZGlhLWluZm8uc2Nyb2xsLWJveCAubW9kYWxfX21lZGlhLWluZm8tYWN0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjOyB9XG4gICAgICAubW9kYWwtLW1lZGlhIC5tb2RhbF9fbWVkaWEtaW5mby5zY3JvbGwtYm94IC5tb2RhbF9fbWVkaWEtaW5mby1hY3Rpb246OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMjVweDtcbiAgICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgbGVmdDogMS41cmVtO1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSwgI2ZmZik7IH1cbiAgLm1vZGFsLS1tZWRpYSAubW9kYWxfX21lZGlhLWluZm8tdGV4dCB7XG4gICAgcGFkZGluZzogMCAxLjVyZW0gMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgLm1vZGFsLS1tZWRpYSAubW9kYWxfX21lZGlhLWluZm8tYWN0aW9uIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm1vZGFsLS1tZWRpYSAubW9kYWxfX21lZGlhLWluZm8tYWN0aW9uID4gLmJ0biB7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpIHtcbiAgICAgIC5tb2RhbC0tbWVkaWEgLm1vZGFsX19tZWRpYS1pbmZvLWFjdGlvbiA+IC5idG4ge1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0OyB9IH1cbiAgLm1vZGFsLS1kYXJrIC5tb2RhbF9faGVhZGVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2EzYTNhOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tb2RhbC0tZnVsbCAubW9kYWxfX2RpYWxvZyB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1vZGFsLS1mdWxsIC5tb2RhbF9faGVhZGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuXG4ubm90aWZpY2F0aW9uIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cbiAgLm5vdGlmaWNhdGlvbiB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7IH1cbiAgICAubm90aWZpY2F0aW9uLmZhZGUge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAubm90aWZpY2F0aW9uOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBjcy1nbG9iYWwtaWNvbnMsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5ub3RpZmljYXRpb24gLmxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjEyNXJlbTsgfVxuICAubm90aWZpY2F0aW9uX19jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5ub3RpZmljYXRpb24tLXN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAjMDA1NzAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGZmZjA7XG4gICAgYm9yZGVyLWNvbG9yOiAjNWFiNjQzOyB9XG4gICAgLm5vdGlmaWNhdGlvbi0tc3VjY2Vzczo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMTIzXCI7IH1cbiAgLm5vdGlmaWNhdGlvbi0tZXJyb3Ige1xuICAgIGNvbG9yOiAjOGMwYjBiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWY1ZjE7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjI1NTU1OyB9XG4gICAgLm5vdGlmaWNhdGlvbi0tZXJyb3I6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjEyMVwiOyB9XG4gIC5ub3RpZmljYXRpb24tLWFsZXJ0IHtcbiAgICBjb2xvcjogIzYzM2UwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZGU2O1xuICAgIGJvcmRlci1jb2xvcjogI2Y1YWIyMzsgfVxuICAgIC5ub3RpZmljYXRpb24tLWFsZXJ0OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYxMDNcIjsgfVxuICAubm90aWZpY2F0aW9uLS1pbmZvIHtcbiAgICBjb2xvcjogIzNhM2EzYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgIGJvcmRlci1jb2xvcjogIzk5OTsgfVxuICAgIC5ub3RpZmljYXRpb24tLWluZm86OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjEzMlwiOyB9XG4gIC5ub3RpZmljYXRpb24tLW5vLWljb246OmJlZm9yZSB7XG4gICAgY29udGVudDogdW5zZXQ7IH1cblxuLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnBhZ2luYXRpb24tLWNlbnRlcmVkIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAucGFnaW5hdGlvbl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLnBhZ2luYXRpb25fX2l0ZW0uc21hbGwtaGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbl9faXRlbSA+IFtjbGFzc149XCJwYWdpbmF0aW9uX19cIl0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5wYWdpbmF0aW9uX19pdGVtLnNtYWxsLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5wYWdpbmF0aW9uX19pdGVtLmxhcmdlLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFnaW5hdGlvbl9fbGluayB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAgIC5wYWdpbmF0aW9uX19saW5rLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cbiAgICAgIC5wYWdpbmF0aW9uX19saW5rOm5vdCguYWN0aXZlKTpmb2N1cywgLnBhZ2luYXRpb25fX2xpbms6bm90KC5hY3RpdmUpOmFjdGl2ZSwgLnBhZ2luYXRpb25fX2xpbms6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTg1MGY7IH0gfVxuICAucGFnaW5hdGlvbl9fcHJldmlvdXM6Zm9jdXMsIC5wYWdpbmF0aW9uX19wcmV2aW91czphY3RpdmUsIC5wYWdpbmF0aW9uX19wcmV2aW91czpob3ZlciB7XG4gICAgY29sb3I6ICMyMTg1MGY7IH1cbiAgLnBhZ2luYXRpb25fX3ByZXZpb3VzOjphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiY3MtZ2xvYmFsLWljb25zXCI7XG4gICAgY29udGVudDogXCJcXGYxMDdcIjsgfVxuICAucGFnaW5hdGlvbl9fbmV4dDpmb2N1cywgLnBhZ2luYXRpb25fX25leHQ6YWN0aXZlLCAucGFnaW5hdGlvbl9fbmV4dDpob3ZlciB7XG4gICAgY29sb3I6ICMyMTg1MGY7IH1cbiAgLnBhZ2luYXRpb25fX25leHQ6OmFmdGVyIHtcbiAgICBmb250LWZhbWlseTogXCJjcy1nbG9iYWwtaWNvbnNcIjtcbiAgICBjb250ZW50OiBcIlxcZjEwOVwiOyB9XG4gIC5wYWdpbmF0aW9uX19lbGxpcHNpczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwib2ZcIjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFnaW5hdGlvbl9fZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiLi4uXCI7IH0gfVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAuc2xpZGVyICoge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cbiAgLnNsaWRlcl9fdHJhY2sge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnNsaWRlcl9fc2xpZGVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi1ZO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgfVxuICAgIC5zbGlkZXJfX3NsaWRlcy0tZHJhZ2dpbmcge1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLnNsaWRlcl9fc2xpZGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNsaWRlcl9fc2xpZGUgYSB7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xuICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuc2xpZGVyX19hcnJvd3Mge1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuc2xpZGVyX19idWxsZXRzIHtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLnNsaWRlci0tcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDsgfVxuXG4uc2xpZGVyLS1wZWVraW5nIHtcbiAgd2lkdGg6IDkwJTsgfVxuICAuc2xpZGVyLS1wZWVraW5nIC5zbGlkZXJfX3RyYWNrLCAuc2xpZGVyLS1wZWVraW5nIC5zbGlkZXJfX2Fycm93cywgLnNsaWRlci0tcGVla2luZyAuc2xpZGVyX19idWxsZXRzIHtcbiAgICB3aWR0aDogMTExJTsgfVxuICAuc2xpZGVyLS1wZWVraW5nIC5zbGlkZXJfX3RyYWNrOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEuNXJlbTtcbiAgICByaWdodDogLTExJTtcbiAgICBib3R0b206IC0xLjVyZW07XG4gICAgd2lkdGg6IDVweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChhdCAxMDAlIDUwJSwgcmdiYSgwLCAwLCAwLCAwLjUpIDAlLCB0cmFuc3BhcmVudCA3NSUpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuXG4uc2xpZGVyLS1sYXp5Om5vdCguZ2xpZGUtLWNhcm91c2VsKTpub3QoLmdsaWRlLS1zbGlkZXIpIC5zbGlkZXJfX3RyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zbGlkZXItLWxhenk6bm90KC5nbGlkZS0tY2Fyb3VzZWwpOm5vdCguZ2xpZGUtLXNsaWRlcikgLnNsaWRlcl9fc2xpZGVzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2xpZGVyX19zbGlkZXMge1xuICBtYXJnaW46IDA7IH1cblxuLnNsaWRlcl9fYXJyb3dzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IC0xMnB4OyB9XG5cbi5zbGlkZXJfX2Fycm93IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwOyB9XG4gIC5zbGlkZXJfX2Fycm93LS1sZWZ0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTI4cHg7IH1cbiAgLnNsaWRlcl9fYXJyb3ctLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0yOHB4OyB9XG5cbi5zbGlkZXJfX2J1bGxldHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnNsaWRlcl9fYnVsbGV0IHtcbiAgd2lkdGg6IDExcHg7XG4gIGhlaWdodDogMTFweDtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAuc2xpZGVyX19idWxsZXQ6aG92ZXIsIC5zbGlkZXJfX2J1bGxldC0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2EzYTNhOyB9XG4gIC5zbGlkZXJfX2J1bGxldCArIC5zbGlkZXJfX2J1bGxldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLnNvY2lhbC1zaGFyZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMXJlbTsgfVxuICAuc29jaWFsLXNoYXJlX19sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5zb2NpYWwtc2hhcmVfX2ljb24tbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnNvY2lhbC1zaGFyZV9faWNvbi1saW5rLmljb24tZmFjZWJvb2sge1xuICAgICAgY29sb3I6ICM0MzVkYWE7IH1cbiAgICAuc29jaWFsLXNoYXJlX19pY29uLWxpbmsuaWNvbi10d2l0dGVyIHtcbiAgICAgIGNvbG9yOiAjMWRhMWYyOyB9XG4gICAgLnNvY2lhbC1zaGFyZV9faWNvbi1saW5rLmljb24tcGludGVyZXN0IHtcbiAgICAgIGNvbG9yOiAjYmQwODFjOyB9XG4gICAgLnNvY2lhbC1zaGFyZV9faWNvbi1saW5rLmljb24tZW1haWwge1xuICAgICAgY29sb3I6ICM1MmMwYzQ7IH1cbiAgICAuc29jaWFsLXNoYXJlX19pY29uLWxpbmsuaWNvbi1wcmludGVyLXNvbGlkIHtcbiAgICAgIGNvbG9yOiAjNzU3NTc1OyB9XG4gICAgLnNvY2lhbC1zaGFyZV9faWNvbi1saW5rLmljb24tbW9yZS1vdXRsaW5lIHtcbiAgICAgIGNvbG9yOiAjM2EzYTNhOyB9XG4gICAgLnNvY2lhbC1zaGFyZV9faWNvbi1saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjM2EzYTNhOyB9XG4gIC5zb2NpYWwtc2hhcmVfX2JveCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5zb2NpYWwtc2hhcmVfX2JveC1kaXZpZGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsgfVxuICAgIC5zb2NpYWwtc2hhcmVfX2JveCAuc29jaWFsLXNoYXJlX19pY29uLWxpbmsge1xuICAgICAgbWFyZ2luOiAwIDFyZW0gMCAwOyB9XG5cbi5zdGlja3ktc2hhcmUge1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnM7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAuc3RpY2t5LXNoYXJlOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAuc3RpY2t5LXNoYXJlLS1sb2FkZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zdGlja3ktc2hhcmUtLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50YWIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC50YWJfX25hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsgfVxuICAudGFiX19pdGVtOm5vdCguZHJvcGRvd25fX2l0ZW0pOm5vdCguZHJvcHBlcl9faXRlbSkge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYzsgfVxuICAgIC50YWJfX2l0ZW06bm90KC5kcm9wZG93bl9faXRlbSk6bm90KC5kcm9wcGVyX19pdGVtKTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDsgfVxuICAgIC50YWJfX2l0ZW06bm90KC5kcm9wZG93bl9faXRlbSk6bm90KC5kcm9wcGVyX19pdGVtKSA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg4OXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC50YWJfX2l0ZW06bm90KC5kcm9wZG93bl9faXRlbSk6bm90KC5kcm9wcGVyX19pdGVtKSA+IGE6Zm9jdXMsIC50YWJfX2l0ZW06bm90KC5kcm9wZG93bl9faXRlbSk6bm90KC5kcm9wcGVyX19pdGVtKSA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzIxODUwZjsgfVxuICAgICAgLnRhYl9faXRlbTpub3QoLmRyb3Bkb3duX19pdGVtKTpub3QoLmRyb3BwZXJfX2l0ZW0pID4gYS5hY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLnRhYl9faXRlbTpub3QoLmRyb3Bkb3duX19pdGVtKTpub3QoLmRyb3BwZXJfX2l0ZW0pID4gYS5hY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWFiNjQzOyB9XG4gICAgICAudGFiX19pdGVtOm5vdCguZHJvcGRvd25fX2l0ZW0pOm5vdCguZHJvcHBlcl9faXRlbSkgPiBhLmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICM3NTc1NzU7IH1cbiAgLnRhYl9faXRlbS5kcm9wZG93biA+IFtkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJdOjphZnRlcixcbiAgLnRhYl9faXRlbS5kcm9wZG93biA+IGE6OmFmdGVyLCAudGFiX19pdGVtLmRyb3BwZXIgPiBbZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXTo6YWZ0ZXIsXG4gIC50YWJfX2l0ZW0uZHJvcHBlciA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiY3MtZ2xvYmFsLWljb25zXCI7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICAgIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICBjb250ZW50OiBcIlxcZjEwZVwiO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC50YWJfX2l0ZW0uZHJvcGRvd24gLmRyb3Bkb3duX19tZW51IGEsXG4gIC50YWJfX2l0ZW0uZHJvcGRvd24gLmRyb3BwZXJfX21lbnUgYSwgLnRhYl9faXRlbS5kcm9wcGVyIC5kcm9wZG93bl9fbWVudSBhLFxuICAudGFiX19pdGVtLmRyb3BwZXIgLmRyb3BwZXJfX21lbnUgYSB7XG4gICAgZm9udC1zaXplOiAwLjg4OXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRhYl9fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgcGFkZGluZzogMS41cmVtIDFyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAgIC50YWJfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMnJlbTsgfSB9XG4gIC50YWJfX3BhbmUge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyOyB9XG4gICAgLnRhYl9fcGFuZS5mYWRlIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLnRhYl9fcGFuZTpub3QoLmFjdGl2ZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnRhYl9fcGFuZSBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnRhYi0tZmxvYXRpbmcge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC50YWItLWZsb2F0aW5nLCAudGFiLS1mbG9hdGluZzpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLnRhYi0tZmxvYXRpbmcgLnRhYl9fbmF2IHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAudGFiLS1mbG9hdGluZyAudGFiX19pdGVtOm5vdCguZHJvcGRvd25fX2l0ZW0pOm5vdCguZHJvcHBlcl9faXRlbSkge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxuICAgICAgLnRhYi0tZmxvYXRpbmcgLnRhYl9faXRlbTpub3QoLmRyb3Bkb3duX19pdGVtKTpub3QoLmRyb3BwZXJfX2l0ZW0pOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAudGFiLS1mbG9hdGluZyAudGFiX19jb250ZW50OjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAudGFiLS1yYWlzZWQgLnRhYl9fY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTsgfVxuICAgIC50YWItLXJhaXNlZCAudGFiX19jb250ZW50OjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAtNi4yNXJlbTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjsgfVxuXG4udG9vbHRpcCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xuICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDcwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxOHJlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgb3BhY2l0eTogMDtcbiAgLyogVG9vbHRpcCB0ZXh0ICovXG4gIC8qIE1vZGlmaWVycyAqLyB9XG4gIC50b29sdGlwW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7IH1cbiAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0ge1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7IH1cbiAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7IH1cbiAgLnRvb2x0aXBfX2lubmVyIHtcbiAgICBmb250LXNpemU6IDAuODg5cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuICAudG9vbHRpcF9fYXJyb3cge1xuICAgIG1hcmdpbjogNnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC50b29sdGlwX19hcnJvdywgLnRvb2x0aXBfX2Fycm93OjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAudG9vbHRpcF9fYXJyb3c6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmY7IH1cbiAgICAudG9vbHRpcFt4LXBsYWNlbWVudF49XCJ0b3BcIl0gLnRvb2x0aXBfX2Fycm93IHtcbiAgICAgIGJvdHRvbTogLTZweDtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gNnB4KTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiA2cHggNnB4IDAgNnB4OyB9XG4gICAgICAudG9vbHRpcFt4LXBsYWNlbWVudF49XCJ0b3BcIl0gLnRvb2x0aXBfX2Fycm93LCAudG9vbHRpcFt4LXBsYWNlbWVudF49XCJ0b3BcIl0gLnRvb2x0aXBfX2Fycm93OjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50b29sdGlwW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAudG9vbHRpcF9fYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICBib3JkZXItd2lkdGg6IDVweCA1cHggMCA1cHg7IH1cbiAgICAudG9vbHRpcFt4LXBsYWNlbWVudF49XCJyaWdodFwiXSAudG9vbHRpcF9fYXJyb3cge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDZweCk7XG4gICAgICBsZWZ0OiAtNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDZweCA2cHggNnB4IDA7IH1cbiAgICAgIC50b29sdGlwW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC50b29sdGlwX19hcnJvdywgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLnRvb2x0aXBfX2Fycm93OjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAudG9vbHRpcFt4LXBsYWNlbWVudF49XCJyaWdodFwiXSAudG9vbHRpcF9fYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICBsZWZ0OiAxcHg7XG4gICAgICAgIGJvcmRlci13aWR0aDogNXB4IDVweCA1cHggMDsgfVxuICAgIC50b29sdGlwW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAudG9vbHRpcF9fYXJyb3cge1xuICAgICAgdG9wOiAtNnB4O1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSA2cHgpO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgNnB4IDZweCA2cHg7IH1cbiAgICAgIC50b29sdGlwW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAudG9vbHRpcF9fYXJyb3csIC50b29sdGlwW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAudG9vbHRpcF9fYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC50b29sdGlwX19hcnJvdzo6YWZ0ZXIge1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbGVmdDogLTVweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHggNXB4OyB9XG4gICAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwibGVmdFwiXSAudG9vbHRpcF9fYXJyb3cge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDZweCk7XG4gICAgICByaWdodDogLTZweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiA2cHggMCA2cHggNnB4OyB9XG4gICAgICAudG9vbHRpcFt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC50b29sdGlwX19hcnJvdywgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwibGVmdFwiXSAudG9vbHRpcF9fYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAudG9vbHRpcFt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC50b29sdGlwX19hcnJvdzo6YWZ0ZXIge1xuICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgIGxlZnQ6IC02cHg7XG4gICAgICAgIGJvcmRlci13aWR0aDogNXB4IDAgNXB4IDVweDsgfVxuICAudG9vbHRpcC0tZGFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XG4gICAgLnRvb2x0aXAtLWRhcmsgLnRvb2x0aXBfX2lubmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnRvb2x0aXAtLWRhcmsgLnRvb2x0aXBfX2Fycm93IHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwMDsgfVxuICAgICAgLnRvb2x0aXAtLWRhcmsgLnRvb2x0aXBfX2Fycm93OjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDsgfVxuXG4udXNlci1zdW1tYXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAudXNlci1zdW1tYXJ5ICsgLnVzZXItc3VtbWFyeSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAudXNlci1zdW1tYXJ5X19hdmF0YXIge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG4gIC51c2VyLXN1bW1hcnlfX2JvZHkge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1heC13aWR0aDogMTVyZW07IH1cbiAgLnVzZXItc3VtbWFyeV9fbmFtZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLnVzZXItc3VtbWFyeV9fbmFtZSBhIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjEyNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiAjM2EzYTNhO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNTM1MzUzO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC51c2VyLXN1bW1hcnlfX25hbWUgYTphY3RpdmUsIC51c2VyLXN1bW1hcnlfX25hbWUgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNDIzZmUxO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNDIzZmUxOyB9XG4gICAgICAudXNlci1zdW1tYXJ5X19uYW1lIGE6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICAgICAgICBvdXRsaW5lLWNvbG9yOiAjNDIzZmUxO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMDsgfVxuICAudXNlci1zdW1tYXJ5X190aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICM5OTk7IH1cbiAgLnVzZXItc3VtbWFyeV9faW5mbyB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGNvbG9yOiAjOTk5OyB9XG4gIC51c2VyLXN1bW1hcnktLWZ1bGwgLnVzZXItc3VtbWFyeV9fYXZhdGFyIHtcbiAgICB3aWR0aDogNHJlbTtcbiAgICBoZWlnaHQ6IDRyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG5cbi5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5yb3ctLW1hcmdpbiB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5yb3ctLW1hcmdpbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC43NXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5NzBweCkge1xuICAgIC5yb3ctLW1hcmdpbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfSB9XG5cbi5yb3ctLW5vLWd1dHRlcnMgPiAuY29sIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5yb3ctLWFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLnJvdy0tYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLnJvdy0tYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5jb2wge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG5cbi5jb2wge1xuICBmbGV4OiAxIDEgMDsgfVxuXG4uY29sLTEge1xuICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gIG1heC13aWR0aDogOC4zMzMzMyU7IH1cblxuLmNvbC0yIHtcbiAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmNvbC0zIHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7IH1cblxuLmNvbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmNvbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmNvbC02IHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLmNvbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmNvbC04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmNvbC05IHtcbiAgZmxleDogMCAwIDc1JTtcbiAgbWF4LXdpZHRoOiA3NSU7IH1cblxuLmNvbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi5jb2wtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uY29sLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY29sLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5jb2wtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5jb2wtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5jb2wtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5jb2wtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5jb2wtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5jb2wtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5jb2wtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5jb2wtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5jb2wtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uY29sLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gIC5jb2wtc20ge1xuICAgIGZsZXg6IDEgMSAwOyB9XG4gIC5jb2wtc20tMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmNvbC1zbS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5jb2wtc20tMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAuY29sLXNtLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1zbS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5jb2wtc20tNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuY29sLXNtLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1zbS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5jb2wtc20tOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAuY29sLXNtLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5jb2wtc20tMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmNvbC1zbS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5jb2wtb2Zmc2V0LXNtLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuY29sLW9mZnNldC1zbS0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5jb2wtb2Zmc2V0LXNtLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmNvbC1vZmZzZXQtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuY29sLW9mZnNldC1zbS01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5jb2wtb2Zmc2V0LXNtLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmNvbC1vZmZzZXQtc20tNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuY29sLW9mZnNldC1zbS04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5jb2wtb2Zmc2V0LXNtLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmNvbC1vZmZzZXQtc20tMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmNvbC1vZmZzZXQtc20tMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbCB7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07IH1cbiAgLmNvbC1tZCB7XG4gICAgZmxleDogMSAxIDA7IH1cbiAgLmNvbC1tZC0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAuY29sLW1kLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNvbC1tZC0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5jb2wtbWQtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuY29sLW1kLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmNvbC1tZC02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5jb2wtbWQtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuY29sLW1kLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1tZC05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5jb2wtbWQtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmNvbC1tZC0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuY29sLW1kLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmNvbC1vZmZzZXQtbWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5jb2wtb2Zmc2V0LW1kLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmNvbC1vZmZzZXQtbWQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuY29sLW9mZnNldC1tZC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtb2Zmc2V0LW1kLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmNvbC1vZmZzZXQtbWQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuY29sLW9mZnNldC1tZC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5jb2wtb2Zmc2V0LW1kLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1vZmZzZXQtbWQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuY29sLW9mZnNldC1tZC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuY29sLW9mZnNldC1tZC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5NzBweCkge1xuICAuY29sLWxnIHtcbiAgICBmbGV4OiAxIDEgMDsgfVxuICAuY29sLWxnLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5jb2wtbGctMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY29sLWxnLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmNvbC1sZy00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbGctNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuY29sLWxnLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmNvbC1sZy03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbGctOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuY29sLWxnLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmNvbC1sZy0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY29sLWxnLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5jb2wtbGctMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuY29sLW9mZnNldC1sZy0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmNvbC1vZmZzZXQtbGctMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuY29sLW9mZnNldC1sZy0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5jb2wtb2Zmc2V0LWxnLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1vZmZzZXQtbGctNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuY29sLW9mZnNldC1sZy02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5jb2wtb2Zmc2V0LWxnLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1vZmZzZXQtbGctOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuY29sLW9mZnNldC1sZy05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5jb2wtb2Zmc2V0LWxnLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5jb2wtb2Zmc2V0LWxnLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29sLXhsIHtcbiAgICBmbGV4OiAxIDEgMDsgfVxuICAuY29sLXhsLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5jb2wteGwtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY29sLXhsLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmNvbC14bC00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5jb2wteGwtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuY29sLXhsLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmNvbC14bC03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5jb2wteGwtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuY29sLXhsLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmNvbC14bC0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY29sLXhsLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5jb2wteGwtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuY29sLW9mZnNldC14bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmNvbC1vZmZzZXQteGwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuY29sLW9mZnNldC14bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5jb2wtb2Zmc2V0LXhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1vZmZzZXQteGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuY29sLW9mZnNldC14bC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5jb2wtb2Zmc2V0LXhsLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1vZmZzZXQteGwtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuY29sLW9mZnNldC14bC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5jb2wtb2Zmc2V0LXhsLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5jb2wtb2Zmc2V0LXhsLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk2OXB4KSB7XG4gIC5jcy1icmVhay0tbWQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCIgXCI7IH0gfVxuXG4ubGluay0tbm9uZSB7XG4gIGJvcmRlcjogMDsgfVxuICAubGluay0tbm9uZTpob3ZlciwgLmxpbmstLW5vbmU6YWN0aXZlLCAubGluay0tbm9uZTp2aXNpdGVkIHtcbiAgICBib3JkZXI6IDA7IH1cblxuLmNzLWRwLWhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzk3OTc5NzsgfVxuICAuY3MtZHAtaGVhZGVyIC5sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDQyMHB4O1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4uY3MtZHAtYmFubmVyIC5mbGFnIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMTc0cHg7XG4gIGhlaWdodDogMTIzcHg7IH1cblxuLmNzLWRwLWdhbWVzIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIC5jcy1kcC1nYW1lcyAuZ2FtZSB7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuY3MtZHAtZ2FtZXMgLmdhbWU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI1czsgfVxuICAuY3MtZHAtZ2FtZXMgLmNzLWRwLWN0YS1ib3R0b20tYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuI2dhbWVDb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50OyB9XG5cbi5jcy1kcC1jdGEtYm90dG9tIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiA0cmVtOyB9XG4gIC5jcy1kcC1jdGEtYm90dG9tIC5pbm5lciB7XG4gICAgd2lkdGg6IDY5OHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5jcy1kcC1jdGEtYm90dG9tIC5pbm5lciBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAuMDYyNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICAgIGJvcmRlci1yYWRpdXM6IDIuMTI1cmVtO1xuICAgIGNvbG9yOiAjM2EzYTNhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjEyNXMgZWFzZS1pbi1vdXQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIxODUwZjtcbiAgICBib3JkZXItY29sb3I6ICMyMTg1MGY7IH1cbiAgICAuY3MtZHAtY3RhLWJvdHRvbSAuY3MtZHAtY3RhLWJvdHRvbS1idG46aG92ZXIge1xuICAgICAgY29sb3I6ICMzYTNhM2E7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuOmFjdGl2ZSwgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuLmFjdGl2ZSxcbiAgICAub3BlbiA+IC5jcy1kcC1jdGEtYm90dG9tIC5jcy1kcC1jdGEtYm90dG9tLWJ0bi5kcm9wZG93bi10b2dnbGUge1xuICAgICAgY29sb3I6ICMzYTNhM2E7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuLmRpc2FibGVkLCAuY3MtZHAtY3RhLWJvdHRvbSAuY3MtZHAtY3RhLWJvdHRvbS1idG46ZGlzYWJsZWQsIC5jcy1kcC1jdGEtYm90dG9tIC5jcy1kcC1jdGEtYm90dG9tLWJ0bltkaXNhYmxlZF0ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAuNjsgfVxuICAgICAgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuLmRpc2FibGVkOmZvY3VzLCAuY3MtZHAtY3RhLWJvdHRvbSAuY3MtZHAtY3RhLWJvdHRvbS1idG4uZGlzYWJsZWQ6aG92ZXIsIC5jcy1kcC1jdGEtYm90dG9tIC5jcy1kcC1jdGEtYm90dG9tLWJ0bjpkaXNhYmxlZDpmb2N1cywgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuOmRpc2FibGVkOmhvdmVyLCAuY3MtZHAtY3RhLWJvdHRvbSAuY3MtZHAtY3RhLWJvdHRvbS1idG5bZGlzYWJsZWRdOmZvY3VzLCAuY3MtZHAtY3RhLWJvdHRvbSAuY3MtZHAtY3RhLWJvdHRvbS1idG5bZGlzYWJsZWRdOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMzYTNhM2E7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5jcy1kcC1jdGEtYm90dG9tIC5jcy1kcC1jdGEtYm90dG9tLWJ0bjpmb2N1cywgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5jcy1kcC1jdGEtYm90dG9tIC5jcy1kcC1jdGEtYm90dG9tLWJ0bjphY3RpdmUsIC5jcy1kcC1jdGEtYm90dG9tIC5jcy1kcC1jdGEtYm90dG9tLWJ0bi5hY3RpdmUge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC5jcy1kcC1jdGEtYm90dG9tIC5jcy1kcC1jdGEtYm90dG9tLWJ0bi5mb2N1cywgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNTJjMGM0LCAwIDAgMCA0cHggcmdiYSg4MiwgMTkyLCAxOTYsIDAuMyk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTJjMGM0O1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5jcy1kcC1jdGEtYm90dG9tIC5jcy1kcC1jdGEtYm90dG9tLWJ0bltjbGFzcyo9XCJpY29uLVwiXSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5jcy1kcC1jdGEtYm90dG9tIC5jcy1kcC1jdGEtYm90dG9tLWJ0bltjbGFzcyo9XCJpY29uLVwiXTo6YmVmb3JlLCAuY3MtZHAtY3RhLWJvdHRvbSAuY3MtZHAtY3RhLWJvdHRvbS1idG5bY2xhc3MqPVwiaWNvbi1cIl06OmFmdGVyLCAuY3MtZHAtY3RhLWJvdHRvbSAuY3MtZHAtY3RhLWJvdHRvbS1idG5bZGF0YS1pY29uXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTEuNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpOyB9XG4gICAgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuW2RhdGEtaWNvbl0ge1xuICAgICAgdmVydGljYWwtYWxpZ246IHN1cGVyOyB9XG4gICAgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuICsgLmNzLWRwLWN0YS1ib3R0b20tYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTcwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwNTcwMDsgfVxuICAgIC5jcy1kcC1jdGEtYm90dG9tIC5jcy1kcC1jdGEtYm90dG9tLWJ0bjphY3RpdmUsIC5jcy1kcC1jdGEtYm90dG9tIC5jcy1kcC1jdGEtYm90dG9tLWJ0bi5hY3RpdmUsXG4gICAgLm9wZW4gPiAuY3MtZHAtY3RhLWJvdHRvbSAuY3MtZHAtY3RhLWJvdHRvbS1idG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTcwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwNTcwMDsgfVxuICAgIC5jcy1kcC1jdGEtYm90dG9tIC5jcy1kcC1jdGEtYm90dG9tLWJ0bi5kaXNhYmxlZCwgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuOmRpc2FibGVkLCAuY3MtZHAtY3RhLWJvdHRvbSAuY3MtZHAtY3RhLWJvdHRvbS1idG5bZGlzYWJsZWRdIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogLjY7IH1cbiAgICAgIC5jcy1kcC1jdGEtYm90dG9tIC5jcy1kcC1jdGEtYm90dG9tLWJ0bi5kaXNhYmxlZDpmb2N1cywgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuLmRpc2FibGVkOmhvdmVyLCAuY3MtZHAtY3RhLWJvdHRvbSAuY3MtZHAtY3RhLWJvdHRvbS1idG46ZGlzYWJsZWQ6Zm9jdXMsIC5jcy1kcC1jdGEtYm90dG9tIC5jcy1kcC1jdGEtYm90dG9tLWJ0bjpkaXNhYmxlZDpob3ZlciwgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuW2Rpc2FibGVkXTpmb2N1cywgLmNzLWRwLWN0YS1ib3R0b20gLmNzLWRwLWN0YS1ib3R0b20tYnRuW2Rpc2FibGVkXTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NTBmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMyMTg1MGY7IH1cblxuLmNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogNzBweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cblxuLmNzLWRwLWZvb3RlciB7XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCAjQ0NDQ0NDOyB9XG4gIC5jcy1kcC1mb290ZXIgLm1pc3Npb24ge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9XG4gICAgLmNzLWRwLWZvb3RlciAubWlzc2lvbiAubWlzc2lvbi1pbm5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLmNzLWRwLWZvb3RlciAubWlzc2lvbiAubWlzc2lvbi1pbm5lciAuY29sIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NzBweCkge1xuICAgICAgLmNzLWRwLWZvb3RlciAubWlzc2lvbiAubG9nbyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDsgfSB9XG4gICAgLmNzLWRwLWZvb3RlciAubWlzc2lvbiAubG9nbyBpbWcge1xuICAgICAgd2lkdGg6IDEyNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5jcy1kcC1mb290ZXIgLm1pc3Npb24gLnN0YXRlbWVudCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBjb2xvcjogIzlCOUI5QjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NzBweCkge1xuICAgICAgLmNzLWRwLWZvb3RlciAubWlzc2lvbiAuc3RhdGVtZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MjJweDsgfSB9XG4gIC5jcy1kcC1mb290ZXIgLmJvdHRvbSB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgI0NDQ0NDQztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTZFN0UzOyB9XG4gICAgLmNzLWRwLWZvb3RlciAuYm90dG9tIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDsgfVxuICAgIC5jcy1kcC1mb290ZXIgLmJvdHRvbSAucmlnaHRzOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgY29udGVudDogJyAnOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpIHtcbiAgICAgICAgLmNzLWRwLWZvb3RlciAuYm90dG9tIC5yaWdodHM6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9IH1cbiAgICAuY3MtZHAtZm9vdGVyIC5ib3R0b20gLmNvcHlyaWdodCB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk3MHB4KSB7XG4gICAgICAgIC5jcy1kcC1mb290ZXIgLmJvdHRvbSAuY29weXJpZ2h0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtOyB9IH1cbiAgICAuY3MtZHAtZm9vdGVyIC5ib3R0b20gLmZvb3Rlcl9fdGVybXMtb2YtdXNlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpIHtcbiAgICAgIC5jcy1kcC1mb290ZXIgLmJvdHRvbSAuZm9vdGVyX190ZXJtcy1vZi11c2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogMS41cmVtOyB9XG4gICAgICAgIC5jcy1kcC1mb290ZXIgLmJvdHRvbSAuZm9vdGVyX190ZXJtcy1vZi11c2U6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNzLWRwLWZvb3RlciAuYm90dG9tIC5mb290ZXJfX2Nvb2tpZS1zZXR0aW5nczo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk3MHB4KSB7XG4gICAgICAuY3MtZHAtZm9vdGVyIC5ib3R0b20gLmZvb3Rlcl9fY29va2llLXNldHRpbmdzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTsgfVxuICAgICAgICAuY3MtZHAtZm9vdGVyIC5ib3R0b20gLmZvb3Rlcl9fY29va2llLXNldHRpbmdzOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uY3MtZHAtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cbiAgLmNzLWRwLWNvbnRlbnQgLmRpZ2l0YWwtcGFzc3BvcnQtdG9wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG4gICAgLmNzLWRwLWNvbnRlbnQgLmRpZ2l0YWwtcGFzc3BvcnQtdG9wIGgxIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5jcy1kcC1jb250ZW50IC5kaWdpdGFsLXBhc3Nwb3J0LXRvcCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAuY3MtZHAtY29udGVudCAuY3MtZHAtcm93LS1nYW1lLWd1dHRlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAgICAgLmNzLWRwLWNvbnRlbnQgLmNzLWRwLXJvdy0tZ2FtZS1ndXR0ZXJzIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY3MtZHAtY29udGVudCAuY3MtZHAtcm93LS1nYW1lLWd1dHRlcnMge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpIHtcbiAgICAgIC5jcy1kcC1jb250ZW50IC5jcy1kcC1yb3ctLWdhbWUtZ3V0dGVycyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5jcy1kcC1jb250ZW50IC5jcy1kcC1yb3ctLWdhbWUtZ3V0dGVycyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07IH0gfVxuICAgIC5jcy1kcC1jb250ZW50IC5jcy1kcC1yb3ctLWdhbWUtZ3V0dGVycyBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWRwLWNvbnRlbnQgLmNvbC0tZ2FtZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5jcy1kcC1jb250ZW50IC5jb2wtLWdhbWUgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4uZ2F0ZS1wYWdlIC5jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA1NTVweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiAzcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTcwcHgpIHtcbiAgICAuZ2F0ZS1wYWdlIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9IH1cbiAgLmdhdGUtcGFnZSAuY29udGVudCAucHJlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMjY2cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgLmdhdGUtcGFnZSAuY29udGVudCAubm8tbWFyZ2luLS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmdhdGUtcGFnZSAuY29udGVudCAuZGlzY2xhaW1lciBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5nYXRlLXBhZ2UgLmNvbnRlbnQgLmluZm8tbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAuZ2F0ZS1wYWdlIC5jb250ZW50IC5jaG9pY2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gICAgLmdhdGUtcGFnZSAuY29udGVudCAuY2hvaWNlcyAuZmlyc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmdhdGUtcGFnZSAuY29udGVudCAuY2hvaWNlcyAuZmlyc3Qge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5nYXRlLXBhZ2UgLmNvbnRlbnQgLmNob2ljZXMgLmNzZS1idG4ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOTk5OyB9XG4gICAgICAuZ2F0ZS1wYWdlIC5jb250ZW50IC5jaG9pY2VzIC5jc2UtYnRuLmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzVhYjY0MztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAyLjVweDsgfVxuICAgICAgICAuZ2F0ZS1wYWdlIC5jb250ZW50IC5jaG9pY2VzIC5jc2UtYnRuLmFjdGl2ZSAudGV4dCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAgIC5nYXRlLXBhZ2UgLmNvbnRlbnQgLmNob2ljZXMgLmNzZS1idG4uYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICBjb2xvcjogIzVhYjY0MzsgfVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMuY3NzLm1hcCAqLyIsIkBpZiAkY3MtZW5hYmxlLXV0aWxpdGllcy1ub3JtYWxpemUge1xuXG4vKiEgbm9ybWFsaXplLmNzcyB2NS4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG4vLyBzbWFsbCB7XG4vLyAgIGZvbnQtc2l6ZTogODAlO1xuLy8gfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IGNzLXJlbSgwIDJweCk7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3MvdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcInBhcnNlX2ludFwiO1xuXG4vLy8gRnVuY3Rpb24gdG8gY29udmVydCB1bml0c1xuLy8vIEBwYXJhbSAkdG8tdW5pdFxuLy8vIEBwYXJhbSAkdmFsdWVcbkBmdW5jdGlvbiBjcy11bml0LXRvKCR0by11bml0LCAkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSBcIm51bWJlclwiIG9yIGluZGV4KChcInB4XCIsIFwicmVtXCIpLCB1bml0KCR2YWx1ZSkpID09IG51bGwge1xuICAgIEBlcnJvciBcImAjeyR2YWx1ZX1gIG11c3QgYmUgYSBudW1iZXIgb3Igb25lIG9mIHRoZSBmb2xsb3dpbmcgdW5pdHM6IHB4LCByZW0uXCI7XG4gIH1cblxuICAkcmV0OiBudWxsO1xuICAkdW5pdDogdW5pdCgkdmFsdWUpO1xuXG4gIC8vIHJldHVybiB2YWx1ZSBpZiBubyB1bml0IGlzIHRoZSBzYW1lXG4gIEBpZiAkdG8tdW5pdCA9PSAkdW5pdCB7XG4gICAgJHJldDogJHZhbHVlO1xuICB9XG5cbiAgLy8gY29udmVydCB0byBweFxuICBAaWYgJHRvLXVuaXQgPT0gXCJweFwiIHtcbiAgICBAaWYgJHVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkcmV0OiAoY3MtcGFyc2UtaW50KCRjcy1mb250LXNpemUtcm9vdCkgKiBjcy1wYXJzZS1pbnQoJHZhbHVlKSkgKiAxcHg7IC8vICogMXB4XCIgcHJldmVudHMgY2FzdGluZyBzdHJpbmdcbiAgICB9XG4gIH1cblxuICAvLyBjb252ZXJ0IHRvIHJlbVxuICBAaWYgJHRvLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgQGlmICR1bml0ID09IFwicHhcIiB7XG4gICAgICAkcmV0OiAoY3MtcGFyc2UtaW50KCR2YWx1ZSkgLyBjcy1wYXJzZS1pbnQoJGNzLWZvbnQtc2l6ZS1yb290KSkgKiAxcmVtOyAvLyAqIDFyZW1cIiBwcmV2ZW50cyBjYXN0aW5nIHN0cmluZ1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJldDtcbn1cbiIsIkBpZiAkY3MtZW5hYmxlLXV0aWxpdGllcy1yZWJvb3Qge1xuXG4gIC8qIFJlYm9vdCAqL1xuXG4gIC8vIENyZWRpdDogQk9PVFNUUkFQIDRcbiAgLy8gQWRkcyBhZGRpdGlvbmFsIHJ1bGVzIG9uIHRvcCBvZiBOb3JtYWxpemUuY3NzLCBpbmNsdWRpbmcgc2V2ZXJhbCBvdmVycmlkZXMuXG5cblxuICAvLyBSZXNldCB0aGUgYm94LXNpemluZ1xuICAvL1xuICAvLyBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHRvIGBib3JkZXItYm94YCBzbyB0aGF0IHdoZW4geW91IGFkZFxuICAvLyBgcGFkZGluZ2Agb3IgYGJvcmRlcmBzIHRvIGFuIGVsZW1lbnQsIHRoZSBvdmVyYWxsIGRlY2xhcmVkIGB3aWR0aGAgZG9lcyBub3RcbiAgLy8gY2hhbmdlLiBGb3IgZXhhbXBsZSwgYHdpZHRoOiAxMDBweDtgIHdpbGwgYWx3YXlzIGJlIGAxMDBweGAgZGVzcGl0ZSB0aGVcbiAgLy8gYGJvcmRlcjogMTBweCBzb2xpZCByZWQ7YCBhbmQgYHBhZGRpbmc6IDIwcHg7YC5cbiAgLy9cbiAgLy8gSGVhZHMgdXAhIFRoaXMgcmVzZXQgbWF5IGNhdXNlIGNvbmZsaWN0cyB3aXRoIHNvbWUgdGhpcmQtcGFydHkgd2lkZ2V0cy4gRm9yXG4gIC8vIHJlY29tbWVuZGF0aW9ucyBvbiByZXNvbHZpbmcgc3VjaCBjb25mbGljdHMsIHNlZVxuICAvLyBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3RoaXJkLWJveC1zaXppbmcuXG4gIC8vXG4gIC8vIENyZWRpdDogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgfVxuXG5cbiAgLy8gTWFrZSB2aWV3cG9ydCByZXNwb25zaXZlXG4gIC8vXG4gIC8vIEB2aWV3cG9ydCBpcyBuZWVkZWQgYmVjYXVzZSBJRSAxMCsgZG9lc24ndCBob25vciA8bWV0YSBuYW1lPVwidmlld3BvcnRcIj4gaW5cbiAgLy8gc29tZSBjYXNlcy4gU2VlIGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduLy5cbiAgLy8gRXZlbnR1YWxseSBAdmlld3BvcnQgd2lsbCByZXBsYWNlIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiPi4gSXQncyBiZWVuIG1hbnVhbGx5XG4gIC8vIHByZWZpeGVkIGZvciBmb3J3YXJkLWNvbXBhdGliaWxpdHkuXG4gIC8vXG4gIC8vIEhvd2V2ZXIsIGBkZXZpY2Utd2lkdGhgIGlzIGJyb2tlbiBvbiBJRSAxMCBvbiBXaW5kb3dzIChQaG9uZSkgOCxcbiAgLy8gKHNlZSBodHRwOi8vdGlta2FkbGVjLmNvbS8yMDEzLzAxL3dpbmRvd3MtcGhvbmUtOC1hbmQtZGV2aWNlLXdpZHRoLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5NylcbiAgLy8gYW5kIHRoZSBmaXggZm9yIHRoYXQgaW52b2x2ZXMgYSBzbmlwcGV0IG9mIEphdmFTY3JpcHQgdG8gc25pZmYgdGhlIHVzZXIgYWdlbnRcbiAgLy8gYW5kIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTLlxuICAvL1xuICAvLyBTZWUgaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyNzdXBwb3J0LWllMTAtd2lkdGggZm9yIHRoZSByZWxldmFudCBoYWNrLlxuICAvL1xuICAvLyBXcmFwIGBAdmlld3BvcnRgIHdpdGggYEBhdC1yb290YCBmb3Igd2hlbiBmb2xrcyBkbyBhIG5lc3RlZCBpbXBvcnQgKGUuZy4sXG4gIC8vIGAuY2xhc3MtbmFtZSB7IEBpbXBvcnQgXCJib290c3RyYXBcIjsgfWApLlxuICAvL1xuICAvLyBJbmNsdWRlcyBmdXR1cmUtcHJvb2ZlZCB2ZW5kb3IgcHJlZml4ZXMgYXMgd2VsbC5cbiAgQGF0LXJvb3Qge1xuICAgIEAtbW96LXZpZXdwb3J0ICAgICAgeyB3aWR0aDogZGV2aWNlLXdpZHRoOyB9XG4gICAgQC1tcy12aWV3cG9ydCAgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgICBALW8tdmlld3BvcnQgICAgICAgIHsgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuICAgIEAtd2Via2l0LXZpZXdwb3J0ICAgeyB3aWR0aDogZGV2aWNlLXdpZHRoOyB9XG4gICAgQHZpZXdwb3J0ICAgICAgICAgICB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbiAgfVxuXG5cbiAgLy9cbiAgLy8gUmVzZXQgSFRNTCwgYm9keSwgYW5kIG1vcmVcbiAgLy9cblxuICBodG1sIHtcbiAgICAvLyBDaGFuZ2VzIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXG4gICAgLy8gU2V0IHRoZSBiYXNlIGZvbnQtc2l6ZSBmb3IgZWFjaCBicmVha3BvaW50XG4gICAgLy8gU2V0cyBhIHNwZWNpZmljIGRlZmF1bHQgYGZvbnQtc2l6ZWAgZm9yIHVzZSB3aXRoIGByZW1gIHR5cGUgc2NhbGVzLlxuICAgIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRjcy1mb250LXNpemUtcm9vdHMpIHtcbiAgICAgICRjcy1mb250LXNpemU6IG1hcC1nZXQoJGNzLWZvbnQtc2l6ZS1yb290cywgJGJyZWFrcG9pbnQpO1xuXG4gICAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGNzLWZvbnQtc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBib2R5IHtcbiAgICAvLyBNYWtlIHRoZSBgYm9keWAgdXNlIHRoZSBgZm9udC1zaXplLWJhc2VgXG4gICAgZm9udC1mYW1pbHk6ICRjcy1mb250LWZhbWlseS1iYXNlO1xuICAgIGZvbnQtc2l6ZTogJGNzLWZvbnQtc2l6ZS1iYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAkY3MtbGluZS1oZWlnaHQ7XG4gICAgLy8gR28gZWFzeSBvbiB0aGUgZXllcyBhbmQgdXNlIHNvbWV0aGluZyBvdGhlciB0aGFuIGAjMDAwYCBmb3IgdGV4dFxuICAgIGNvbG9yOiAkY3MtYm9keS1jb2xvcjtcbiAgICAvLyBCeSBkZWZhdWx0LCBgPGJvZHk+YCBoYXMgbm8gYGJhY2tncm91bmQtY29sb3JgIHNvIHdlIHNldCBvbmUgYXMgYSBiZXN0IHByYWN0aWNlLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1ib2R5LWJnO1xuXG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgfVxuXG4gIC8vIFN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lIG9uIGVsZW1lbnRzIHRoYXQgY2Fubm90IGJlIGFjY2Vzc2VkIHZpYSBrZXlib2FyZC5cbiAgLy8gVGhpcyBwcmV2ZW50cyBhbiB1bndhbnRlZCBmb2N1cyBvdXRsaW5lIGZyb20gYXBwZWFyaW5nIGFyb3VuZCBlbGVtZW50cyB0aGF0XG4gIC8vIG1pZ2h0IHN0aWxsIHJlc3BvbmQgdG8gcG9pbnRlciBldmVudHMuXG4gIC8vXG4gIC8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxuICBbdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cblxuICAvL1xuICAvLyBUeXBvZ3JhcGh5XG4gIC8vXG5cbiAgLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3NcbiAgLy9cbiAgLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3BcbiAgLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBoNywgaDgge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIH1cblxuICAvLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbiAgLy9cbiAgLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuICAvLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG4gIC8vIHAge1xuICAvLyAgIG1hcmdpbi10b3A6IDA7XG4gIC8vICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLy8gfVxuXG4gIC8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXG4gIGFiYnJbdGl0bGVdLFxuICAvLyBBZGQgZGF0YS0qIGF0dHJpYnV0ZSB0byBoZWxwIG91dCBvdXIgdG9vbHRpcCBwbHVnaW4sIHBlciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzUyNTdcbiAgYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGNzLWFiYnItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgYWRkcmVzcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICBvbCxcbiAgdWwsXG4gIGRsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICBvbCBvbCxcbiAgdWwgdWwsXG4gIG9sIHVsLFxuICB1bCBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGR0IHtcbiAgICBmb250LXdlaWdodDogJGNzLWR0LWZvbnQtd2VpZ2h0O1xuICB9XG5cbiAgZGQge1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxuICB9XG5cbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgfVxuXG5cbiAgLy9cbiAgLy8gTGlua3NcbiAgLy9cblxuICBhIHtcbiAgICBjb2xvcjogJGNzLWxpbmstY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkY3MtbGluay1kZWNvcmF0aW9uO1xuXG4gICAgQGluY2x1ZGUgY3MtaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRjcy1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkY3MtbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIH1cbiAgfVxuXG5cbiAgLy9cbiAgLy8gQ29kZVxuICAvL1xuXG4gIHByZSB7XG4gICAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuXG4gIC8vXG4gIC8vIEZpZ3VyZXNcbiAgLy9cblxuICBmaWd1cmUge1xuICAgIC8vIE5vcm1hbGl6ZSBhZGRzIGBtYXJnaW5gIHRvIGBmaWd1cmVgcyBhcyBicm93c2VycyBhcHBseSBpdCBpbmNvbnNpc3RlbnRseS5cbiAgICAvLyBXZSByZXNldCB0aGF0IHRvIGNyZWF0ZSBhIGJldHRlciBmbG93IGluLXBhZ2UuXG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgfVxuXG5cbiAgLy9cbiAgLy8gSW1hZ2VzXG4gIC8vXG5cbiAgaW1nIHtcbiAgICAvLyBCeSBkZWZhdWx0LCBgPGltZz5gcyBhcmUgYGlubGluZS1ibG9ja2AuIFRoaXMgYXNzdW1lcyB0aGF0LCBhbmQgdmVydGljYWxseVxuICAgIC8vIGNlbnRlcnMgdGhlbS4gVGhpcyB3b24ndCBhcHBseSBzaG91bGQgeW91IHJlc2V0IHRoZW0gdG8gYGJsb2NrYCBsZXZlbC5cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8vIE5vdGU6IGA8aW1nPmBzIGFyZSBkZWxpYmVyYXRlbHkgbm90IG1hZGUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0LlxuICAgIC8vIEZvciB0aGUgcmF0aW9uYWxlIGJlaGluZCB0aGlzLCBzZWUgdGhlIGNvbW1lbnRzIG9uIHRoZSBgLmltZy1mbHVpZGAgY2xhc3MuXG4gIH1cblxuXG4gIC8vIGlPUyBcImNsaWNrYWJsZSBlbGVtZW50c1wiIGZpeCBmb3Igcm9sZT1cImJ1dHRvblwiXG4gIC8vXG4gIC8vIEZpeGVzIFwiY2xpY2thYmlsaXR5XCIgaXNzdWUgKGFuZCBtb3JlIGdlbmVyYWxseSwgdGhlIGZpcmluZyBvZiBldmVudHMgc3VjaCBhcyBmb2N1cyBhcyB3ZWxsKVxuICAvLyBmb3IgdHJhZGl0aW9uYWxseSBub24tZm9jdXNhYmxlIGVsZW1lbnRzIHdpdGggcm9sZT1cImJ1dHRvblwiXG4gIC8vIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG4gIFtyb2xlPVwiYnV0dG9uXCJdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuXG4gIC8vIEF2b2lkIDMwMG1zIGNsaWNrIGRlbGF5IG9uIHRvdWNoIGRldmljZXMgdGhhdCBzdXBwb3J0IHRoZSBgdG91Y2gtYWN0aW9uYCBDU1MgcHJvcGVydHkuXG4gIC8vXG4gIC8vIEluIHBhcnRpY3VsYXIsIHVubGlrZSBtb3N0IG90aGVyIGJyb3dzZXJzLCBJRTExK0VkZ2Ugb24gV2luZG93cyAxMCBvbiB0b3VjaCBkZXZpY2VzIGFuZCBJRSBNb2JpbGUgMTAtMTFcbiAgLy8gRE9OJ1QgcmVtb3ZlIHRoZSBjbGljayBkZWxheSB3aGVuIGA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoXCI+YCBpcyBwcmVzZW50LlxuICAvLyBIb3dldmVyLCB0aGV5IERPIHN1cHBvcnQgcmVtb3ZpbmcgdGhlIGNsaWNrIGRlbGF5IHZpYSBgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb25gLlxuICAvLyBTZWU6XG4gIC8vICogaHR0cDovL3Y0LWFscGhhLmdldGJvb3RzdHJhcC5jb20vY29udGVudC9yZWJvb3QvI2NsaWNrLWRlbGF5LW9wdGltaXphdGlvbi1mb3ItdG91Y2hcbiAgLy8gKiBodHRwOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLXRvdWNoLWFjdGlvblxuICAvLyAqIGh0dHA6Ly9wYXRyaWNraGxhdWtlLmdpdGh1Yi5pby90b3VjaC90ZXN0cy9yZXN1bHRzLyNzdXBwcmVzc2luZy0zMDBtcy1kZWxheVxuXG4gIGEsXG4gIGFyZWEsXG4gIGJ1dHRvbixcbiAgW3JvbGU9XCJidXR0b25cIl0sXG4gIGlucHV0LFxuICBsYWJlbCxcbiAgc2VsZWN0LFxuICBzdW1tYXJ5LFxuICB0ZXh0YXJlYSB7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cblxuXG4gIC8vXG4gIC8vIFRhYmxlc1xuICAvL1xuXG4gIHRhYmxlIHtcbiAgICAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIGNhcHRpb24ge1xuICAvLyAgIHBhZGRpbmctdG9wOiBjcy1yZW0oJGNzLXRhYmxlLWNlbGwtcGFkZGluZyk7XG4gIC8vICAgcGFkZGluZy1ib3R0b206IGNzLXJlbSgkY3MtdGFibGUtY2VsbC1wYWRkaW5nKTtcbiAgLy8gICBjb2xvcjogJGNzLXRleHQtbXV0ZWQ7XG4gIC8vICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgLy8gICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgLy8gfVxuXG4gIHRoIHtcbiAgICAvLyBDZW50ZXJlZCBieSBkZWZhdWx0LCBidXQgbGVmdC1hbGlnbi1lZCB0byBtYXRjaCB0aGUgYHRkYHMgYmVsb3cuXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG5cbiAgLy9cbiAgLy8gRm9ybXNcbiAgLy9cblxuICBsYWJlbCB7XG4gICAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIH1cblxuICAvLyBXb3JrIGFyb3VuZCBhIEZpcmVmb3gvSUUgYnVnIHdoZXJlIHRoZSB0cmFuc3BhcmVudCBgYnV0dG9uYCBiYWNrZ3JvdW5kXG4gIC8vIHJlc3VsdHMgaW4gYSBsb3NzIG9mIHRoZSBkZWZhdWx0IGBidXR0b25gIGZvY3VzIHN0eWxlcy5cbiAgLy9cbiAgLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlL1xuICBidXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICB9XG5cbiAgaW5wdXQsXG4gIGJ1dHRvbixcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6ICRjcy1mb250LWZhbWlseS1iYXNlO1xuICAgIC8vIFJlbW92ZSBhbGwgYG1hcmdpbmBzIHNvIG91ciBjbGFzc2VzIGRvbid0IGhhdmUgdG8gZG8gaXQgdGhlbXNlbHZlcy5cbiAgICBtYXJnaW46IDA7XG4gICAgLy8gTm9ybWFsaXplIGluY2x1ZGVzIGBmb250OiBpbmhlcml0O2AsIHNvIGBmb250LWZhbWlseWAuIGBmb250LXNpemVgLCBldGMgYXJlXG4gICAgLy8gcHJvcGVybHkgaW5oZXJpdGVkLiBIb3dldmVyLCBgbGluZS1oZWlnaHRgIGlzbid0IGFkZHJlc3NlZCB0aGVyZS4gVXNpbmcgdGhpc1xuICAgIC8vIGVuc3VyZXMgd2UgZG9uJ3QgbmVlZCB0byB1bm5lY2Vzc2FyaWx5IHJlZGVjbGFyZSB0aGUgZ2xvYmFsIGZvbnQgc3RhY2suXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgLy8gaU9TIGFkZHMgcm91bmRlZCBib3JkZXJzIGJ5IGRlZmF1bHRcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgdGV4dGFyZWEge1xuICAgIC8vIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICB9XG5cbiAgZmllbGRzZXQge1xuICAgIC8vIENocm9tZSBhbmQgRmlyZWZveCBzZXQgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgICAvLyBzbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBpdCBiZWhhdmVzIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTkuXG4gICAgbWluLXdpZHRoOiAwO1xuICAgIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgLy8gUmVzZXQgdGhlIGVudGlyZSBsZWdlbmQgZWxlbWVudCB0byBtYXRjaCB0aGUgYGZpZWxkc2V0YFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgQGluY2x1ZGUgY3MtZm9udC1zaXplKDEuNXJlbSk7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIC8vICBib3JkZXI6IDA7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAvLyBVbmRvIE5vcm1hbGl6ZSdzIGRlZmF1bHQgaGVyZSB0byBtYXRjaCBvdXIgZ2xvYmFsIG92ZXJyaWRlcy5cbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgICAvLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyB0b2RvOiBuZWVkZWQ/XG4gIG91dHB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvLyAgZm9udC1zaXplOiAkY3MtZm9udC1zaXplLWJhc2U7XG4gIC8vICBsaW5lLWhlaWdodDogJGNzLWxpbmUtaGVpZ2h0O1xuICAvLyAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgfVxuXG4gIC8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4vZ2xvYmFsc1wiO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG4kY3MtbW9kdWxhcnNjYWxlOiAoXG4gIGJhc2U6IDFyZW0sXG4gIHJhdGlvOiAxLjEyNVxuKSAhZGVmYXVsdDtcblxuJGNzLWZvbnQtcGF0aDogXCIvL3MzLmFtYXpvbmF3cy5jb20vY3NtX2ZvbnRzL1wiICFkZWZhdWx0O1xuJGNzLWZvbnQtZmFtaWx5LWxhdG86IFwiTGF0b1wiICFkZWZhdWx0O1xuJGNzLWZvbnQtZmFtaWx5LWhlbHZldGljYTogaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRjcy1mb250LWZhbWlseS1jb3VyaWVyOiBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRjcy1mb250LWZhbWlseS10aW1lczogXCJUaW1lcyBOZXcgUm9tYW5cIiwgdGltZXMsIGdlb3JnaWEsIHNlcmlmICFkZWZhdWx0O1xuJGNzLWZvbnQtZmFtaWx5LWxhdG86IFwiTGF0b1wiLCAkY3MtZm9udC1mYW1pbHktaGVsdmV0aWNhICFkZWZhdWx0O1xuJGNzLWZvbnQtZmFtaWx5LW9zd2FsZDogXCJPc3dhbGRcIiwgJGNzLWZvbnQtZmFtaWx5LWhlbHZldGljYSAhZGVmYXVsdDtcblxuJGNzLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICRjcy1mb250LWZhbWlseS1sYXRvLCAkY3MtZm9udC1mYW1pbHktaGVsdmV0aWNhICFkZWZhdWx0O1xuJGNzLWZvbnQtZmFtaWx5LXNlcmlmOiAkY3MtZm9udC1mYW1pbHktdGltZXMgIWRlZmF1bHQ7XG4kY3MtZm9udC1mYW1pbHktbW9ub3NwYWNlOiAkY3MtZm9udC1mYW1pbHktY291cmllciAhZGVmYXVsdDtcbiRjcy1mb250LWZhbWlseS1iYXNlOiAkY3MtZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGNzLWZvbnQtc2l6ZS1yb290OiAxNnB4ICFkZWZhdWx0O1xuJGNzLWZvbnQtc2l6ZS1yb290czogKFxuICB4czogJGNzLWZvbnQtc2l6ZS1yb290LFxuICBzbTogJGNzLWZvbnQtc2l6ZS1yb290LFxuICBtZDogJGNzLWZvbnQtc2l6ZS1yb290LFxuICBsZzogJGNzLWZvbnQtc2l6ZS1yb290LFxuICB4bDogJGNzLWZvbnQtc2l6ZS1yb290XG4pICFkZWZhdWx0O1xuXG4kY3MtZm9udC1zaXplLWJhc2U6IDFyZW0gIWRlZmF1bHQ7XG4kY3MtZm9udC1zaXplLXhsOiAxLjA2OXJlbSAhZGVmYXVsdDtcbiRjcy1mb250LXNpemUtbGc6IDEuMXJlbSAhZGVmYXVsdDtcbiRjcy1mb250LXNpemUtc206IC44NzVyZW0gIWRlZmF1bHQ7XG4kY3MtZm9udC1zaXplLXhzOiAuODEyNXJlbSAhZGVmYXVsdDtcblxuJGNzLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbiRjcy1oZWFkaW5nLTEtc2l6ZTogKHhzOiA1LCBtZDogNikgIWRlZmF1bHQ7XG4kY3MtaGVhZGluZy0yLXNpemU6ICh4czogMywgbWQ6IDQpICFkZWZhdWx0O1xuJGNzLWhlYWRpbmctMy1zaXplOiAyICFkZWZhdWx0O1xuJGNzLWhlYWRpbmctNC1zaXplOiAxICFkZWZhdWx0O1xuJGNzLWhlYWRpbmctNS1zaXplOiAtMSAhZGVmYXVsdDtcblxuLy8gSW5saW5lIHRleHRzXG4kY3MtbGVhZC1mb250LXNpemU6IDIgIWRlZmF1bHQ7XG4kY3MtbGVhZC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJGNzLXNtYWxsLWZvbnQtc2l6ZTogLTEgIWRlZmF1bHQ7XG4kY3MtY2FwdGlvbi1mb250LXNpemU6IC0yICFkZWZhdWx0O1xuJGNzLWxlZ2FsLWZvbnQtc2l6ZTogLTMgIWRlZmF1bHQ7XG4kY3MtbWFyay1iZy1jb2xvcjogJGNzLWNvbG9yLXBlYXJsLWx1c3RhICFkZWZhdWx0O1xuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuJGNzLWRpc3BsYXktMS1zaXplOiAoeHM6IDcsIG1kOiA5KSAhZGVmYXVsdDtcbiRjcy1kaXNwbGF5LTEtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4kY3MtZGlzcGxheS0yLXNpemU6ICh4czogNiwgbWQ6IDgpICFkZWZhdWx0O1xuJGNzLWRpc3BsYXktMi13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vIEhlYWRpbmdzXG4kY3MtaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogJGNzLXNwYWNlci1tZWRpdW0gIWRlZmF1bHQ7XG4kY3MtaGVhZGluZ3MtZm9udC1mYW1pbHk6ICRjcy1mb250LWZhbWlseS1sYXRvICFkZWZhdWx0O1xuJGNzLWhlYWRpbmdzLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuJGNzLWhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjI1ICFkZWZhdWx0O1xuJGNzLWhlYWRpbmdzLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4kY3MtaGVhZGluZy1zaXplczogKFxuICAxOiAkY3MtaGVhZGluZy0xLXNpemUsXG4gIDI6ICRjcy1oZWFkaW5nLTItc2l6ZSxcbiAgMzogJGNzLWhlYWRpbmctMy1zaXplLFxuICA0OiAkY3MtaGVhZGluZy00LXNpemUsXG4gIDU6ICRjcy1oZWFkaW5nLTUtc2l6ZSxcbikgIWRlZmF1bHQ7XG5cbiRjcy10ZXh0LW11dGVkOiAkY3MtZ3JheS1pcm9uICFkZWZhdWx0O1xuXG4kY3MtYWJici1ib3JkZXItY29sb3I6ICRjcy1ncmF5LWlyb24gIWRlZmF1bHQ7XG5cbiRjcy1ibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAkY3MtZ3JheS1pcm9uICFkZWZhdWx0O1xuJGNzLWJsb2NrcXVvdGUtZm9udC1zaXplOiAoJGNzLWZvbnQtc2l6ZS1iYXNlICogMS42MjUpICFkZWZhdWx0O1xuJGNzLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAkY3MtZ3JheS1zdGVlbCAhZGVmYXVsdDtcblxuJGNzLWhyLWJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kY3MtaHItYm9yZGVyLXdpZHRoOiAkY3MtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kY3MtZHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbiRjcy1uZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL2dyaWRzXCI7XG5cbi8vIENSRURJVDogQk9PVFNUUkFQIDRcblxuLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTQ0cHgsIG1kOiA3NjhweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkY3MtZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBjcy1icmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGNzLWdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KSlcbi8vICAgIDU0NHB4XG5AZnVuY3Rpb24gY3MtYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGNzLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjEuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU0NHB4LCBtZDogNzY4cHgpKVxuLy8gICAgNzY3cHhcbkBmdW5jdGlvbiBjcy1icmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkY3MtZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogY3MtYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBjcy1icmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIDFweCwgbnVsbCk7XG59XG5cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbmZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBjcy1icmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRjcy1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoY3MtYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGNzLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogY3MtYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBUaGlzIHdvcmtzIHNpbWlsYXIgdG8gY3MtbWVkaWEtYnJlYWtwb2ludC11cCBidXQgYWxzbyBhZGRzIGEgbWVkaWFcbi8vIGNvbmRpdGlvbiBmb3Igb3JpZW50YXRpb246IGxhbmRzY2FwZSAoT1IgY29uZGl0aW9uYWwpIHdpdGggYW4gb3B0aW9uYWxcbi8vIG1heCBicmVha3BvaW50IHVwIHRvIHdoaWNoIGFwcGx5IHRoZSBsYW5kc2NhcGUgY29uZGl0aW9uLlxuQG1peGluIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAtbGFuZHNjYXBlKCRuYW1lLCAkb3JpZW50YXRpb24tdXA6IG51bGwsICRicmVha3BvaW50czogJGNzLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogY3MtYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAaWYgJG9yaWVudGF0aW9uLXVwIHtcbiAgICAgICRtYXg6IGNzLWJyZWFrcG9pbnQtbWF4KCRvcmllbnRhdGlvbi11cCwgJGJyZWFrcG9pbnRzKTtcblxuICAgICAgQGlmICRtYXgge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbiksIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBBTkQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSwgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBjcy1tZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGNzLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogY3MtYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBjcy1tZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGNzLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gY3MtbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRjcy1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBTZXRzIGJyZWFrcG9pbnQgYXMgY29udGVudCB2YWx1ZSBvbiB0aGUgYm9keSBlbGVtZW50IGZvciB0aWdnZXJpbmcgSlMgYnJlYWtwb2ludHNcbkBtaXhpbiBjcy1tYWtlLWpzLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnRzOiAkY3MtZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIGJvZHkge1xuICAgICAgICBjb250ZW50OiBcIiN7JGJyZWFrcG9pbnR9XCI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb2xvcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbWFyeSwgZ3JheXMsIGFjY2VudHMsIGdyYWRpZW50cyBhbmQgbW9yZVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBjb2xvci1uby1oZXhcblxuLy8gV2hpdGUgYmFzZWQgY29sb3JzLlxuLy8vIEB0eXBlIENvbG9yXG4kY3MtZ3JheS1zaWx2ZXI6ICNjY2MgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1ncmF5LWZvZzogI2VmZWZlZiAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLXdoaXRlOiAjZmZmICFkZWZhdWx0O1xuXG4vLyBCbGFjayBiYXNlZCBjb2xvcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1ncmF5LWNoYXJjb2FsOiAjNTM1MzUzICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtZ3JheS1pcm9uOiAjNzU3NTc1ICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtZ3JheS1zdGVlbDogIzk5OSAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLW1pbmUtc2hhZnQ6ICMzYTNhM2EgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1ibGFjazogIzAwMCAhZGVmYXVsdDtcblxuLy8gR3JlZW4gYmFzZWQgY29sb3JzLlxuLy8vIEB0eXBlIENvbG9yXG4kY3MtY29sb3ItZ3JlZW46ICMyMTg1MGYgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1mb3Jlc3Q6ICMwMDU3MDAgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1saW1lOiAjNWFiNjQzICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtY29sb3ItbWludDogI2Y4ZmZmMCAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLXRlYWw6ICMwNDlmYTQgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci10dXJxdW9pc2U6ICM1MmMwYzQgIWRlZmF1bHQ7XG5cbi8vIFJlZCBiYXNlZCBjb2xvcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1waW5rOiAjZjIzZTdiICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtY29sb3ItYmx1c2g6ICNmZWY1ZjEgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1yZWQ6ICNmMjU1NTUgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1tYXJvb246ICM4YzBiMGIgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1tb256YTogI2JkMDgxYyAhZGVmYXVsdDtcblxuLy8gWWVsb3cgYmFzZWQgY29sb3JzLlxuLy8vIEB0eXBlIENvbG9yXG4kY3MtY29sb3ItY3JlYW06ICNmZmZkZTYgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1hbWJlcjogI2Y1YWIyMyAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLXdhbG51dDogIzYzM2UwMCAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLXBlYXJsLWx1c3RhOiAjZmNmOGUzICFkZWZhdWx0O1xuXG4vLyBCbHVlIGJhc2VkIGNvbG9ycy5cbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLWRvZGdlci1ibHVlOiAjMWRhMWYyICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtY29sb3ItcGVyc2lhbi1ibHVlOiAjMjExZWMyICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtY29sb3ItYmx1ZTogIzQyM2ZlMSAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWNvbG9yLXNhbi1tYXJpbm86ICM0MzVkYWEgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1jb2xvci1yb3lhbC1ibHVlOiAjNjI2MGU2ICFkZWZhdWx0O1xuXG4vLyBCcmFuZCBjb2xvcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1icmFuZC1ibGFjazogJGNzLWNvbG9yLW1pbmUtc2hhZnQgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1icmFuZC1wcmltYXJ5OiAkY3MtY29sb3ItZ3JlZW4gIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1icmFuZC1zdWNjZXNzOiAjZDBlOWM2ICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtYnJhbmQtaW5mbzogI2JjZGZmMSAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWJyYW5kLXdhcm5pbmc6ICNmYWYyY2MgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1icmFuZC1kYW5nZXI6ICNlYmNjY2MgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBDb2xvclxuJGNzLWJvZHktYmc6ICRjcy1jb2xvci13aGl0ZSAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWJvZHktY29sb3I6ICRjcy1icmFuZC1ibGFjayAhZGVmYXVsdDtcblxuLy8vIEB0eXBlIENvbG9yXG4kY3MtZ3JhZGllbnQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMwMjljOGUgMCUsICM3YTY2YTkgMTAwJSkgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBDb2xvclxuJGNzLWdyYWRpZW50LWJsdWU6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzEwY2M3MSAwJSwgIzAwOTFhZCAxMDAlKSAhZGVmYXVsdDtcblxuLy8gUHJpdmFjeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTdHlsZSBwcml2YWN5IGVsZW1lbnRzLlxuXG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1wcml2YWN5LXVzZS1yZXNwb25zaWJpbHk6ICMyM2I1ZTggIWRlZmF1bHQ7XG4kY3MtcHJpdmFjeS1jYXV0aW9uOiAjZmZhNTAwICFkZWZhdWx0O1xuJGNzLXByaXZhY3ktbm90LXJlY29tbWVuZGVkOiAkY3MtY29sb3ItcmVkICFkZWZhdWx0O1xuXG4vL1xuLy8gU29jaWFsIGljb25zIGNvbG9ycy5cbi8vXG4kY3MtY29sb3Itc29jaWFsLWZhY2Vib29rOiAkY3MtY29sb3Itc2FuLW1hcmlubyAhZGVmYXVsdDtcbiRjcy1jb2xvci1zb2NpYWwtdHdpdHRlcjogJGNzLWNvbG9yLWRvZGdlci1ibHVlICFkZWZhdWx0O1xuJGNzLWNvbG9yLXNvY2lhbC1waW50ZXJlc3Q6ICRjcy1jb2xvci1tb256YSAhZGVmYXVsdDtcbiRjcy1jb2xvci1zb2NpYWwtZW1haWw6ICRjcy1jb2xvci10dXJxdW9pc2UgIWRlZmF1bHQ7XG4kY3MtY29sb3Itc29jaWFsLXByaW50ZXI6ICRjcy1ncmF5LWlyb24gIWRlZmF1bHQ7XG5cbi8vIHN0eWxlbGludC1lbmFibGVcbiIsIi8vXG4vLyBMaW5rIHNldHRpbmdzXG4vL1xuXG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1saW5rLWNvbG9yOiAkY3MtYnJhbmQtYmxhY2sgIWRlZmF1bHQ7XG4kY3MtbGluay1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1saW5rLWhvdmVyLWNvbG9yOiAkY3MtY29sb3ItYmx1ZSAhZGVmYXVsdDtcbiRjcy1saW5rLWhvdmVyLWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBAdHlwZSBDb2xvclxuJGNzLWxpbmstdmlzaXRlZC1jb2xvcjogJGNzLWdyYXktaXJvbiAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdXRpbGl0aWVzXG4vLy8vXG5cbi8vLyBDUkVESVQ6IEJPT1RTVFJBUCA0XG5AbWl4aW4gY3MtaG92ZXIge1xuICBAaWYgJGNzLWVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgLy8gU2VlIE1lZGlhIFF1ZXJpZXMgTGV2ZWwgNDogaHR0cDovL2RyYWZ0cy5jc3N3Zy5vcmcvbWVkaWFxdWVyaWVzLyNob3ZlclxuICAgIC8vIEN1cnJlbnRseSBzaGltbWVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL21xNC1ob3Zlci1zaGltXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjcy1ob3Zlci1mb2N1cyB7XG4gIEBpZiAkY3MtZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGNzLWhvdmVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY3MtcGxhaW4taG92ZXItZm9jdXMge1xuICBAaWYgJGNzLWVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJixcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGNzLWhvdmVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJixcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjcy1ob3Zlci1hY3RpdmUge1xuICBAaWYgJGNzLWVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjphY3RpdmUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY3MtaG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY3MtaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgQGlmICRjcy1lbmFibGUtaG92ZXItbWVkaWEtcXVlcnkge1xuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY3MtaG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vZnVuY3Rpb25zL21vZHVsYXJzY2FsZVwiO1xuQGltcG9ydCBcIi4uL2Z1bmN0aW9ucy9yZW1cIjtcblxuLy8vIERlZmluZXMgdGhlIGZvbnQgc2l6ZS5cbi8vL1xuLy8vIEBncm91cCB1dGlsaXRpZXNcbkBtaXhpbiBjcy1mb250LXNpemUoJHNpemU6IDAsICRsaW5lLWhlaWdodDogJGNzLWxpbmUtaGVpZ2h0KSB7XG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSBcIm1hcFwiIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJGkgaW4gJHNpemUge1xuICAgICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgICBmb250LXNpemU6IGlmKHVuaXRsZXNzKCRpKSwgY3MtbW9kdWxhcnNjYWxlKCRpKSwgY3MtcmVtKCRpKSk7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBmb250LXNpemU6IGlmKHVuaXRsZXNzKCRzaXplKSwgY3MtbW9kdWxhcnNjYWxlKCRzaXplKSwgY3MtcmVtKCRzaXplKSk7XG4gIH1cblxuICBAaWYgJGxpbmUtaGVpZ2h0IHtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG59XG4iLCJAaWYgJGNzLWVuYWJsZS11dGlsaXRpZXMtdHlwb2dyYXBoeSB7XG4gIC8vIExhdG9cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTGF0b1wiOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZvbnQtZmFtaWx5LW5hbWUtcXVvdGVzXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgc3JjOiB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLXJlZ3VsYXItd2ViZm9udC5lb3RcIik7XG4gICAgc3JjOiB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLXJlZ3VsYXItd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLXJlZ3VsYXItd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8tcmVndWxhci13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1yZWd1bGFyLXdlYmZvbnQuc3ZnI2xhdG9fcmVndWxhclwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIH1cblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJMYXRvXCI7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZm9udC1mYW1pbHktbmFtZS1xdW90ZXNcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBzcmM6IHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8tbGlnaHQtd2ViZm9udC5lb3RcIik7XG4gICAgc3JjOiB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWxpZ2h0LXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1saWdodC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1saWdodC13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1saWdodC13ZWJmb250LnN2ZyNsYXRvX2xpZ2h0XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgfVxuXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9cIjsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmb250LWZhbWlseS1uYW1lLXF1b3Rlc1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIHNyYzogdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1oYWlybGluZS13ZWJmb250LmVvdFwiKTtcbiAgICBzcmM6IHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8taGFpcmxpbmUtd2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWhhaXJsaW5lLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWhhaXJsaW5lLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWhhaXJsaW5lLXdlYmZvbnQuc3ZnI2xhdG9faGFpcmxpbmVcIikgZm9ybWF0KFwic3ZnXCIpO1xuICB9XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTGF0b1wiOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZvbnQtZmFtaWx5LW5hbWUtcXVvdGVzXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHNyYzogdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1ib2xkLXdlYmZvbnQuZW90XCIpO1xuICAgIHNyYzogdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1ib2xkLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1ib2xkLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWJvbGQtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8tYm9sZC13ZWJmb250LnN2ZyNsYXRvX2JvbGRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICB9XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTGF0b1wiOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZvbnQtZmFtaWx5LW5hbWUtcXVvdGVzXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgc3JjOiB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWl0YWxpYy13ZWJmb250LmVvdFwiKTtcbiAgICBzcmM6IHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8taXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofWxhdG8vbGF0by1pdGFsaWMtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIiN7JGNzLWZvbnQtcGF0aH1sYXRvL2xhdG8taXRhbGljLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9bGF0by9sYXRvLWl0YWxpYy13ZWJmb250LnN2ZyNsYXRvX2l0YWxpY1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIH1cblxuICAvLyBPc3dhbGRcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiT3N3YWxkXCI7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZm9udC1mYW1pbHktbmFtZS1xdW90ZXNcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBzcmM6IHVybChcIiN7JGNzLWZvbnQtcGF0aH1vc3dhbGQvb3N3YWxkLXJlZ3VsYXItd2ViZm9udC5lb3RcIik7XG4gICAgc3JjOiB1cmwoXCIjeyRjcy1mb250LXBhdGh9b3N3YWxkL29zd2FsZC1yZWd1bGFyLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofW9zd2FsZC9vc3dhbGQtcmVndWxhci13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofW9zd2FsZC9vc3dhbGQtcmVndWxhci13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofW9zd2FsZC9vc3dhbGQtcmVndWxhci13ZWJmb250LnN2ZyNvc3dhbGRfcmVndWxhclwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIH1cblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJPc3dhbGRcIjsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmb250LWZhbWlseS1uYW1lLXF1b3Rlc1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIHNyYzogdXJsKFwiI3skY3MtZm9udC1wYXRofW9zd2FsZC9vc3dhbGQtbGlnaHQtd2ViZm9udC5lb3RcIik7XG4gICAgc3JjOiB1cmwoXCIjeyRjcy1mb250LXBhdGh9b3N3YWxkL29zd2FsZC1saWdodC13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIiN7JGNzLWZvbnQtcGF0aH1vc3dhbGQvb3N3YWxkLWxpZ2h0LXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIjeyRjcy1mb250LXBhdGh9b3N3YWxkL29zd2FsZC1saWdodC13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiI3skY3MtZm9udC1wYXRofW9zd2FsZC9vc3dhbGQtbGlnaHQtd2ViZm9udC5zdmcjb3N3YWxkX2xpZ2h0XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgfVxuXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk9zd2FsZFwiOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZvbnQtZmFtaWx5LW5hbWUtcXVvdGVzXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgc3JjOiB1cmwoXCIjeyRjcy1mb250LXBhdGh9b3N3YWxkL29zd2FsZC1ib2xkLXdlYmZvbnQuZW90XCIpO1xuICAgIHNyYzogdXJsKFwiI3skY3MtZm9udC1wYXRofW9zd2FsZC9vc3dhbGQtYm9sZC13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIiN7JGNzLWZvbnQtcGF0aH1vc3dhbGQvb3N3YWxkLWJvbGQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIiN7JGNzLWZvbnQtcGF0aH1vc3dhbGQvb3N3YWxkLWJvbGQtd2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIiN7JGNzLWZvbnQtcGF0aH1vc3dhbGQvb3N3YWxkLWJvbGQtd2ViZm9udC5zdmcjb3N3YWxkX2JvbGRcIikgZm9ybWF0KFwic3ZnXCIpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjsgLy8gaW1wb3J0IGZpcnN0XG5AaW1wb3J0IFwiLi4vbWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcIi4uL2Z1bmN0aW9ucy9mdW5jdGlvbnNcIjtcblxuLy8vL1xuLy8vIEBncm91cCBhdG9tc1xuLy8vL1xuXG5AaWYgJGNzLWVuYWJsZS1iYWNrZ3JvdW5kcyB7XG5cbiAgLy8vIERhcmtlciBncmF5IGNvbnRleHR1YWwgYmFja2dyb3VuZFxuICAuI3skY3MtbnN9YmctZGFya2VyIHtcbiAgICBjb2xvcjogJGNzLWdyYXktc3RlZWw7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWJyYW5kLWJsYWNrO1xuICB9XG5cbiAgLy8vIERhcmsgZ3JheSBjb250ZXh0dWFsIGJhY2tncm91bmRcbiAgLiN7JGNzLW5zfWJnLWRhcmsge1xuICAgIGNvbG9yOiAkY3MtZ3JheS1zdGVlbDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtZ3JheS1jaGFyY29hbDtcbiAgfVxuXG4gIC8vLyBMaWdodCBncmF5IGNvbnRleHR1YWwgYmFja2dyb3VuZFxuICAuI3skY3MtbnN9YmctbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1ncmF5LWlyb247XG4gIH1cblxuICAvLy8gTGlnaHRlciBncmF5IGNvbnRleHR1YWwgYmFja2dyb3VuZFxuICAuI3skY3MtbnN9YmctbGlnaHRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWdyYXktc3RlZWw7XG4gIH1cblxuICAvLy8gTGlnaHRlc3QgZ3JheSBjb250ZXh0dWFsIGJhY2tncm91bmRcbiAgLiN7JGNzLW5zfWJnLWxpZ2h0ZXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtZ3JheS1zaWx2ZXI7XG4gIH1cblxuICAlI3skY3MtbnN9YmctcHJpbWFyeSxcbiAgLiN7JGNzLW5zfWJnLXByaW1hcnkge1xuICAgIEBpbmNsdWRlIGNzLW1ha2UtYmctY29sb3IoJGNzLWJyYW5kLXByaW1hcnkpO1xuICB9XG5cbiAgLy8gTmV1dHJhbCBhbmQgQWNzZW50IGNvbG9yc1xuICAkY29sb3JzOiAoXG4gICAgLy8gR3JheXNcbiAgICBcImJsYWNrXCI6ICRjcy1icmFuZC1ibGFjayxcbiAgICBcImdyYXktY2hhcmNvYWxcIjogJGNzLWdyYXktY2hhcmNvYWwsXG4gICAgXCJncmF5LWlyb25cIjogJGNzLWdyYXktaXJvbixcbiAgICBcImdyYXktc3RlZWxcIjogJGNzLWdyYXktc3RlZWwsXG4gICAgXCJncmF5LXNpbHZlclwiOiAkY3MtZ3JheS1zaWx2ZXIsXG4gICAgXCJncmF5LWZvZ1wiOiAkY3MtZ3JheS1mb2csXG4gICAgLy8gQWNzZW50c1xuICAgIFwiYmx1ZVwiOiAkY3MtY29sb3ItYmx1ZSxcbiAgICBcInBpbmtcIjogJGNzLWNvbG9yLXBpbmssXG4gICAgXCJ0dXJxdW9pc2VcIjogJGNzLWNvbG9yLXR1cnF1b2lzZSxcbiAgICBcInRlYWxcIjogJGNzLWNvbG9yLXRlYWwsXG4gICAgXCJmb3Jlc3RcIjogJGNzLWNvbG9yLWZvcmVzdCxcbiAgICBcImxpbWVcIjogJGNzLWNvbG9yLWxpbWUsXG4gICAgXCJwcml2YWN5LXVzZS1yZXNwb25zaWJpbHlcIjogJGNzLXByaXZhY3ktdXNlLXJlc3BvbnNpYmlseSxcbiAgICBcInByaXZhY3ktY2F1dGlvblwiOiAkY3MtcHJpdmFjeS1jYXV0aW9uLFxuICAgIFwicHJpdmFjeS1ub3QtcmVjb21tZW5kZWRcIjogJGNzLXByaXZhY3ktbm90LXJlY29tbWVuZGVkLFxuICAgIFwiYmx1c2hcIjogJGNzLWNvbG9yLWJsdXNoLFxuICAgIFwicmVkXCI6ICRjcy1jb2xvci1yZWQsXG4gICAgXCJtYXJvb25cIjogJGNzLWNvbG9yLW1hcm9vbixcbiAgICBcImNyZWFtXCI6ICRjcy1jb2xvci1jcmVhbSxcbiAgICBcImFtYmVyXCI6ICRjcy1jb2xvci1hbWJlcixcbiAgICBcIndhbG51dFwiOiAkY3MtY29sb3Itd2FsbnV0LFxuICAgIFwibWludFwiOiAkY3MtY29sb3ItbWludCxcbiAgICBcIndoaXRlXCI6ICRjcy1jb2xvci13aGl0ZSxcbiAgKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJG5hbWU6IG50aChudGgoJGNvbG9ycywgJGkpLCAxKTtcbiAgICAkY29sb3I6IG50aChudGgoJGNvbG9ycywgJGkpLCAyKTtcblxuICAgICUjeyRjcy1uc31jb2xvci0jeyRuYW1lfSxcbiAgICAuI3skY3MtbnN9Y29sb3ItI3skbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgY3MtbWFrZS1jb2xvcigkY29sb3IpO1xuICAgIH1cblxuICAgICUjeyRjcy1uc31iZy0jeyRuYW1lfSxcbiAgICAuI3skY3MtbnN9YmctI3skbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgY3MtbWFrZS1iZy1jb2xvcigkY29sb3IpO1xuICAgIH1cblxuICAgIGEuI3skY3MtbnN9YmctI3skbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgY3MtaG92ZXItZm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEdyYWRpZW50c1xuICAkZ3JhZGllbnQtY29sb3JzOiAoXG4gICAgXCJncmFkaWVudC1wdXJwbGVcIjogJGNzLWdyYWRpZW50LXB1cnBsZSxcbiAgICBcImdyYWRpZW50LWJsdWVcIjogJGNzLWdyYWRpZW50LWJsdWUsXG4gICk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGdyYWRpZW50LWNvbG9ycykge1xuICAgICRuYW1lOiBudGgobnRoKCRncmFkaWVudC1jb2xvcnMsICRpKSwgMSk7XG4gICAgJGNvbG9yOiBudGgobnRoKCRncmFkaWVudC1jb2xvcnMsICRpKSwgMik7XG5cbiAgICAlI3skY3MtbnN9YmctI3skbmFtZX0sXG4gICAgLiN7JGNzLW5zfWJnLSN7JG5hbWV9IHtcbiAgICAgIEBpbmNsdWRlIGNzLW1ha2UtYmctY29sb3IoJGNvbG9yKTtcbiAgICB9XG5cbiAgICAlI3skY3MtbnN9Y29sb3ItI3skbmFtZX0sXG4gICAgLiN7JGNzLW5zfWNvbG9yLSN7JG5hbWV9IHtcbiAgICAgIEBpbmNsdWRlIGNzLWdyYWRpZW50LXRleHQoJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdXRpbGl0aWVzXG4vLy8vXG5cbi8vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gYmFja2dyb3VuZCBjb2xvciB2YWx1ZVxuQG1peGluIGNzLW1ha2UtYmctY29sb3IoJGNvbG9yKSB7XG4gIEBpZiB0eXBlLW9mKCRjb2xvcikgPT0gXCJjb2xvclwiIHtcbiAgICBjb2xvcjogJGNzLWNvbG9yLXdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vLyBDb250ZXh0dWFsIHRleHQgY29sb3JzXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gdGV4dCBjb2xvciB2YWx1ZVxuQG1peGluIGNzLW1ha2UtY29sb3IoJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIEBjb250ZW50O1xufVxuXG4vLy8gSGVscHMgY3JlYXRlIGdyYWRpZW50IHRleHRzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGdyYWRpZW50IC0gZ3JhZGllbnQgZGVmaW5pdGlvblxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYmcgW2xpZ2h0XSAtIHNwZWNpZnkgdGhlIHBhcmVudCBlbGVtZW50XCJzIGJhY2tncm91bmQgY29sb3Jcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vY29kZXBlbi5pby9naWFuYS9wZW4vUlBkTGFRXG5AbWl4aW4gY3MtZ3JhZGllbnQtdGV4dCgkZ3JhZGllbnQsICRiZzogXCJsaWdodFwiKSB7XG4gIEBzdXBwb3J0cyAobWl4LWJsZW5kLW1vZGU6IGxpZ2h0ZW4pIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZDogdW5xdW90ZSgkZ3JhZGllbnQpO1xuICAgIH1cblxuICAgIEBpZiAoJGJnID09IFwibGlnaHRcIikge1xuICAgICAgY29sb3I6ICRjcy1jb2xvci1ibGFjaztcbiAgICAgIGJhY2tncm91bmQ6ICRjcy1jb2xvci13aGl0ZTtcbiAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkYmcgPT0gXCJkYXJrXCIpIHtcbiAgICAgIGNvbG9yOiAkY3MtY29sb3Itd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiAkY3MtY29sb3ItYmxhY2s7XG4gICAgICBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yIFwiYCRiZ2AgdmFsdWUgbXVzdCBiZSBlaXRoZXIgc2V0IHRvIGBsaWdodGAgb3IgYGRhcmtgLlwiO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIEhlbHBzIGNyZWF0ZSBncmFkaWVudCB0ZXh0c1xuLy8vXG4vLy8gQGdyb3VwIHV0aWxpdGllc1xuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRncmFkaWVudCAtIGdyYWRpZW50IGRlZmluaXRpb25cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJnIFtsaWdodF0gLSBzcGVjaWZ5IHRoZSBwYXJlbnQgZWxlbWVudCdzIGJhY2tncm91bmQgY29sb3Jcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vY29kZXBlbi5pby9naWFuYS9wZW4vUlBkTGFRXG4vLy8gQHRocm93XG5AbWl4aW4gY3MtZ3JhZGllbnQtdGV4dCgkZ3JhZGllbnQsICRiZzogXCJsaWdodFwiKSB7XG4gIEBzdXBwb3J0cyAobWl4LWJsZW5kLW1vZGU6IGxpZ2h0ZW4pIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZDogdW5xdW90ZSgkZ3JhZGllbnQpO1xuICAgIH1cblxuICAgIEBpZiAoJGJnID09IFwibGlnaHRcIikge1xuICAgICAgY29sb3I6ICRjcy1jb2xvci1ibGFjaztcbiAgICAgIGJhY2tncm91bmQ6ICRjcy1jb2xvci13aGl0ZTtcbiAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkYmcgPT0gXCJkYXJrXCIpIHtcbiAgICAgIGNvbG9yOiAkY3MtY29sb3Itd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiAkY3MtY29sb3ItYmxhY2s7XG4gICAgICBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yIFwiYCRiZ2AgdmFsdWUgbXVzdCBiZSBlaXRoZXIgc2V0IHRvIGBsaWdodGAgb3IgYGRhcmtgLlwiO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gaW1wb3J0IHNldHRpbmdzXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5cbi8vXG4vLyBIZWxwZXIgbWl4aW4gdG8gY3JlYXRlIGJhc2Ugc3R5bGUgcHJvcGVydGllc1xuLy9cbkBtaXhpbiBfY3MtaWNvbi1iYXNlKCRmYW1pbHksICRzaXplOiBudWxsLCAkcHNldWRvOiBcImJlZm9yZVwiKSB7XG4gIEBpZiBub3QgJGZhbWlseSB7XG4gICAgQGVycm9yIFwiVGhlIG5hbWUgb2YgdGhlIGZvbnQgZmFtaWx5IGlzIHJlcXVpcmVkXCI7XG4gIH1cbiAgJjo6I3skcHNldWRvfSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIiN7JGZhbWlseX1cIjtcbiAgICBmb250LXNpemU6IGlmKCRzaXplLCBjcy1yZW0oJHNpemUpLCBpbmhlcml0KTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTsgLy8gcmVsYXRpdmUgdG8gdGhlIGZvbnQtc2l6ZVxuICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gICAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy9cbi8vIEhlbHBlciBtaXhpbiBmb3IgY3JlYXRpbmcgYSBzaW5nbGUgaWNvbi5cbi8vIEFwcGxpZXMgYWxsIHN0eWxpbmcgcHJvcGVydGllcyBmb3IgYSBzcGVjaWZpYyBpY29uIGZvbnRcbi8vXG5AbWl4aW4gX2NzLWJ1aWxkLWljb24oJG5hbWUsICRnbHlwaHMsICRmYW1pbHksICRzaXplLCAkcHNldWRvOiBcImJlZm9yZVwiKSB7XG4gIEBpZiBub3QgJG5hbWUge1xuICAgIEBlcnJvciBcIlRoZSBgJGdseXBoYCBhdHRyaWJ1dGUgaXMgcmVxdWlyZWQuXCI7XG4gIH1cblxuICAkZ2x5cGg6IG1hcC1nZXQoJGdseXBocywgJG5hbWUpO1xuXG4gIEBpZiBub3QgJGdseXBoIHtcbiAgICBAZXJyb3IgXCJUaGUgbmFtZSBgI3skZ2x5cGh9YCBjYW5ub3QgYmUgZm91bmQuXCI7XG4gIH1cblxuICBAaWYgbm90IGluZGV4KChcImJlZm9yZVwiLCBcImFmdGVyXCIpLCAkcHNldWRvKSB7XG4gICAgQGVycm9yIFwiVGhlIHZhbHVlIG9mIGAkcHNldWRvYCBtdXN0IGVxdWFsICdiZWZvcmUnIG9yICdhZnRlcicuXCI7XG4gIH1cblxuICBAaW5jbHVkZSBfY3MtaWNvbi1iYXNlKCRmYW1pbHksICRzaXplLCAkcHNldWRvKSB7XG4gICAgY29udGVudDogdW5xdW90ZShcIlxcXCJcXFxcI3sgJGdseXBoIH1cXFwiXCIpO1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEdpdmVuIGEgbWFwIHdpdGggaWNvbiBuYW1lcyBhbmQgXCJjb250ZW50XCIgdmFsdWVzXG4vLyBnZW5lcmF0ZSBpY29uIGNsYXNzZXNcbkBtaXhpbiBjcy1idWlsZC1pY29ucyhcbiAgJGNkbi1wYXRoOiBudWxsLFxuICAkZmFtaWx5OiBudWxsLFxuICAkZ2x5cGhzOiBudWxsLFxuICAkY29sb3ItZ2x5cGhzOiBudWxsLFxuICAkc2l6ZTogbnVsbCxcbiAgJHByZWZpeDogXCIuaWNvbi1cIixcbiAgJHBzZXVkbzogXCJiZWZvcmVcIikge1xuXG4gIEBpZiBub3QgJGNkbi1wYXRoIHtcbiAgICBAZXJyb3IgXCJBbiBhYm9zbHV0ZSBmb250IGZvbGRlciBwYXRoIGlzIHJlcXVpcmVkXCI7XG4gIH1cblxuICBAaWYgbm90ICRmYW1pbHkge1xuICAgIEBlcnJvciBcIlRoZSBuYW1lIG9mIHRoZSBmb250IGZhbWlseSBpcyByZXF1aXJlZFwiO1xuICB9XG5cbiAgQGlmIG5vdCAkZ2x5cGhzIHtcbiAgICBAZXJyb3IgXCJBIG1hcCBvZiBpY29ucyBpcyByZXF1aXJlZFwiO1xuICB9XG5cbiAgLy8gRm9udCBmYW1pbHlcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmYW1pbHk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgc3JjOiB1cmwoXCIjeyRjZG4tcGF0aH0jeyRmYW1pbHl9LmVvdFwiKTtcbiAgICBzcmM6IHVybChcIiN7JGNkbi1wYXRofSN7JGZhbWlseX0uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiI3skY2RuLXBhdGh9I3skZmFtaWx5fS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiI3skY2RuLXBhdGh9I3skZmFtaWx5fS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIiN7JGNkbi1wYXRofSN7JGZhbWlseX0udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIjeyRjZG4tcGF0aH0jeyRmYW1pbHl9LnN2ZyMjeyRmYW1pbHl9XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZmFtaWx5O1xuICAgICAgc3JjOiB1cmwoXCIjeyRjZG4tcGF0aH0jeyRmYW1pbHl9LnN2ZyMjeyRmYW1pbHl9XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICB9XG4gIH1cblxuICAvLyBBZ2dyZWdhdGVkIHNoYXJlZCBwcm9wZXJ0aWVzLlxuICAkYWdncmVnYXRlZCA6IFwiXCI7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRnbHlwaHMge1xuICAgICRhZ2dyZWdhdGVkOiBcIiN7JGFnZ3JlZ2F0ZWR9ICN7JHByZWZpeH0jeyRrZXl9LCBcIjtcbiAgfVxuXG4gICN7JGFnZ3JlZ2F0ZWR9IHtcbiAgICBAaW5jbHVkZSBfY3MtaWNvbi1iYXNlKCRmYW1pbHksICRzaXplKTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkZ2x5cGggaW4gJGdseXBocyB7XG4gICAgI3skcHJlZml4fSN7JG5hbWV9IHtcbiAgICAgICY6OiN7JHBzZXVkb30ge1xuICAgICAgICBjb250ZW50OiB1bnF1b3RlKFwiXFxcIlxcXFwjeyAkZ2x5cGggfVxcXCJcIik7IC8vIEdSQUNJQVMgOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yMTYwODc2Mi9zYXNzLXZhcmlhYmxlLWludGVycG9sYXRpb24td2l0aC1iYWNrc2xhc2gtaW4tb3V0cHV0IzM1ODM0NTQzXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQnVpbGQgY2xhc3NlcyBmb3IgY29sb3Igc3ZnIGljb25zLlxuICBAaWYgJGNvbG9yLWdseXBocyB7XG4gICAgLy8gQWdncmVnYXRlZCBzaGFyZWQgcHJvcGVydGllcy5cbiAgICAkYWdncmVnYXRlZCA6IFwiXCI7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGNvbG9yLWdseXBocyB7XG4gICAgICAkYWdncmVnYXRlZDogXCIjeyRhZ2dyZWdhdGVkfSAjeyRwcmVmaXh9I3ska2V5fSwgXCI7XG4gICAgfVxuXG4gICAgI3skYWdncmVnYXRlZH0ge1xuICAgICAgQGluY2x1ZGUgX2NzLWljb24tYmFzZSgkZmFtaWx5LCAkc2l6ZSkge1xuICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFzc3VtZSBnbG9iYWwgZ3JvdXAgYnkgZGVmYXVsdC5cbiAgICAkZ3JvdXA6IFwiZ2xvYmFsXCI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGdseXBoIGluICRjb2xvci1nbHlwaHMge1xuICAgICAgI3skcHJlZml4fSN7JG5hbWV9IHtcbiAgICAgICAgJjo6I3skcHNldWRvfSB7XG4gICAgICAgICAgY29udGVudDogdXJsKFwiI3skY3MtaWNvbi1mb250LWZhbWlseS1ob3N0LXBhdGh9L3N2Zy8jeyRncm91cH0vY29sb3IvI3skZ2x5cGh9LnN2Z1wiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEljb24gRm9udDogY3MtZ2xvYmFsLWljb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE5PVEU6IE1ha2UgY2hhbmdlcyB1bmRlciBzcmMvaWNvbnMvZ2xvYmFsL3RlbXBsYXRlcy9fZ2xvYmFsLm1peGluLnNjc3Ncbi8vIFRoaXMgaXMgYW4gYXV0byBnZW5lcmF0ZWQgZmlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcIi4uL21peGluc1wiO1xuXG4kY3MtaWNvbi1nbG9iYWwtZ2x5cGhzLW1hcDogKFxuICBcImFkZFwiOiBcImYxMDBcIixcbiAgXCJhZGQtb3V0bGluZVwiOiBcImYxMDFcIixcbiAgXCJhZGQtcmF0aW5nLW91dGxpbmVcIjogXCJmMTAyXCIsXG4gIFwiYWxlcnRcIjogXCJmMTAzXCIsXG4gIFwiYW5ub3VuY2VtZW50XCI6IFwiZjEwNFwiLFxuICBcImFycm93LWRvd25cIjogXCJmMTA1XCIsXG4gIFwiYXJyb3ctZG93bi1vdXRsaW5lXCI6IFwiZjEwNlwiLFxuICBcImFycm93LWxlZnRcIjogXCJmMTA3XCIsXG4gIFwiYXJyb3ctbGVmdC1kb3VibGVcIjogXCJmMTA4XCIsXG4gIFwiYXJyb3ctcmlnaHRcIjogXCJmMTA5XCIsXG4gIFwiYXJyb3ctcmlnaHQtb3V0bGluZVwiOiBcImYxMGFcIixcbiAgXCJhcnJvdy11cFwiOiBcImYxMGJcIixcbiAgXCJib29rc1wiOiBcImYxMGNcIixcbiAgXCJjYWxlbmRhclwiOiBcImYxMGRcIixcbiAgXCJjYXJldC1kb3duXCI6IFwiZjEwZVwiLFxuICBcImNhcmV0LXJpZ2h0XCI6IFwiZjEwZlwiLFxuICBcImNjXCI6IFwiZjExMFwiLFxuICBcImNoZWNrYm94LWNoZWNrXCI6IFwiZjExMVwiLFxuICBcImNoZWNrbWFya1wiOiBcImYxMTJcIixcbiAgXCJjaXJjbGUtc29saWRcIjogXCJmMTEzXCIsXG4gIFwiY2xvY2tcIjogXCJmMTE0XCIsXG4gIFwiY2xvc2VcIjogXCJmMTE1XCIsXG4gIFwiY2xvc2Utb3V0bGluZVwiOiBcImYxMTZcIixcbiAgXCJjb21pbmctc29vblwiOiBcImYxMTdcIixcbiAgXCJjb21tdW5pY2F0ZVwiOiBcImYxMThcIixcbiAgXCJjcmVhdGl2ZS1jb21tb25zXCI6IFwiZjExOVwiLFxuICBcImRmZFwiOiBcImYxMWFcIixcbiAgXCJkaW5uZXJcIjogXCJmMTFiXCIsXG4gIFwiZG93bmxvYWRcIjogXCJmMTFjXCIsXG4gIFwiZG93bmxvYWQtc29saWRcIjogXCJmMTFkXCIsXG4gIFwiZHJhZy1kcm9wXCI6IFwiZjExZVwiLFxuICBcImVkaXRcIjogXCJmMTFmXCIsXG4gIFwiZW1haWxcIjogXCJmMTIwXCIsXG4gIFwiZW1vamktZXJyb3JcIjogXCJmMTIxXCIsXG4gIFwiZW1vamktbmV1dHJhbFwiOiBcImYxMjJcIixcbiAgXCJlbW9qaS1zdWNjZXNzXCI6IFwiZjEyM1wiLFxuICBcImZhY2Vib29rXCI6IFwiZjEyNFwiLFxuICBcImZhY2Vib29rLW91dGxpbmVcIjogXCJmMTI1XCIsXG4gIFwiZmFjZWJvb2stc29saWRcIjogXCJmMTI2XCIsXG4gIFwiZmFtaWx5XCI6IFwiZjEyN1wiLFxuICBcImZhbWlseS1ob21lXCI6IFwiZjEyOFwiLFxuICBcImZpbHRlclwiOiBcImYxMjlcIixcbiAgXCJmbGFnLW91dGxpbmVcIjogXCJmMTJhXCIsXG4gIFwiZmxhZy1zb2xpZFwiOiBcImYxMmJcIixcbiAgXCJnYW1lc1wiOiBcImYxMmNcIixcbiAgXCJnaWZ0XCI6IFwiZjEyZFwiLFxuICBcImdvb2dsZS1vdXRsaW5lXCI6IFwiZjEyZVwiLFxuICBcImdvb2dsZS1zb2xpZFwiOiBcImYxMmZcIixcbiAgXCJoZWFydC1vdXRsaW5lXCI6IFwiZjEzMFwiLFxuICBcImhlYXJ0LXNvbGlkXCI6IFwiZjEzMVwiLFxuICBcImluZm8tb3V0bGluZVwiOiBcImYxMzJcIixcbiAgXCJpbmZvLXNvbGlkXCI6IFwiZjEzM1wiLFxuICBcImluc3RhZ3JhbS1vdXRsaW5lXCI6IFwiZjEzNFwiLFxuICBcImluc3RhZ3JhbS1zb2xpZFwiOiBcImYxMzVcIixcbiAgXCJsYXB0b3BcIjogXCJmMTM2XCIsXG4gIFwibGF1bmNoXCI6IFwiZjEzN1wiLFxuICBcImxhdW5jaC1zb2xpZFwiOiBcImYxMzhcIixcbiAgXCJsaW5rXCI6IFwiZjEzOVwiLFxuICBcImxpbmstc29saWRcIjogXCJmMTNhXCIsXG4gIFwibGlua2VkaW5cIjogXCJmMTNiXCIsXG4gIFwibGlua2VkaW4tb3V0bGluZVwiOiBcImYxM2NcIixcbiAgXCJsaW5rZWRpbi1zb2xpZFwiOiBcImYxM2RcIixcbiAgXCJsb2NrZWRcIjogXCJmMTNlXCIsXG4gIFwibG9nby1jaGVja21hcmtcIjogXCJmMTNmXCIsXG4gIFwibWFrZS1hLWNvcHlcIjogXCJmMTQwXCIsXG4gIFwibWVkaWFcIjogXCJmMTQxXCIsXG4gIFwibWVtYmVyXCI6IFwiZjE0MlwiLFxuICBcIm1lbnVcIjogXCJmMTQzXCIsXG4gIFwibWludXNcIjogXCJmMTQ0XCIsXG4gIFwibWludXMtb3V0bGluZVwiOiBcImYxNDVcIixcbiAgXCJtb3JlXCI6IFwiZjE0NlwiLFxuICBcIm1vcmUtb3V0bGluZVwiOiBcImYxNDdcIixcbiAgXCJtdXNpY1wiOiBcImYxNDhcIixcbiAgXCJwZW5jaWxcIjogXCJmMTQ5XCIsXG4gIFwicGludGVyZXN0XCI6IFwiZjE0YVwiLFxuICBcInBpbnRlcmVzdC1vdXRsaW5lXCI6IFwiZjE0YlwiLFxuICBcInBpbnRlcmVzdC1zb2xpZFwiOiBcImYxNGNcIixcbiAgXCJwbGF5XCI6IFwiZjE0ZFwiLFxuICBcInBsYXktb3V0bGluZVwiOiBcImYxNGVcIixcbiAgXCJwbGF5LXNvbGlkXCI6IFwiZjE0ZlwiLFxuICBcInByaW50ZXItb3V0bGluZVwiOiBcImYxNTBcIixcbiAgXCJwcmludGVyLXNvbGlkXCI6IFwiZjE1MVwiLFxuICBcInByb2ZpbGVcIjogXCJmMTUyXCIsXG4gIFwic2F2ZVwiOiBcImYxNTNcIixcbiAgXCJzZWFyY2hcIjogXCJmMTU0XCIsXG4gIFwic2VsZWN0XCI6IFwiZjE1NVwiLFxuICBcInNldHRpbmdzXCI6IFwiZjE1NlwiLFxuICBcInNldHRpbmdzLW91dGxpbmVcIjogXCJmMTU3XCIsXG4gIFwic2hhcmVcIjogXCJmMTU4XCIsXG4gIFwic2lnbi1vdXRcIjogXCJmMTU5XCIsXG4gIFwic21hcnRwaG9uZVwiOiBcImYxNWFcIixcbiAgXCJzdGFyLXJhdGluZ1wiOiBcImYxNWJcIixcbiAgXCJzdWJzY3JpYmUtaGVhcnRcIjogXCJmMTVjXCIsXG4gIFwic3VwcG9ydFwiOiBcImYxNWRcIixcbiAgXCJ0aXBzXCI6IFwiZjE1ZVwiLFxuICBcInR3aXR0ZXJcIjogXCJmMTVmXCIsXG4gIFwidHdpdHRlci1vdXRsaW5lXCI6IFwiZjE2MFwiLFxuICBcInR3aXR0ZXItc29saWRcIjogXCJmMTYxXCIsXG4gIFwid2F0Y2gtdmlkZW9cIjogXCJmMTYyXCIsXG4gIFwid2hhdHNhcHAtc29saWRcIjogXCJmMTYzXCIsXG4gIFwieW91dHViZVwiOiBcImYxNjRcIixcbiAgXCJ5b3V0dWJlLW91dGxpbmVcIjogXCJmMTY1XCIsXG4gIFwieW91dHViZS1zb2xpZFwiOiBcImYxNjZcIixcbikgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbSBjb2xvciBTVkdzIHRoYXQgY2FuIG5vdCBiZSBwYXJ0IG9mIHRoZSBjcy1nbG9iYWwtaWNvbnMgZm9udC5cbiRjcy1pY29uLWdsb2JhbC1jb2xvci1nbHlwaHMtbWFwOiAoXG4gIFwiY3Mtc2VsZWN0aW9uLWJsYW5rXCI6IFwiY3Mtc2VsZWN0aW9uLWJsYW5rXCIsXG4gIFwiY3Mtc2VsZWN0aW9uLWZhbWlsaWVzXCI6IFwiY3Mtc2VsZWN0aW9uLWZhbWlsaWVzXCIsXG4gIFwiY3Mtc2VsZWN0aW9uLXRlZW5zXCI6IFwiY3Mtc2VsZWN0aW9uLXRlZW5zXCIsXG4gIFwibG9nby1jaGVja21hcmstZ3JlZW4tLWF2YXRhclwiOiBcImxvZ28tY2hlY2ttYXJrLWdyZWVuLS1hdmF0YXJcIixcbiAgXCJsb2dvLWNoZWNrbWFyay1ncmVlblwiOiBcImxvZ28tY2hlY2ttYXJrLWdyZWVuXCIsXG4gIFwibG9nby1jaGVja21hcmstc2VsZWN0aW9uXCI6IFwibG9nby1jaGVja21hcmstc2VsZWN0aW9uXCIsXG4gIFwic2VhbFwiOiBcInNlYWxcIixcbiAgXCJzZWFsLXRlZW5zXCI6IFwic2VhbC10ZWVuc1wiLFxuICBcInN0YXItZXhjbHVzaXZlXCI6IFwic3Rhci1leGNsdXNpdmVcIlxuKSAhZGVmYXVsdDtcblxuJGNzLWljb24tZ2xvYmFsLWZvbnQtcGF0aDogXCIjeyRjcy1pY29uLWZvbnQtZmFtaWx5LWhvc3QtcGF0aH0vZm9udHMvZ2xvYmFsL1wiICFkZWZhdWx0O1xuJGNzLWdsb2JhbC1mb250LWZhbWlseTogXCJjcy1nbG9iYWwtaWNvbnNcIiAhZGVmYXVsdDtcblxuQG1peGluIGNzLWljb24tZ2xvYmFsKCRuYW1lLCAkc2l6ZTogJGNzLWljb24tc2l6ZSwgJHBzZXVkbzogXCJiZWZvcmVcIikge1xuICBAaW5jbHVkZSBfY3MtYnVpbGQtaWNvbihcbiAgICAkbmFtZSxcbiAgICAkY3MtaWNvbi1nbG9iYWwtZ2x5cGhzLW1hcCxcbiAgICAkY3MtZ2xvYmFsLWZvbnQtZmFtaWx5LFxuICAgICRzaXplLFxuICAgICRwc2V1ZG8pe1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiZ2xvYmFsLm1peGluXCI7XG5cbkBpbmNsdWRlIGNzLWJ1aWxkLWljb25zKFxuICAkY3MtaWNvbi1nbG9iYWwtZm9udC1wYXRoLFxuICAkY3MtZ2xvYmFsLWZvbnQtZmFtaWx5LFxuICAkY3MtaWNvbi1nbG9iYWwtZ2x5cGhzLW1hcCxcbiAgJGNzLWljb24tZ2xvYmFsLWNvbG9yLWdseXBocy1tYXApO1xuXG4vLyBFeHBsaWNpdGVseSBzZXQgaWNvbiBzaXplXG5pbWcge1xuICAvLyBjb21tb24gc2Vuc2Ugc2VsZWN0aW9uc1xuICAmW2RhdGEtaWNvbj1cImdsb2JhbC9jb2xvci9jcy1zZWxlY3Rpb24tYmxhbmsuc3ZnXCJdLFxuICAmW2RhdGEtaWNvbj1cImdsb2JhbC9jb2xvci9jcy1zZWxlY3Rpb24tZmFtaWxpZXMuc3ZnXCJdLFxuICAmW2RhdGEtaWNvbj1cImdsb2JhbC9jb2xvci9jcy1zZWxlY3Rpb24tdGVlbnMuc3ZnXCJdLFxuICAmW2RhdGEtaWNvbj1cImdsb2JhbC9jb2xvci9sb2dvLWNoZWNrbWFyay1ncmVlbi5zdmdcIl0sXG4gICZbZGF0YS1pY29uPVwiZ2xvYmFsL2NvbG9yL2xvZ28tY2hlY2ttYXJrLXNlbGVjdGlvbi5zdmdcIl0sXG4gICZbZGF0YS1pY29uPVwiZ2xvYmFsL2NvbG9yL3NlYWwtdGVlbnMuc3ZnXCJdLFxuICAmW2RhdGEtaWNvbj1cImdsb2JhbC9jb2xvci9zZWFsLnN2Z1wiXSxcbiAgJltkYXRhLWljb249XCJnbG9iYWwvY29sb3Ivc3Rhci1leGNsdXNpdmUuc3ZnXCJdIHtcbiAgICB3aWR0aDogY3MtcmVtKDcwcHgpO1xuICAgIGhlaWdodDogY3MtcmVtKDcwcHgpO1xuICB9XG59XG4iLCIvLy8gRnVuY3Rpb24gdG8gcGFyc2UgdGhlIGludGVnZXIgZnJvbSBhIHZhbHVlIHdpdGggYSB1bml0XG4vLy8gQHBhcmFtICRuXG5AZnVuY3Rpb24gY3MtcGFyc2UtaW50KCRuKSB7XG4gIEByZXR1cm4gJG4gLyAoJG4gKiAwICsgMSk7XG59XG5cbi8vLyBGdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBlcXVhbCB0byB6ZXJvXG4vLy8gQHBhcmFtICR2YWx1ZVxuQGZ1bmN0aW9uIGNzLWlzLXplcm8oJHZhbHVlKSB7XG4gIEByZXR1cm4gaW5kZXgoKDAsIDBweCwgMHJlbSksICR2YWx1ZSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxufVxuXG4vLy8gRnVuY3Rpb24gdG8gY29udmVydCB1bml0c1xuLy8vIEBwYXJhbSAkdG8tdW5pdFxuLy8vIEBwYXJhbSAkdmFsdWVcbkBmdW5jdGlvbiBjcy11bml0LXRvKCR0by11bml0LCAkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSBcIm51bWJlclwiIG9yIGluZGV4KChcInB4XCIsIFwicmVtXCIpLCB1bml0KCR2YWx1ZSkpID09IG51bGwge1xuICAgIEBlcnJvciBcImAjeyR2YWx1ZX1gIG11c3QgYmUgYSBudW1iZXIgb3Igb25lIG9mIHRoZSBmb2xsb3dpbmcgdW5pdHM6IHB4LCByZW0uXCI7XG4gIH1cblxuICAkcmV0OiBudWxsO1xuICAkdW5pdDogdW5pdCgkdmFsdWUpO1xuXG4gIC8vIHJldHVybiB2YWx1ZSBpZiBubyB1bml0IGlzIHRoZSBzYW1lXG4gIEBpZiAkdG8tdW5pdCA9PSAkdW5pdCB7XG4gICAgJHJldDogJHZhbHVlO1xuICB9XG5cbiAgLy8gY29udmVydCB0byBweFxuICBAaWYgJHRvLXVuaXQgPT0gXCJweFwiIHtcbiAgICBAaWYgJHVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkcmV0OiAoY3MtcGFyc2UtaW50KCRjcy1mb250LXNpemUtcm9vdCkgKiBjcy1wYXJzZS1pbnQoJHZhbHVlKSkgKiAxcHg7IC8vICogMXB4XCIgcHJldmVudHMgY2FzdGluZyBzdHJpbmdcbiAgICB9XG4gIH1cblxuICAvLyBjb252ZXJ0IHRvIHJlbVxuICBAaWYgJHRvLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgQGlmICR1bml0ID09IFwicHhcIiB7XG4gICAgICAkcmV0OiAoY3MtcGFyc2UtaW50KCR2YWx1ZSkgLyBjcy1wYXJzZS1pbnQoJGNzLWZvbnQtc2l6ZS1yb290KSkgKiAxcmVtOyAvLyAqIDFyZW1cIiBwcmV2ZW50cyBjYXN0aW5nIHN0cmluZ1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJldDtcbn1cblxuLy8vIENvbnZlcnRzIHVuaXRzIHRvIHJlbVxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkdmFsdWVzIFtdIC0gYWNjZXB0cyBlaXRoZXIgcHggYXMgYW4gaW5wdXQgdmFsdWVzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlcywgbGlrZSAxMHB4IDIwcHguXG5AZnVuY3Rpb24gY3MtcmVtKCR2YWx1ZXMpIHtcbiAgJHJlbTogKCk7XG5cbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiBjcy1pcy16ZXJvKCR2YWx1ZSkgb3IgJHZhbHVlID09IGF1dG8gb3IgdW5pdCgkdmFsdWUpID09IGVtIG9yIHVuaXQoJHZhbHVlKSA9PSByZW0gb3IgdW5pdCgkdmFsdWUpID09IFwiJVwiIHtcbiAgICAgICRyZW06IGFwcGVuZCgkcmVtLCAkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJlbTogYXBwZW5kKCRyZW0sIGNzLXVuaXQtdG8oXCJyZW1cIiwgJHZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkcmVtO1xufVxuIiwiQGltcG9ydCBcIi4vX3NoYWRvd3MubWl4aW4uc2Nzc1wiO1xuXG5AaWYgJGNzLWVuYWJsZS1jbGFzc2VzLXNoYWRvdyB7XG4gIC4jeyRjcy1uc31zaGFkb3cge1xuICAgIEBpbmNsdWRlIGNzLXNoYWRvdygpO1xuXG4gICAgQGVhY2ggJHZhcmlhbnQgaW4gbWFwLWtleXMoJGNzLXNoYWRvdy12YXJpYW50cykge1xuICAgICAgJi0jeyR2YXJpYW50fSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLXNoYWRvdygkdmFyaWFudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHV0aWxpdGllc1xuLy8vL1xuXG4vLy8gQHBhcmFtIHt2YWx1ZX0gc2hhZG93Li4uXG5AbWl4aW4gY3MtYm94LXNoYWRvdygkc2hhZG93LCAkaG92ZXI6IG51bGwpIHtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBAaWYgJGhvdmVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRjcy1zaGFkb3ctZHVyYXRpb247XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6ICRob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWl4aW4gdG8gcmVzZXQgc2hhZG93c1xuQG1peGluIGNzLWJveC1zaGFkb3ctcmVzZXQoKSB7XG4gICYsXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJmb2N1c1wiO1xuXG4vL1xuLy8gU2hhZG93c1xuLy9cblxuJGNzLXNoYWRvdzogKFxuICBcInNoYWRvd1wiOiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAuMSksXG4gIFwiaG92ZXJcIjogMCAycHggMzJweCByZ2JhKDAsIDAsIDAsIC4xKVxuKSAhZGVmYXVsdDtcblxuJGNzLXNoYWRvdy12YXJpYW50czogKFxuICAvLyBEZWZhdWx0IChsZWF2ZSB0aGlzIGJsYW5rIHNvIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2xhc3MgLnNoYWRvdy1kZWZhdWx0KVxuICBcInN1YnRsZVwiOiAoXG4gICAgXCJzaGFkb3dcIjogMCAwIDNweCByZ2JhKDAsIDAsIDAsIC4xKSxcbiAgICBcImhvdmVyXCI6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIC4xKVxuICApLFxuICBcImRhcmtcIjogKFxuICAgIFwic2hhZG93XCI6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIC4yKSxcbiAgICBcImhvdmVyXCI6IDAgMnB4IDMycHggcmdiYSgwLCAwLCAwLCAuMSlcbiAgKSxcbiAgXCJmbG9hdFwiOiAoXG4gICAgXCJzaGFkb3dcIjogMCAycHggMzJweCByZ2JhKDAsIDAsIDAsIC4xKSxcbiAgICBcImhvdmVyXCI6IG51bGxcbiAgKSxcbiAgLy8gU2hhZG93IHVzZWQgZm9yIGZvY3VzIHN0YXRlIG9mIGVsZW1lbnRzIGxpa2UgYnV0dG9ucy5cbiAgXCJmb2N1c1wiOiAoXG4gICAgXCJzaGFkb3dcIjogJGNzLWZvY3VzLXNoYWRvdyxcbiAgICBcImhvdmVyXCI6IG51bGxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbiRjcy1zaGFkb3ctZHVyYXRpb246IC4ycyAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCJjb2xvcnNcIjtcblxuJGNzLWZvY3VzLWNvbG9yOiAkY3MtY29sb3ItdHVycXVvaXNlICFkZWZhdWx0O1xuJGNzLWZvY3VzLWNvbG9yLXJnYmE6IHJnYmEoJGNzLWZvY3VzLWNvbG9yLCAuMykgIWRlZmF1bHQ7XG4kY3MtZm9jdXMtY29sb3Itb3V0bGluZTogJGNzLWNvbG9yLWJsdWUgIWRlZmF1bHQ7XG4kY3MtZm9jdXMtc2hhZG93OiB1bnF1b3RlKFwiMCAwIDAgMXB4ICN7JGNzLWZvY3VzLWNvbG9yfSwgMCAwIDAgNHB4ICN7JGNzLWZvY3VzLWNvbG9yLXJnYmF9XCIpICFkZWZhdWx0O1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vLy9cbi8vLyBAZ3JvdXAgdXRpbGl0aWVzXG4vLy8vXG5cbi8vLyBHZW5lcmF0ZSBtYXJnaW4gYW5kIHBhZGRpbmcgY2xhc3NuYW1lcyB0byBhZGp1c3Qgc3BhY2luZy5cbi8vLyBGb3IgZXhhbXBsZSBgLm10LS1odWdlYC5cbkBtaXhpbiBjcy1tYWtlLXNwYWNlcnMoJGFiYnJldiwgJHNpemUsICRwcm9wLCAkbGVuZ3RoKSB7XG4gIC8vIHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdFxuICAlI3skY3MtbnN9I3skYWJicmV2fS0tI3skc2l6ZX0sXG4gIC4jeyRjcy1uc30jeyRhYmJyZXZ9LS0jeyRzaXplfSB7XG4gICAgI3skcHJvcH06IGNzLXJlbSgkbGVuZ3RoKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gRGVmaW5lIHRvcCBzcGFjaW5nLlxuICAlI3skY3MtbnN9I3skYWJicmV2fXQtLSN7JHNpemV9LFxuICAuI3skY3MtbnN9I3skYWJicmV2fXQtLSN7JHNpemV9IHtcbiAgICAjeyRwcm9wfS10b3A6IGNzLXJlbSgkbGVuZ3RoKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gRGVmaW5lIHJpZ2h0IHNwYWNpbmcuXG4gICUjeyRjcy1uc30jeyRhYmJyZXZ9ci0tI3skc2l6ZX0sXG4gIC4jeyRjcy1uc30jeyRhYmJyZXZ9ci0tI3skc2l6ZX0ge1xuICAgICN7JHByb3B9LXJpZ2h0OiBjcy1yZW0oJGxlbmd0aCkgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIERlZmluZSBib3R0b20gc3BhY2luZy5cbiAgJSN7JGNzLW5zfSN7JGFiYnJldn1iLS0jeyRzaXplfSxcbiAgLiN7JGNzLW5zfSN7JGFiYnJldn1iLS0jeyRzaXplfSB7XG4gICAgI3skcHJvcH0tYm90dG9tOiBjcy1yZW0oJGxlbmd0aCkgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIERlZmluZSBsZWZ0IHNwYWNpbmcuXG4gICUjeyRjcy1uc30jeyRhYmJyZXZ9bC0tI3skc2l6ZX0sXG4gIC4jeyRjcy1uc30jeyRhYmJyZXZ9bC0tI3skc2l6ZX0ge1xuICAgICN7JHByb3B9LWxlZnQ6IGNzLXJlbSgkbGVuZ3RoKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gRGVmaW5lIHVuaWZvcm1lZCB2ZXJ0aWFsIHNwYWNpbmcuXG4gICUjeyRjcy1uc30jeyRhYmJyZXZ9eS0tI3skc2l6ZX0sXG4gIC4jeyRjcy1uc30jeyRhYmJyZXZ9eS0tI3skc2l6ZX0ge1xuICAgIEBleHRlbmQgJSN7JGNzLW5zfSN7JGFiYnJldn10LS0jeyRzaXplfTtcbiAgICBAZXh0ZW5kICUjeyRjcy1uc30jeyRhYmJyZXZ9Yi0tI3skc2l6ZX07XG4gIH1cblxuICAvLyBEZWZpbmUgdW5pZm9ybWVkIGhvcml6b250YWwgc3BhY2luZy5cbiAgJSN7JGNzLW5zfSN7JGFiYnJldn14LS0jeyRzaXplfSxcbiAgLiN7JGNzLW5zfSN7JGFiYnJldn14LS0jeyRzaXplfSB7XG4gICAgQGV4dGVuZCAlI3skY3MtbnN9I3skYWJicmV2fXItLSN7JHNpemV9O1xuICAgIEBleHRlbmQgJSN7JGNzLW5zfSN7JGFiYnJldn1sLS0jeyRzaXplfTtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGVzIHNwYWNpbmcgY2xhc3NuYW1lcyBwZXIgZGVmaW5lZCBicmVha3BvaW50c1xuQG1peGluIGNzLW1ha2UtcmVzcG9uc2l2ZS1zcGFjZXJzKCRicmVha3BvaW50czogJGNzLWdyaWQtYnJlYWtwb2ludHMsICRzcGFjZXJzOiAkY3Mtc3BhY2Vycykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGNzLWJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAvLyBmb3IgZWFjaCBicmVha3BvaW50XG4gICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAZWFjaCAkcHJvcCwgJGFiYnJldiBpbiAobWFyZ2luOiBtLCBwYWRkaW5nOiBwKSB7XG4gICAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgICAvLyBEZWZpbmUgdG9wLCBsZWZ0LCBib3R0b20sIGxlZnQgc3BhY2luZy5cbiAgICAgICAgICAlI3skY3MtbnN9I3skYWJicmV2fSN7JGluZml4fS0tI3skc2l6ZX0sXG4gICAgICAgICAgLiN7JGNzLW5zfSN7JGFiYnJldn0jeyRpbmZpeH0tLSN7JHNpemV9IHtcbiAgICAgICAgICAgICN7JHByb3B9OiBjcy1yZW0oJGxlbmd0aCkgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBEZWZpbmUgdG9wIHNwYWNpbmcuXG4gICAgICAgICAgJSN7JGNzLW5zfSN7JGFiYnJldn10I3skaW5maXh9LS0jeyRzaXplfSxcbiAgICAgICAgICAuI3skY3MtbnN9I3skYWJicmV2fXQjeyRpbmZpeH0tLSN7JHNpemV9IHtcbiAgICAgICAgICAgICN7JHByb3B9LXRvcDogY3MtcmVtKCRsZW5ndGgpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gRGVmaW5lIHJpZ2h0IHNwYWNpbmcuXG4gICAgICAgICAgJSN7JGNzLW5zfSN7JGFiYnJldn1yI3skaW5maXh9LS0jeyRzaXplfSxcbiAgICAgICAgICAuI3skY3MtbnN9I3skYWJicmV2fXIjeyRpbmZpeH0tLSN7JHNpemV9IHtcbiAgICAgICAgICAgICN7JHByb3B9LXJpZ2h0OiBjcy1yZW0oJGxlbmd0aCkgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBEZWZpbmUgYm90dG9tIHNwYWNpbmcuXG4gICAgICAgICAgJSN7JGNzLW5zfSN7JGFiYnJldn1iI3skaW5maXh9LS0jeyRzaXplfSxcbiAgICAgICAgICAuI3skY3MtbnN9I3skYWJicmV2fWIjeyRpbmZpeH0tLSN7JHNpemV9IHtcbiAgICAgICAgICAgICN7JHByb3B9LWJvdHRvbTogY3MtcmVtKCRsZW5ndGgpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gRGVmaW5lIGxlZnQgc3BhY2luZy5cbiAgICAgICAgICAlI3skY3MtbnN9I3skYWJicmV2fWwjeyRpbmZpeH0tLSN7JHNpemV9LFxuICAgICAgICAgIC4jeyRjcy1uc30jeyRhYmJyZXZ9bCN7JGluZml4fS0tI3skc2l6ZX0ge1xuICAgICAgICAgICAgI3skcHJvcH0tbGVmdDogY3MtcmVtKCRsZW5ndGgpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gRGVmaW5lcyB1bmlmb3JtZWQgdmVydGlhbCBzcGFjaW5nLlxuICAgICAgICAgICUjeyRjcy1uc30jeyRhYmJyZXZ9eSN7JGluZml4fS0tI3skc2l6ZX0sXG4gICAgICAgICAgLiN7JGNzLW5zfSN7JGFiYnJldn15I3skaW5maXh9LS0jeyRzaXplfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICUjeyRjcy1uc30jeyRhYmJyZXZ9dCN7JGluZml4fS0tI3skc2l6ZX07XG4gICAgICAgICAgICBAZXh0ZW5kICUjeyRjcy1uc30jeyRhYmJyZXZ9YiN7JGluZml4fS0tI3skc2l6ZX07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gRGVmaW5lIHVuaWZvcm1lZCBob3Jpem9udGFsIHNwYWNpbmcuXG4gICAgICAgICAgJSN7JGNzLW5zfSN7JGFiYnJldn14I3skaW5maXh9LS0jeyRzaXplfSxcbiAgICAgICAgICAuI3skY3MtbnN9I3skYWJicmV2fXgjeyRpbmZpeH0tLSN7JHNpemV9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJSN7JGNzLW5zfSN7JGFiYnJldn1yI3skaW5maXh9LS0jeyRzaXplfTtcbiAgICAgICAgICAgIEBleHRlbmQgJSN7JGNzLW5zfSN7JGFiYnJldn1sI3skaW5maXh9LS0jeyRzaXplfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBvbmUtbGluZXIgdG8gZGVmaW5lIHJlc3BvbnNpdmUgc3BhY2luZyBwcm9wZXJ0aWVzLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgY3Mtc3BhY2VyKHBhZGRpbmctYm90dG9tLCAoeHM6ICdsYXJnZScsIHNtOiAneGxhcmdlJykpO1xuQG1peGluIGNzLXNwYWNlcigkcHJvcGVydHk6IFwicGFkZGluZ1wiLCAkc3BhY2luZzogXCJiYXNlXCIpIHtcbiAgJHZhbHVlczogKCk7XG5cbiAgLy8gUmVzcG9uc2l2ZSBtYXBcbiAgQGlmIHR5cGUtb2YoJHNwYWNpbmcpID09IFwibWFwXCIge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkc3BhY2VyIGluICRzcGFjaW5nIHtcbiAgICAgICR2YWx1ZXM6ICgpOyAvLyAgcmVzZXQgdG8gZW1wdHlcblxuICAgICAgQGlmIHR5cGUtb2YoJHNwYWNlcikgPT0gXCJsaXN0XCIge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJHNwYWNlciB7XG4gICAgICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsIGlmKG1hcC1oYXMta2V5KCRjcy1zcGFjZXJzLCAkdmFsdWUpLCBtYXAtZ2V0KCRjcy1zcGFjZXJzLCAkdmFsdWUpLCAkdmFsdWUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgaWYobWFwLWhhcy1rZXkoJGNzLXNwYWNlcnMsICRzcGFjZXIpLCBtYXAtZ2V0KCRjcy1zcGFjZXJzLCAkc3BhY2VyKSwgJHNwYWNlcikpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogY3MtcmVtKCR2YWx1ZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpc3Qgb2YgdmFsdWVzXG4gIEBlbHNlIGlmIHR5cGUtb2YoJHNwYWNpbmcpID09IFwibGlzdFwiIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHNwYWNpbmcge1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsIGlmKG1hcC1oYXMta2V5KCRjcy1zcGFjZXJzLCAkdmFsdWUpLCBtYXAtZ2V0KCRjcy1zcGFjZXJzLCAkdmFsdWUpLCAkdmFsdWUpKTtcbiAgICB9XG5cbiAgICAjeyRwcm9wZXJ0eX06IGNzLXJlbSgkdmFsdWVzKTtcbiAgfVxuXG4gIC8vIFNpbmdsZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsIGlmKG1hcC1oYXMta2V5KCRjcy1zcGFjZXJzLCAkc3BhY2luZyksIG1hcC1nZXQoJGNzLXNwYWNlcnMsICRzcGFjaW5nKSwgJHNwYWNpbmcpKTtcblxuICAgICN7JHByb3BlcnR5fTogY3MtcmVtKCR2YWx1ZXMpO1xuICB9XG59XG5cbi8vIHN0eWxlbGludC1lbmFibGVcbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9zZXR0aW5nc1wiOyAvLyBpbXBvcnQgZmlyc3RcbkBpbXBvcnQgXCIuLi9taXhpbnMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuXG5AaWYgJGNzLWVuYWJsZS1jbGFzc2VzLW1vZHVsYXJzY2FsZSB7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCA5IHtcbiAgICAuI3skY3MtbnN9bXMjeyRpfSB7XG4gICAgICBAaW5jbHVkZSBjcy1mb250LXNpemUoJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAtMSB0aHJvdWdoIC0zIHtcbiAgICAuI3skY3MtbnN9bXMjeyRpfSB7XG4gICAgICBAaW5jbHVkZSBjcy1mb250LXNpemUoJGkpO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJkZWNpbWFsX3JvdW5kXCI7XG5AaW1wb3J0IFwicG93XCI7XG5cbkBmdW5jdGlvbiBjcy1tb2R1bGFyc2NhbGUoJHNjYWxlOiAwLCAkYmFzZTogbWFwLWdldCgkY3MtbW9kdWxhcnNjYWxlLCBcImJhc2VcIiksICRyYXRpbzogbWFwLWdldCgkY3MtbW9kdWxhcnNjYWxlLCBcInJhdGlvXCIpKSB7XG4gICR2YWx1ZTogJGJhc2UgKiBjcy1wb3coJHJhdGlvLCAkc2NhbGUpO1xuICAkcm91bmRlZDogY3MtZGVjaW1hbC1yb3VuZChjcy1wYXJzZS1pbnQoJHZhbHVlKSwgMykgKiAxcmVtO1xuXG4gIEByZXR1cm4gJHJvdW5kZWQ7XG59XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3MvZ3JpZHNcIjtcbkBpbXBvcnQgXCJicmVha3BvaW50c1wiO1xuXG4vL1xuLy8gQ3JlYXRlIHZpc2libGUgYW5kIGhpZGRlbiBjbGFzc2VzIGZvciB0aGUgZGlmZmVyZW50IGJyZWFrcG9pbnRzLlxuLy9cbkBtaXhpbiBjcy12aXNpYmlsaXR5KCRicmVha3BvaW50czogJGNzLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBjcy1icmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAuI3skY3MtbnN9dmlzaWJsZSN7JGluZml4fSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAuI3skY3MtbnN9aGlkZGVuI3skaW5maXh9IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9jb25maWd1cmF0aW9uXCI7XG5AaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvY29sb3JzXCI7XG5AaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvZm9ybXNcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9ob3ZlclwiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy90YWJGb2N1c1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9zcGFjaW5nXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL2ZvbnRTaXplXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL2NvbXBvbmVudHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvcmVtXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL3NlbGVjdG9yc1wiO1xuXG4vL1xuLy8gU2V0dGluZ3Ncbi8vXG5cbiRjcy1idXR0b24tc2VsZWN0b3I6IFwiYnRuXCIgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCbG9jayBtaXhpblxuLy9cblxuQG1peGluIGNzLWJ1dHRvbigkbW9kaWZpZXI6IG51bGwpIHtcbiAgJHNlbGVjdG9yOiBjcy1zZWxlY3RvcigpO1xuXG4gIEBpZiAobm90ICRtb2RpZmllcikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogJGNzLWJ0bi1mb250LXdlaWdodDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIEBpbmNsdWRlIGNzLWlucHV0LXNpemUoXG4gICAgICAkY3MtYnRuLXBhZGRpbmcteSxcbiAgICAgICRjcy1idG4tcGFkZGluZy14LFxuICAgICAgJGNzLWJ0bi1mb250LXNpemUsXG4gICAgICAkY3MtaW5wdXQtbGluZS1oZWlnaHQsXG4gICAgICAkY3MtYnRuLWJvcmRlci1yYWRpdXMsXG4gICAgICAkY3MtYnRuLWJvcmRlci13aWR0aCk7XG5cbiAgICAvLyBEZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICAgIEBpbmNsdWRlIGNzLWJ1dHRvbi12YXJpYW50KFxuICAgICAgJGNzLWJ0bi1jb2xvcixcbiAgICAgICRjcy1idG4tYmcsXG4gICAgICAkY3MtYnRuLWJvcmRlcixcbiAgICAgICRjcy1idG4taG92ZXItY29sb3IsXG4gICAgICAkY3MtYnRuLWhvdmVyLWJnLFxuICAgICAgJGNzLWJ0bi1ob3Zlci1ib3JkZXIpO1xuXG4gICAgQGluY2x1ZGUgY3MtdHJhbnNpdGlvbihhbGwgLjEyNXMgZWFzZS1pbi1vdXQpO1xuXG4gICAgQGluY2x1ZGUgY3MtaG92ZXItZm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6YWN0aXZlLFxuICAgICYuI3skY3MtbnN9YWN0aXZlIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgJi4jeyRjcy1uc31mb2N1cyxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGNzLXRhYi1mb2N1cygpO1xuICAgIH1cblxuICAgIC8vIGljb25zXG4gICAgJltjbGFzcyo9XCJpY29uLVwiXSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmW2NsYXNzKj1cImljb24tXCJdOjpiZWZvcmUsXG4gICAgJltjbGFzcyo9XCJpY29uLVwiXTo6YWZ0ZXIsXG4gICAgJltkYXRhLWljb25dIHtcbiAgICAgIEBpbmNsdWRlIGNzLXNwYWNlcihwYWRkaW5nLXJpZ2h0LCA0cHgpO1xuICAgICAgQGluY2x1ZGUgY3MtZm9udC1zaXplKDI0cHgsIDEpO1xuICAgICAgaGVpZ2h0OiBjcy1yZW0oMjRweCk7XG4gICAgICBtYXJnaW4tdG9wOiBjcy1yZW0oLTI0cHgpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgfVxuXG4gICAgJltkYXRhLWljb25dIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICB9XG5cbiAgICAvLyBhZGQgc3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnNcbiAgICAmICsgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBpbmNsdWRlIGNzLXNwYWNlcihtYXJnaW4tbGVmdCwgYmFzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2tcbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImJsb2NrXCIpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbiAgICAmICsgI3skc2VsZWN0b3J9IHtcbiAgICAgIG1hcmdpbi10b3A6IGNzLXJlbSgkY3MtYnRuLWJsb2NrLXNwYWNpbmcteSk7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBMYXJnZVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwibGdcIikge1xuICAgIEBpbmNsdWRlIGNzLWlucHV0LXNpemUoXG4gICAgICAkY3MtYnRuLXBhZGRpbmcteS1sZyxcbiAgICAgICRjcy1idG4tcGFkZGluZy14LWxnLFxuICAgICAgJGNzLWJ0bi1mb250LXNpemUtbGcsXG4gICAgICAkY3MtaW5wdXQtbGluZS1oZWlnaHQsXG4gICAgICAkY3MtYnRuLWJvcmRlci1yYWRpdXMtbGcsXG4gICAgICAkY3MtYnRuLWJvcmRlci13aWR0aCk7XG4gIH1cblxuICAvLyBTbWFsbFxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwic21cIikge1xuICAgIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoXCJtZFwiKSB7XG4gICAgICBAaW5jbHVkZSBjcy1pbnB1dC1zaXplKFxuICAgICAgICAkY3MtYnRuLXBhZGRpbmcteS1zbSxcbiAgICAgICAgJGNzLWJ0bi1wYWRkaW5nLXgtc20sXG4gICAgICAgICRjcy1idG4tZm9udC1zaXplLXNtLFxuICAgICAgICAkY3MtaW5wdXQtbGluZS1oZWlnaHQsXG4gICAgICAgICRjcy1idG4tYm9yZGVyLXJhZGl1cy1zbSxcbiAgICAgICAgJGNzLWJ0bi1ib3JkZXItd2lkdGgpO1xuXG4gICAgICAvLyBpY29uc1xuICAgICAgJltjbGFzcyo9XCJpY29uLVwiXTo6YmVmb3JlLFxuICAgICAgJiBbY2xhc3MqPVwiaWNvbi1cIl06OmJlZm9yZSxcbiAgICAgICYgW2RhdGEtaWNvbl0ge1xuICAgICAgICBAaW5jbHVkZSBjcy1mb250LXNpemUoMjBweCwgMSk7XG4gICAgICAgIGhlaWdodDogY3MtcmVtKDIwcHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiBjcy1yZW0oLTIwcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTElKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYXJpYW50c1xuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkY3MtYnRuLXZhcmlhbnRzLCAkbW9kaWZpZXIpIHtcbiAgICAkX2J0bjogbWFwLWdldCgkY3MtYnRuLXZhcmlhbnRzLCAkbW9kaWZpZXIpO1xuXG4gICAgQGluY2x1ZGUgY3MtYnV0dG9uLXZhcmlhbnQoXG4gICAgICBtYXAtZ2V0KCRfYnRuLCBcImNvbG9yXCIpLFxuICAgICAgbWFwLWdldCgkX2J0biwgXCJiZ1wiKSxcbiAgICAgIG1hcC1nZXQoJF9idG4sIFwiYm9yZGVyXCIpLFxuICAgICAgbWFwLWdldCgkX2J0biwgXCJob3Zlci1jb2xvclwiKSxcbiAgICAgIG1hcC1nZXQoJF9idG4sIFwiaG92ZXItYmdcIiksXG4gICAgICBtYXAtZ2V0KCRfYnRuLCBcImhvdmVyLWJvcmRlclwiKSk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuQG1peGluIGNzLWJ1dHRvbi12YXJpYW50KCRjb2xvcjogJGNzLWJ0bi1jb2xvciwgJGJnOiAkY3MtYnRuLWJnLCAkYm9yZGVyOiAkY3MtYnRuLWJvcmRlciwgJGhvdmVyLWNvbG9yOiAkY3MtYnRuLWhvdmVyLWNvbG9yLCAkaG92ZXItYmc6ICRjcy1idG4taG92ZXItYmcsICRob3Zlci1ib3JkZXI6ICRjcy1idG4taG92ZXItYm9yZGVyKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIEBpbmNsdWRlIGNzLWhvdmVyIHtcbiAgICBjb2xvcjogJGhvdmVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJi4jeyRjcy1uc31hY3RpdmUsXG4gIC4jeyRjcy1uc31vcGVuID4gJi4jeyRjcy1uc31kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAkaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWJvcmRlcjtcbiAgfVxuXG4gICYuI3skY3MtbnN9ZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogLjY7XG5cbiAgICBAaW5jbHVkZSBjcy1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy1idWlsZC1idXR0b25zKCRuYW1lOiAkY3MtYnV0dG9uLXNlbGVjdG9yLCAkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLWJ1dHRvbnMtbW9kaWZpZXJzKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtYnV0dG9uKCk7XG5cbiAgICAvLyBWYXJpYW50c1xuICAgIEBlYWNoICRtb2RpZmllciwgJGJ0biBpbiAkY3MtYnRuLXZhcmlhbnRzIHtcbiAgICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZCgkbW9kaWZpZXIsICRtb2RpZmllcnMpIHtcbiAgICAgICAgJi0tI3skbW9kaWZpZXJ9IHtcbiAgICAgICAgICBAaW5jbHVkZSBjcy1idXR0b24oJG1vZGlmaWVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpemVzXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwibGdcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tbGcge1xuICAgICAgICBAaW5jbHVkZSBjcy1idXR0b24oXCJsZ1wiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJzbVwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1zbSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWJ1dHRvbihcInNtXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGJ1dHRvblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImJsb2NrXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWJsb2NrIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtYnV0dG9uKFwiYmxvY2tcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3R5cG9ncmFwaHlcIjtcblxuLy8vL1xuLy8vLyBAZ3JvdXAgdXRpbGl0aWVzXG4vLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cbi8vIEZvcm1zXG5cbiRjcy1pbnB1dC1mb250LXNpemU6ICRjcy1mb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRjcy1pbnB1dC1mb250LXNpemUtc206IC44NzVyZW0gIWRlZmF1bHQ7XG4kY3MtaW5wdXQtZm9udC1zaXplLWxnOiAkY3MtZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kY3MtaW5wdXQtbGluZS1oZWlnaHQ6IDEuMTI1ICFkZWZhdWx0O1xuXG4kY3MtaW5wdXQtcGFkZGluZy14OiAxcmVtICFkZWZhdWx0O1xuJGNzLWlucHV0LXBhZGRpbmcteTogLjVyZW0gIWRlZmF1bHQ7XG5cbiRjcy1pbnB1dC1wYWRkaW5nLXgtc206IDFyZW0gIWRlZmF1bHQ7XG4kY3MtaW5wdXQtcGFkZGluZy15LXNtOiAuNDM3NXJlbSAhZGVmYXVsdDtcblxuJGNzLWlucHV0LXBhZGRpbmcteC1sZzogMXJlbSAhZGVmYXVsdDtcbiRjcy1pbnB1dC1wYWRkaW5nLXktbGc6IC42ODc1cmVtICFkZWZhdWx0O1xuXG4kY3MtaW5wdXQtYmc6ICRjcy1jb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRjcy1pbnB1dC1iZy1kaXNhYmxlZDogJGNzLWdyYXktZm9nICFkZWZhdWx0O1xuJGNzLWlucHV0LXNlbGVjdC1zaW5nbGUtYmc6ICRjcy1pbnB1dC1iZyB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMCA2Jz4lM0NnIGZpbGw9J25vbmUnJTNFJTNDZyBmaWxsPSclMjMzQTNBM0EnJTNFJTNDcG9seWdvbiB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtODMyIC01MzkpdHJhbnNsYXRlKDcyMyA1MjUpdHJhbnNsYXRlKDExNCAxNylzY2FsZSgxIC0xKXRyYW5zbGF0ZSgtMTE0IC0xNyknIHBvaW50cz0nMTE0IDE0IDExOSAyMCAxMDkgMjAnIGNsYXNzPSd1bmRlZmluZWQnLyUzRSUzQy9nJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpIG5vLXJlcGVhdCByaWdodCAuNzVyZW0gY2VudGVyICFkZWZhdWx0O1xuJGNzLWlucHV0LXNlbGVjdC1zaW5nbGUtYmctc2l6ZTogJGNzLXNwYWNlci10aW55ICRjcy1zcGFjZXItdGlueSAhZGVmYXVsdDtcblxuJGNzLWlucHV0LWNvbG9yOiAkY3MtYnJhbmQtYmxhY2sgIWRlZmF1bHQ7XG4kY3MtaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICRjcy1ncmF5LWlyb24gIWRlZmF1bHQ7XG4kY3MtaW5wdXQtY29sb3ItZGlzYWJsZWQ6ICRjcy1ncmF5LXNpbHZlciAhZGVmYXVsdDtcbiRjcy1pbnB1dC1jb2xvci1pbnZhbGlkOiAkY3MtY29sb3ItcmVkICFkZWZhdWx0O1xuJGNzLWlucHV0LWJvcmRlci1jb2xvcjogJGNzLWdyYXktc2lsdmVyICFkZWZhdWx0O1xuJGNzLWlucHV0LWJvcmRlci13aWR0aDogJGNzLWJvcmRlci13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnNcblxuJGNzLWlucHV0LWJvcmRlci1yYWRpdXM6ICRjcy1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNzLWlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICRjcy1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNzLWlucHV0LWJvcmRlci1yYWRpdXMtc206ICRjcy1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kY3MtaW5wdXQtYm9yZGVyLWZvY3VzOiAkY3MtYnJhbmQtYmxhY2sgIWRlZmF1bHQ7XG5cbi8vIENoZWNrYm94IGFuZCByYWRpbyBjb21tb24gc2V0dGluZ3MuXG4kY3MtaW5wdXQtY2hlY2stc2l6ZTogJGNzLXNwYWNlci1iYXNlICFkZWZhdWx0O1xuJGNzLWlucHV0LWNoZWNrLXNpemUtbGFyZ2U6ICRjcy1zcGFjZXItbWVkaXVtICFkZWZhdWx0O1xuJGNzLWlucHV0LWNoZWNrLWNoZWNrZWQtY29sb3I6ICRjcy1jb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRjcy1pbnB1dC1jaGVjay1jaGVja2VkLWJnOiAkY3MtYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRjcy1pbnB1dC1jaGVjay1ib3JkZXItY29sb3I6ICRjcy1icmFuZC1ibGFjayAhZGVmYXVsdDtcbiRjcy1pbnB1dC1jaGVjay1kaXMtYm9yZGVyLWNvbG9yOiAkY3MtZ3JheS1zaWx2ZXIgIWRlZmF1bHQ7XG4vLyBBcHJveCA0cHguXG4kY3MtaW5wdXQtY2hlY2staWNvbi1zcGFjZXI6ICRjcy1zcGFjZXItdGlueSAvIDIgIWRlZmF1bHQ7XG5cbi8vIENoZWNrYm94IHNwZWNpZmljIHNldHRpbmdzLlxuLy8gQXByb3ggMnB4O1xuJGNzLWlucHV0LWNoZWNrYm94LWJvcmRlci1yYWRpdXM6ICRjcy1zcGFjZXItdGlueSAvIDQgIWRlZmF1bHQ7XG4kY3MtaW5wdXQtY2hlY2tib3gtbWFyazogKFxuICB0b3A6IDNweCxcbiAgbGVmdDogMnB4LFxuICBmb250LXNpemU6IDEycHhcbikgIWRlZmF1bHQ7XG4kY3MtaW5wdXQtY2hlY2tib3gtbWFyay1sYXJnZTogKFxuICB0b3A6IDFweCxcbiAgbGVmdDogNHB4LFxuICBmb250LXNpemU6IDE2cHhcbikgIWRlZmF1bHQ7XG5cbi8vIFJhZGlvIHNwZWNpZmljIHNldHRpbmdzLlxuJGNzLWlucHV0LXJhZGlvLWJvcmRlci1yYWRpdXM6IDUwJSAhZGVmYXVsdDtcbiRjcy1pbnB1dC1yYWRpby1tYXJrOiAoXG4gIHRvcDogNHB4LFxuICBsZWZ0OiA0cHgsXG4gIGZvbnQtc2l6ZTogOHB4XG4pICFkZWZhdWx0O1xuJGNzLWlucHV0LXJhZGlvLW1hcmstbGFyZ2U6IChcbiAgdG9wOiA0cHgsXG4gIGxlZnQ6IDZweCxcbiAgZm9udC1zaXplOiAxMnB4XG4pICFkZWZhdWx0O1xuXG4kY3MtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb24gaWNvbnNcbi8vICRjcy1mb3JtLWljb24tc3VjY2VzczogJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0EyTVRJZ056a3lJajQ4Y0dGMGFDQm1hV3hzUFNJak5XTmlPRFZqSWlCa1BTSk5Nak16TGpnZ05qRXdZeTB4TXk0eklEQXRNall0Tmkwek5DMHhOaTQ0VERrd0xqVWdORFE0TGpoRE56WXVNeUEwTXpBZ09EQWdOREF6TGpNZ09UZ3VPQ0F6T0Rsak1UZ3VPQzB4TkM0eUlEUTFMalV0TVRBdU5DQTFPUzQ0SURndU5HdzNNaUE1TlV3ME5URXVNeUF5TkRKak1USXVOUzB5TUNBek9DNDRMVEkyTGpJZ05UZ3VPQzB4TXk0M0lESXdJREV5TGpRZ01qWWdNemd1TnlBeE15NDNJRFU0TGpoTU1qY3dJRFU1TUdNdE55NDBJREV5TFRJd0xqSWdNVGt1TkMwek5DNHpJREl3YUMweWVpSXZQand2YzNablBnPT0nICFkZWZhdWx0O1xuXG4vLyAkY3MtZm9ybS1pY29uLXdhcm5pbmc6ICdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBMk1USWdOemt5SWo0OGNHRjBhQ0JtYVd4c1BTSWpaakJoWkRSbElpQmtQU0pOTmpBeklEWTBNQzR5YkMweU56Z3VOUzAxTURsakxUTXVPQzAyTGpZdE1UQXVPQzB4TUM0MkxURTRMalV0TVRBdU5uTXRNVFF1TnlBMExURTRMalVnTVRBdU5rdzVJRFkwTUM0eVl5MHpMamNnTmk0MUxUTXVOaUF4TkM0MExqSWdNakF1T0NBekxqZ2dOaTQxSURFd0xqZ2dNVEF1TkNBeE9DNHpJREV3TGpSb05UVTNZemN1TmlBd0lERTBMall0TkNBeE9DNDBMVEV3TGpRZ015NDFMVFl1TkNBekxqWXRNVFF1TkNBd0xUSXdMamg2YlMweU5qWXVOQzB6TUdndE5qRXVNbFkxTkRsb05qRXVNblkyTVM0eWVtMHdMVEV3TjJndE5qRXVNbFl6TURSb05qRXVNbll4T1RsNklpOCtQQzl6ZG1jKycgIWRlZmF1bHQ7XG5cbi8vICRjcy1mb3JtLWljb24tZGFuZ2VyOiAnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqWkRrMU16Um1JaUJrUFNKTk5EUTNJRFUwTkM0MFl5MHhOQzQwSURFMExqUXRNemN1TmlBeE5DNDBMVFV5SURCc0xUZzVMVGt5TGpjdE9Ea2dPVEl1TjJNdE1UUXVOU0F4TkM0MExUTTNMamNnTVRRdU5DMDFNaUF3TFRFMExqUXRNVFF1TkMweE5DNDBMVE0zTGpZZ01DMDFNbXc1TWk0MExUazJMak10T1RJdU5DMDVOaTR6WXkweE5DNDBMVEUwTGpRdE1UUXVOQzB6Tnk0MklEQXROVEp6TXpjdU5pMHhOQzR6SURVeUlEQnNPRGtnT1RJdU9DQTRPUzR5TFRreUxqZGpNVFF1TkMweE5DNDBJRE0zTGpZdE1UUXVOQ0ExTWlBd0lERTBMak1nTVRRdU5DQXhOQzR6SURNM0xqWWdNQ0ExTWt3ek5UUXVOaUF6T1Rac09USXVOQ0E1Tmk0MFl6RTBMalFnTVRRdU5DQXhOQzQwSURNM0xqWWdNQ0ExTW5vaUx6NDhMM04yWno0PScgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRjcy1idG4tZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG4kY3MtYnRuLWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpLCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSAhZGVmYXVsdDtcbiRjcy1idG4tYWN0aXZlLWJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpICFkZWZhdWx0O1xuXG4vLyBCdXR0b24gZGVmYXVsdFxuXG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1idG4tY29sb3I6ICRjcy1icmFuZC1ibGFjayAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWJ0bi1iZzogJGNzLWdyYXktZm9nICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtYnRuLWJvcmRlcjogJGNzLWdyYXktc2lsdmVyICFkZWZhdWx0O1xuLy8vIEB0eXBlIENvbG9yXG4kY3MtYnRuLWhvdmVyLWNvbG9yOiAkY3MtYnJhbmQtYmxhY2sgIWRlZmF1bHQ7XG4vLy8gQHR5cGUgQ29sb3JcbiRjcy1idG4taG92ZXItYmc6ICRjcy1ncmF5LXNpbHZlciAhZGVmYXVsdDtcbi8vLyBAdHlwZSBDb2xvclxuJGNzLWJ0bi1ob3Zlci1ib3JkZXI6ICRjcy1ncmF5LXNpbHZlciAhZGVmYXVsdDtcblxuLy8gQnV0dG9uIHZhcmlhbnRzXG4kY3MtYnRuLXZhcmlhbnRzLWRlZmF1bHQ6ICgpICFkZWZhdWx0O1xuXG4vLyBNZXJnZSBkZWZhdWx0cyB3aXRoIHBvc3NpYmxlIGN1c3RvbSB2YXJpYW50c1xuJGNzLWJ0bi12YXJpYW50czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJwcmltYXJ5XCI6IChcbiAgICAgIFwiY29sb3JcIjogJGNzLWNvbG9yLXdoaXRlLFxuICAgICAgXCJiZ1wiOiAkY3MtYnJhbmQtcHJpbWFyeSxcbiAgICAgIFwiYm9yZGVyXCI6ICRjcy1icmFuZC1wcmltYXJ5LFxuICAgICAgXCJob3Zlci1jb2xvclwiOiAkY3MtY29sb3Itd2hpdGUsXG4gICAgICBcImhvdmVyLWJnXCI6ICRjcy1jb2xvci1mb3Jlc3QsXG4gICAgICBcImhvdmVyLWJvcmRlclwiOiAkY3MtY29sb3ItZm9yZXN0XG4gICAgKSxcbiAgICBcInNlY29uZGFyeVwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRjcy1icmFuZC1wcmltYXJ5LFxuICAgICAgXCJiZ1wiOiAkY3MtY29sb3Itd2hpdGUsXG4gICAgICBcImJvcmRlclwiOiAkY3MtYnJhbmQtcHJpbWFyeSxcbiAgICAgIFwiaG92ZXItY29sb3JcIjogJGNzLWJyYW5kLWJsYWNrLFxuICAgICAgXCJob3Zlci1iZ1wiOiAkY3MtY29sb3Itd2hpdGUsXG4gICAgICBcImhvdmVyLWJvcmRlclwiOiAkY3MtYnJhbmQtYmxhY2tcbiAgICApLFxuICAgIFwiY3RhXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGNzLWNvbG9yLXdoaXRlLFxuICAgICAgXCJiZ1wiOiAkY3MtY29sb3ItYmx1ZSxcbiAgICAgIFwiYm9yZGVyXCI6ICRjcy1jb2xvci1ibHVlLFxuICAgICAgXCJob3Zlci1jb2xvclwiOiAkY3MtY29sb3Itd2hpdGUsXG4gICAgICBcImhvdmVyLWJnXCI6ICRjcy1jb2xvci1wZXJzaWFuLWJsdWUsXG4gICAgICBcImhvdmVyLWJvcmRlclwiOiAkY3MtY29sb3ItcGVyc2lhbi1ibHVlXG4gICAgKSxcbiAgICBcIm5ldXRyYWxcIjogKFxuICAgICAgXCJjb2xvclwiOiAkY3MtYnJhbmQtYmxhY2ssXG4gICAgICBcImJnXCI6ICRjcy1jb2xvci13aGl0ZSxcbiAgICAgIFwiYm9yZGVyXCI6ICRjcy1icmFuZC1ibGFjayxcbiAgICAgIFwiaG92ZXItY29sb3JcIjogJGNzLWJyYW5kLXByaW1hcnksXG4gICAgICBcImhvdmVyLWJnXCI6ICRjcy1jb2xvci13aGl0ZSxcbiAgICAgIFwiaG92ZXItYm9yZGVyXCI6ICRjcy1icmFuZC1wcmltYXJ5XG4gICAgKSxcbiAgICBcInJldmVyc2VcIjogKFxuICAgICAgXCJjb2xvclwiOiAkY3MtY29sb3Itd2hpdGUsXG4gICAgICBcImJnXCI6IHRyYW5zcGFyZW50LFxuICAgICAgXCJib3JkZXJcIjogJGNzLWNvbG9yLXdoaXRlLFxuICAgICAgXCJob3Zlci1jb2xvclwiOiAkY3MtZ3JheS1zdGVlbCxcbiAgICAgIFwiaG92ZXItYmdcIjogdHJhbnNwYXJlbnQsXG4gICAgICBcImhvdmVyLWJvcmRlclwiOiAkY3MtZ3JheS1zdGVlbFxuICAgIClcbiAgKSxcbiAgJGNzLWJ0bi12YXJpYW50cy1kZWZhdWx0XG4pICFkZWZhdWx0O1xuXG5cbiRjcy1idG4tbGluay1kaXNhYmxlZC1jb2xvcjogJGNzLWdyYXktaXJvbiAhZGVmYXVsdDtcblxuXG4kY3MtYnRuLWZvbnQtc2l6ZTogJGNzLWZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGNzLWJ0bi1mb250LXNpemUtc206IC0xICFkZWZhdWx0O1xuJGNzLWJ0bi1mb250LXNpemUtbGc6ICRjcy1mb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGNzLWJ0bi1ib3JkZXItd2lkdGg6ICRjcy1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRjcy1idG4tcGFkZGluZy14OiAxcmVtICFkZWZhdWx0O1xuJGNzLWJ0bi1wYWRkaW5nLXk6IC41cmVtICFkZWZhdWx0O1xuXG4kY3MtYnRuLXBhZGRpbmcteC1zbTogMXJlbSAhZGVmYXVsdDtcbiRjcy1idG4tcGFkZGluZy15LXNtOiAuNDM3NXJlbSAhZGVmYXVsdDtcblxuJGNzLWJ0bi1wYWRkaW5nLXgtbGc6IDFyZW0gIWRlZmF1bHQ7XG4kY3MtYnRuLXBhZGRpbmcteS1sZzogLjY4NzVyZW0gIWRlZmF1bHQ7XG5cbiRjcy1idG4tYmxvY2stc3BhY2luZy15OiAuNXJlbSAhZGVmYXVsdDtcbiRjcy1idG4tdG9vbGJhci1tYXJnaW46IC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kY3MtYnRuLWJvcmRlci1yYWRpdXM6ICRjcy1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNzLWJ0bi1ib3JkZXItcmFkaXVzLXNtOiAkY3MtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjcy1idG4tYm9yZGVyLXJhZGl1cy1sZzogJGNzLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0IFwiLi9ib3JkZXJSYWRpdXNcIjtcblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuQG1peGluIGNzLWlucHV0LXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cywgJGJvcmRlci13aWR0aCkge1xuICBwYWRkaW5nOiBjcy1yZW0oJHBhZGRpbmcteSAkcGFkZGluZy14KTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiBjcy1yZW0oJGJvcmRlci13aWR0aCk7XG4gIC8vIG92ZXJyaWRlIGRlZmF1bHQgbGluZS1oZWlnaHRcbiAgQGluY2x1ZGUgY3MtZm9udC1zaXplKCRmb250LXNpemUsICRsaW5lLWhlaWdodCk7XG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGBzZWxlY3RgcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGNzLWJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xufVxuIiwiLy8vL1xuLy8vIEdsb2JhbCB2YXJpYWJsZXNcbi8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy5nbG9iYWxzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLyBDb21wb25lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuLy8vIEB0eXBlIE51bWJlclxuJGNzLWJvcmRlci1yYWRpdXM6IC4yNXJlbSAhZGVmYXVsdDtcbi8vLyBAdHlwZSBOdW1iZXJcbiRjcy1ib3JkZXItcmFkaXVzLWxnOiAuM3JlbSAhZGVmYXVsdDtcbi8vLyBAdHlwZSBOdW1iZXJcbiRjcy1ib3JkZXItcmFkaXVzLXNtOiAuMnJlbSAhZGVmYXVsdDtcbi8vLyBAdHlwZSBOdW1iZXJcbiRjcy1ib3JkZXItd2lkdGg6IC4wNjI1cmVtICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG5cbi8vLyBEZWZpbmVzIHRoZSBiYXNlIHNwYWNpbmcgdmFsdWUuIGAxcmVtYCBpcyByZWxhdGl2ZSB0byBwaXhlbCB2YWx1ZSBzZXQgYnkgYCRjcy1mb250LXNpemUtcm9vdGAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY3Mtc3BhY2VyLWJhc2U6IDFyZW0gIWRlZmF1bHQ7IC8vIDE2cHhcblxuLy8vIERlZmluZXMgdGhlIHRpbnkgc3BhY2luZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjcy1zcGFjZXItdGlueTogKCRjcy1zcGFjZXItYmFzZSAqIC41KSAhZGVmYXVsdDsgLy8gOHB4IHwgLjVyZW1cblxuLy8vIERlZmluZXMgdGhlIG1lZGl1bSBzcGFjaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNzLXNwYWNlci1tZWRpdW06ICgkY3Mtc3BhY2VyLWJhc2UgKiAxLjUpICFkZWZhdWx0OyAvLyAyNHB4IHwgMS41cmVtXG5cbi8vLyBEZWZpbmVzIHRoZSBsYXJnZSBzcGFjaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNzLXNwYWNlci1sYXJnZTogKCRjcy1zcGFjZXItYmFzZSAqIDIpICFkZWZhdWx0OyAvLyAzMnB4IHwgMnJlbVxuXG4vLy8gRGVmaW5lcyB0aGUgeGxhcmdlIHNwYWNpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY3Mtc3BhY2VyLXhsYXJnZTogKCRjcy1zcGFjZXItYmFzZSAqIDMpICFkZWZhdWx0OyAvLyA0OHB4IHwgM3JlbVxuXG4vLy8gRGVmaW5lcyB0aGUgaHVnZSBzcGFjaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNzLXNwYWNlci1odWdlOiAoJGNzLXNwYWNlci1iYXNlICogNCkgIWRlZmF1bHQ7IC8vIDY0cHggfCA0cmVtXG5cbi8vLyBNYXAgb2Ygc3BhY2luZ3MgdG8gZ2VuZXJhdGUgc3BhY2VyIGNsYXNzbmFtZXMuXG4vLy8gQHR5cGUgTWFwXG4kY3Mtc3BhY2VyczogKFxuICBiYXNlOiAkY3Mtc3BhY2VyLWJhc2UsXG4gIHRpbnk6ICRjcy1zcGFjZXItdGlueSxcbiAgbWVkaXVtOiAkY3Mtc3BhY2VyLW1lZGl1bSxcbiAgbGFyZ2U6ICRjcy1zcGFjZXItbGFyZ2UsXG4gIHhsYXJnZTogJGNzLXNwYWNlci14bGFyZ2UsXG4gIGh1Z2U6ICRjcy1zcGFjZXItaHVnZSxcbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8vIEBncm91cCB1dGlsaXRpZXNcbi8vLy8gQHBhcmFtIHtsZW5ndGh9ICRyYWRpdXMgWyRib3JkZXItcmFkaXVzXVxuLy8vL1xuXG4vLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuQG1peGluIGNzLWJvcmRlci1yYWRpdXMoJHJhZGl1czogJGNzLWJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRjcy1lbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogY3MtcmVtKCRyYWRpdXMpO1xuICB9XG59XG5cbi8vLyBUb3Agc2lkZSBvbmx5IGJvcmRlci1yYWRpdXNcbkBtaXhpbiBjcy1ib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzOiAkY3MtYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGNzLWVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjcy1yZW0oJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNzLXJlbSgkcmFkaXVzKTtcbiAgfVxufVxuXG4vLy8gUmlnaHQgc2lkZSBvbmx5IGJvcmRlci1yYWRpdXNcbkBtaXhpbiBjcy1ib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXM6ICRjcy1ib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkY3MtZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjcy1yZW0oJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNzLXJlbSgkcmFkaXVzKTtcbiAgfVxufVxuXG4vLy8gQm90dG9tIHNpZGUgb25seSBib3JkZXItcmFkaXVzXG5AbWl4aW4gY3MtYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGNzLWJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRjcy1lbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNzLXJlbSgkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjcy1yZW0oJHJhZGl1cyk7XG4gIH1cbn1cblxuLy8vIExlZnQgc2lkZSBvbmx5IGJvcmRlci1yYWRpdXNcbkBtaXhpbiBjcy1ib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1czogJGNzLWJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRjcy1lbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY3MtcmVtKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNzLXJlbSgkcmFkaXVzKTtcbiAgfVxufVxuIiwiLy9cbi8vIENTRSBTdHlsZUtpdFxuLy9cbi8vIE92ZXJyaWRlIFNldHRpbmdzXG4vL1xuXG5AaW1wb3J0IFwiY3Mtc3R5bGVraXQvc3JjL3Njc3Mvc2V0dGluZ3Mvc2V0dGluZ3NcIjsgLy8gaW1wb3J0IGZpcnN0XG5AaW1wb3J0IFwiY3Mtc3R5bGVraXQvc3JjL3Njc3MvbWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcImNzLXN0eWxla2l0L3NyYy9zY3NzL2Z1bmN0aW9ucy9mdW5jdGlvbnNcIjtcblxuXG4vLyBMZXRcInMgZG8gc29tZSBjdXN0b21pemF0aW9uc1xuLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNzLWJ0bi1ib3JkZXItcmFkaXVzOiAkY3MtYnRuLWZvbnQtc2l6ZSArICgkY3MtYnRuLXBhZGRpbmcteSAqIDIpICsgKCRjcy1idG4tYm9yZGVyLXdpZHRoICogMik7XG4kY3MtYnRuLWJvcmRlci1yYWRpdXMtbGc6ICRjcy1idG4tZm9udC1zaXplICsgKCRjcy1idG4tcGFkZGluZy15LWxnICogMikgKyAoJGNzLWJ0bi1ib3JkZXItd2lkdGggKiAyKTtcbiRjcy1idG4tYm9yZGVyLXJhZGl1cy1zbTogJGNzLWJ0bi1mb250LXNpemUgKyAoJGNzLWJ0bi1wYWRkaW5nLXktc20gKiAyKSArICgkY3MtYnRuLWJvcmRlci13aWR0aCAqIDIpO1xuLy8gc3R5bGVsaW50LWVuYWJsZVxuXG5AaW1wb3J0IFwiY3Mtc3R5bGVraXQvc3JjL3Njc3MvdXRpbGl0aWVzL3V0aWxpdGllc1wiO1xuQGltcG9ydCBcImNzLXN0eWxla2l0L3NyYy9zY3NzL2F0b21zL2F0b21zXCI7XG5AaW1wb3J0IFwiY3Mtc3R5bGVraXQvc3JjL3Njc3MvbW9sZWN1bGVzL21vbGVjdWxlc1wiO1xuQGltcG9ydCBcImNzLXN0eWxla2l0L3NyYy9zY3NzL2xheW91dHMvbGF5b3V0c1wiO1xuXG5AaW1wb3J0IFwic2V0dGluZ3Mvc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJhdG9tcy9hdG9tc1wiO1xuQGltcG9ydCBcIm1vbGVjdWxlcy9tb2xlY3VsZXNcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMvb3JnYW5pc21zXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL3RlbXBsYXRlc1wiOyIsIi8vLyBAZ3JvdXAgdXRpbGl0aWVzXG5AbWl4aW4gY3MtdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgJGNzLWVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIH1cbn1cblxuQG1peGluIGNzLW1ha2UtdHJhbnNpdGlvbigkdmFyaWFudDogXCJcIikge1xuICBAaWYgJHZhcmlhbnQgPT0gXCJmYWRlXCIge1xuICAgICYge1xuICAgICAgQGluY2x1ZGUgY3MtdHJhbnNpdGlvbihvcGFjaXR5IDE1MG1zIGxpbmVhcik7XG5cbiAgICAgICYuI3skY3MtbnN9ZmFkZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHZhcmlhbnQgPT0gXCJjb2xsYXBzZVwiIHtcbiAgICAmLiN7JGNzLW5zfWNvbGxhcHNlIHtcbiAgICAgICY6bm90KC4jeyRjcy1uc31zaG93KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi4jeyRjcy1uc31jb2xsYXBzaW5nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSBjcy10cmFuc2l0aW9uKGhlaWdodCAuMzVzIGVhc2UpO1xuICAgIH1cbiAgfVxuXG4gIEBjb250ZW50O1xufVxuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL2ZvY3VzXCI7XG5AaW1wb3J0IFwiLi4vdXRpbGl0aWVzL3NoYWRvd3MubWl4aW5cIjtcblxuLy9cbi8vIFByb3ZpZGVzIGZvY3VzIHN0YXRlIHVzaW5nIHNoYWRvdyBhbmQgYm9yZGVyLlxuLy9cbi8vIFRoaXMgc2hvdWxkIGJlIHRoZSBwcmVmZXJyZWQgb3B0aW9uIHRvIGFkZCBmb2N1cyBzdGF0ZSBzdHlsZXMgdG8gYW4gZWxlbWVudFxuLy8gYnV0IG1pZ2h0IG5vdCBiZSBhcHBsaWNhYmxlIHRvIGVsZW1lbnRzIHRoYXQgZG9udCB1c2UgYm9yZGVyIGxpa2UgbGlua3MuXG4vL1xuQG1peGluIGNzLXRhYi1mb2N1cygpIHtcbiAgQGluY2x1ZGUgY3Mtc2hhZG93KFwiZm9jdXNcIik7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjcy1mb2N1cy1jb2xvcjtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLy9cbi8vIFByb3ZpZGVzIGZvY3VzIHN0YXRlIHVzaW5nIG91dGxpbmUuXG4vL1xuQG1peGluIGNzLXRhYi1mb2N1cy1vdXRsaW5lKCkge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICBvdXRsaW5lLWNvbG9yOiAkY3MtZm9jdXMtY29sb3Itb3V0bGluZTtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuXG4vL1xuLy8gU2V0dGluZ3Ncbi8vXG5cbiRjcy1jbG9zZS1pY29uOiBjcy1pY29uLXZhbHVlKFwiY2xvc2VcIikgIWRlZmF1bHQ7XG4kY3MtY2xvc2Utc2VsZWN0b3I6IFwiY2xvc2VcIiAhZGVmYXVsdDtcblxuLy9cbi8vIEJsb2NrIG1peGluXG4vL1xuXG5AbWl4aW4gY3MtY2xvc2UoKSB7XG4gIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgxNnB4LCAxKTtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBvcGFjaXR5OiAuNzU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cbiAgQGluY2x1ZGUgY3MtaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3MtY2xvc2UtaWNvbjtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQ2xvc2UgaWNvbiBtaXhpblxuLy9cblxuQG1peGluIGNzLWNsb3NlLWljb24oKSB7XG4gIGZvbnQtZmFtaWx5OiBjcy1nbG9iYWwtaWNvbnMsIHNhbnMtc2VyaWY7XG4gIGNvbnRlbnQ6ICRjcy1jbG9zZS1pY29uO1xufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy1idWlsZC1jbG9zZSgkbmFtZTogJGNzLWNsb3NlLXNlbGVjdG9yKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtY2xvc2UoKTtcblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJcbi8vIEltcG9ydCBkaWZmZXJlbnQgZ3JvdXAgbWl4aW5zIHRvIGdldCBpY29uIG1hcHMgd2l0aCBhdmFpbGFibGUgaWNvbnMuXG5AaW1wb3J0IFwiY3MtaWNvbnMvc3JjL3Njc3MvY29uc3VtZXIvY29uc3VtZXIubWl4aW5cIjtcbkBpbXBvcnQgXCJjcy1pY29ucy9zcmMvc2Nzcy9lZHVjYXRpb24vZWR1Y2F0aW9uLm1peGluXCI7XG5AaW1wb3J0IFwiY3MtaWNvbnMvc3JjL3Njc3MvZ2xvYmFsL2dsb2JhbC5taXhpblwiO1xuQGltcG9ydCBcImNzLWljb25zL3NyYy9zY3NzL2tpZHMtYWN0aW9uL2tpZHMtYWN0aW9uLm1peGluXCI7XG5AaW1wb3J0IFwiY3MtaWNvbnMvc3JjL3Njc3MvcHJpdmFjeS9wcml2YWN5Lm1peGluXCI7XG5cbiRjcy1pY29uLWNvbnN1bWVyLWZvbnQtZmFtaWx5OiAkY3MtY29uc3VtZXItZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3MtaWNvbi1lZHVjYXRpb24tZm9udC1mYW1pbHk6ICRjcy1lZHVjYXRpb24tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3MtaWNvbi1nbG9iYWwtZm9udC1mYW1pbHk6ICRjcy1nbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3MtaWNvbi1raWRzLWFjdGlvbi1mb250LWZhbWlseTogJGNzLWtpZHMtYWN0aW9uLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGNzLWljb24tcHJpdmFjeS1mb250LWZhbWlseTogJGNzLXByaXZhY3ktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vXG5cbi8vIFdyYXBwaW5nIGZ1bmN0aW9uIGFycm91bmQgY3MtaWNvbnMgbWFwIHNldHRpbmdzLlxuLy9cbi8vIEFic3RyYWN0cyB0aGUgdXNhZ2Ugb2YgY3MtaWNvbnMuIEluc3RlYWQgb2YgZGlyZWN0bHkgdXNlIHRoZSBpY29uIGNvZGUgdmFsdWVcbi8vIHRoaXMgYWxsb3dzIHRvIHVzZSB0aGUgaWNvbiBuYW1lIGRlY2xhcmVkIGluIHRoZSBjcy1pY29ucyBtYXBzLlxuLy8gVGhpcyB3YXkgZnV0dXJlIGljb24gYWRkL3JlbW92YWwgZnJvbSBjcy1pY29ucyBzaG91bGQgbm90IGltcGFjdCBraXQgY29kZS5cbi8vIEFkZGVkIGl0IGhlcmUgYmVjdWFzZSB0aGlzIGlzIGEgd3JhcHBlciB0byBhY3R1YWxseSBwcm92aWRlIGEgc2V0dGluZy5cbi8vXG5AZnVuY3Rpb24gY3MtaWNvbi12YWx1ZSgkaWNvbi1uYW1lLCAkZ3JvdXA6IFwiZ2xvYmFsXCIpIHtcbiAgLy8gQmFzZWQgb24gZ3JvdXAsIGdldCB0aGUgcmlnaHQgaWNvbiBtYXAuXG4gICRpY29uLW1hcDogKCk7XG4gIEBpZiAoJGdyb3VwID09IFwiZ2xvYmFsXCIpIHtcbiAgICAkaWNvbi1tYXA6ICRjcy1pY29uLWdsb2JhbC1nbHlwaHMtbWFwO1xuICB9XG4gIEBlbHNlIGlmICgkZ3JvdXAgPT0gXCJjc2VcIikge1xuICAgICRpY29uLW1hcDogJGNzLWljb24tZWR1Y2F0aW9uLWdseXBocy1tYXA7XG4gIH1cbiAgQGVsc2UgaWYgKCRncm91cCA9PSBcImNzbVwiKSB7XG4gICAgJGljb24tbWFwOiAkY3MtaWNvbi1jb25zdW1lci1nbHlwaHMtbWFwO1xuICB9XG4gIEBlbHNlIGlmICgkZ3JvdXAgPT0gXCJjc2thXCIpIHtcbiAgICAkaWNvbi1tYXA6ICRjcy1pY29uLWtpZHMtYWN0aW9uLWdseXBocy1tYXA7XG4gIH1cbiAgQGVsc2UgaWYgKCRncm91cCA9PSBcInByaXZhY3lcIikge1xuICAgICRpY29uLW1hcDogJGNzLWljb24tcHJpdmFjeS1nbHlwaHMtbWFwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIGljb24gZ3JvdXA6ICN7JGdyb3VwfVwiO1xuICB9XG5cbiAgLy8gVXNpbmcgaWNvbiBuYW1lIGFuZCBtYXAgZ2V0IHRoZSBpY29uIGNvZGUgdmFsdWUuXG4gICRpY29uLXZhbHVlOiBtYXAtZ2V0KCRpY29uLW1hcCwgJGljb24tbmFtZSk7XG4gIEBpZiAoJGljb24tdmFsdWUpIHtcbiAgICAkY29udGVudC12YWx1ZTogdW5xdW90ZShcIlxcXCJcIikgKyB1bnF1b3RlKHN0ci1pbnNlcnQoJGljb24tdmFsdWUsIFwiXFxcXFwiLCAxKSkgKyB1bnF1b3RlKFwiXFxcIlwiKTtcbiAgICBAcmV0dXJuICRjb250ZW50LXZhbHVlO1xuICB9XG5cbiAgQGVycm9yIFwiSWNvbiBmb3IgZ3JvdXAgI3skZ3JvdXB9IG5vdCBmb3VuZDogI3skaWNvbi1uYW1lfVwiO1xufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3NldHRpbmdzXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL2NvbXBvbmVudHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvc3BhY2luZ1wiO1xuXG4vL1xuLy8gU2V0dGluZ3Ncbi8vXG5cbiRjcy1kaXZpZGVyLXNlbGVjdG9yOiBcImRpdmlkZXJcIiAhZGVmYXVsdDtcblxuLy9cbi8vIEJsb2NrIG1peGluXG4vL1xuXG5AbWl4aW4gY3MtZGl2aWRlcigkbW9kaWZpZXI6IG51bGwpIHtcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgICY6ZW1wdHkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNzLWdyYXktc2lsdmVyO1xuICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgICBAaW5jbHVkZSBjcy1zcGFjZXIobWFyZ2luLXRvcCwgbWVkaXVtKTtcbiAgICAgIEBpbmNsdWRlIGNzLXNwYWNlcihtYXJnaW4tYm90dG9tLCBtZWRpdW0pO1xuICAgIH1cblxuICAgICY6bm90KDplbXB0eSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBjcy1zcGFjZXIobWFyZ2luLXRvcCwgbWVkaXVtKTtcbiAgICAgIEBpbmNsdWRlIGNzLXNwYWNlcihtYXJnaW4tYm90dG9tLCBtZWRpdW0pO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY3MtZ3JheS1zaWx2ZXI7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLXNwYWNlcihtYXJnaW4tcmlnaHQsIGJhc2UpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzLXNwYWNlcihtYXJnaW4tbGVmdCwgYmFzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImhlYXZ5XCIpIHtcbiAgICAmOmVtcHR5IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjcy1icmFuZC1wcmltYXJ5O1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMnB4O1xuICAgIH1cblxuICAgICY6bm90KDplbXB0eSkge1xuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY3MtYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5cbi8vXG5AbWl4aW4gY3MtYnVpbGQtZGl2aWRlcnMoJG5hbWU6ICRjcy1kaXZpZGVyLXNlbGVjdG9yLCAkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLWRpdmlkZXJzLW1vZGlmaWVycykge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLWRpdmlkZXIoKTtcblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImhlYXZ5XCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWhlYXZ5IHtcbiAgICAgICAgQGluY2x1ZGUgY3MtZGl2aWRlcihcImhlYXZ5XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuXG4vL1xuLy8gU2V0dGluZ3Ncbi8vXG5cbiRjcy1mb3JtLWNvbnRyb2wtc2VsZWN0b3I6IFwiZm9ybS1jb250cm9sXCIgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIE1peGluc1xuLy9cblxuLy9cbi8vIE1haW4gYmxvY2sgbWl4aW4gdG8gY3JlYXRlIGlucHV0IGZvcm0gY29udHJvbHMuXG4vL1xuLy8gVGhpcyBwcm92aWRlcyBiYXNlIHN0eWxlcyBmb3IgZm9ybSBjb250cm9scyBhbmQgaXMgcHJpbWFyeSBpbnRlbmRlZCB0b1xuLy8gc3R5bGUgc2ltcGxlIGlucHV0IGVsZW1lbnRzIGJ1dCBjYW4gYWxzbyBiZSB1c2VkIGFzIGEgYmFzZSBmb3Igb3RoZXJcbi8vIGZvcm0gY29udHJvbHMgbGlrZSBzZWxlY3RzLlxuLy8gVGhpcyBhbHNvIHN0eWxlcyB0ZXh0YXJlYSBmb3JtIGNvbnRyb2xzIHNpbmNlIHRoZXJlIGlzIG5vdCBkaWZmIHdpdGggaW5wdXQuXG4vL1xuQG1peGluIGNzLWZvcm0tY29udHJvbCgkbW9kaWZpZXI6IG51bGwpIHtcbiAgQGlmIChub3QgJG1vZGlmaWVyKSB7XG4gICAgQGluY2x1ZGUgY3MtaW5wdXQtc2l6ZShcbiAgICAgICRjcy1pbnB1dC1wYWRkaW5nLXksXG4gICAgICAkY3MtaW5wdXQtcGFkZGluZy14LFxuICAgICAgJGNzLWlucHV0LWZvbnQtc2l6ZSxcbiAgICAgICRjcy1pbnB1dC1saW5lLWhlaWdodCxcbiAgICAgICRjcy1pbnB1dC1ib3JkZXItcmFkaXVzLFxuICAgICAgJGNzLWlucHV0LWJvcmRlci13aWR0aFxuICAgICk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogJGNzLWlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1pbnB1dC1iZztcbiAgICAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlLlxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTQuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlci1jb2xvcjogJGNzLWlucHV0LWJvcmRlci1jb2xvcjtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkY3MtaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNzLWlucHV0LWJvcmRlci1mb2N1cztcbiAgICB9XG5cbiAgICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBjcy10YWItZm9jdXM7XG4gICAgfVxuXG4gICAgLy8gUmVhZC1vbmx5LlxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1pbnB1dC1iZy1kaXNhYmxlZDtcbiAgICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudC5cbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQuIFRoaXMgcHJvdmlkZXMgbGlrZSBhIG5hdGl2ZSBkaXNhYmxlZCBzdXBwb3J0LlxuICAgIC8vXG4gICAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgICAvLyBkaXNhYmxlZCBpZiBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gICAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgX2NzLWZvcm0tY29udHJvbC1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBJbnZhbGlkL2Vycm9yIHN0eWxlcy4gV29yayBpbiBjb21iaW5hdGlvbiB3aXRoIGZlZWRiYWNrIGFuZCBoZWxwLlxuICAgIC8vIFRoaXMgY2FuIG5vdCBiZSBhcHBsaWVkIHRvIDppbnZhbGlkIHNlbGVjdG9yIGJlY2F1c2Ugd291bGQgc2hvd1xuICAgIC8vIGVycm9ycyBiZWZvcmUgaGFuZC5cbiAgICAmLmVycm9yIHtcbiAgICAgIEBpbmNsdWRlIF9jcy1mb3JtLWNvbnRyb2wtaW52YWxpZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIHN0eWxlcyBmb3IgdGhlIHNlbGVjdCBlbGVtZW50LiBEZWZhdWx0IHRvIFwic2VsZWN0LmZvcm0tY29udHJvbFwiLlxuICAgIEBpbmNsdWRlIF9jcy1mb3JtLWNvbnRyb2wtc2VsZWN0KCk7XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcInNtXCIpIHtcbiAgICBAaW5jbHVkZSBjcy1pbnB1dC1zaXplKFxuICAgICAgJGNzLWlucHV0LXBhZGRpbmcteS1zbSxcbiAgICAgICRjcy1pbnB1dC1wYWRkaW5nLXgtc20sXG4gICAgICAkY3MtaW5wdXQtZm9udC1zaXplLXNtLFxuICAgICAgJGNzLWlucHV0LWxpbmUtaGVpZ2h0LFxuICAgICAgJGNzLWlucHV0LWJvcmRlci1yYWRpdXMtc20sXG4gICAgICAkY3MtaW5wdXQtYm9yZGVyLXdpZHRoXG4gICAgKTtcbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwibGdcIikge1xuICAgIEBpbmNsdWRlIGNzLWlucHV0LXNpemUoXG4gICAgICAkY3MtaW5wdXQtcGFkZGluZy15LWxnLFxuICAgICAgJGNzLWlucHV0LXBhZGRpbmcteC1sZyxcbiAgICAgICRjcy1pbnB1dC1mb250LXNpemUtbGcsXG4gICAgICAkY3MtaW5wdXQtbGluZS1oZWlnaHQsXG4gICAgICAkY3MtaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyxcbiAgICAgICRjcy1pbnB1dC1ib3JkZXItd2lkdGhcbiAgICApO1xuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJkaXNhYmxlZFwiKSB7XG4gICAgQGluY2x1ZGUgX2NzLWZvcm0tY29udHJvbC1kaXNhYmxlZCgpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gUHJvdmlkZXMgc3R5bGVzIGZvciB0aGUgXCJzZWxlY3RcIiBmb3JtLWNvbnRyb2wuXG4vL1xuQG1peGluIF9jcy1mb3JtLWNvbnRyb2wtc2VsZWN0KCkge1xuICAkc2VsZWN0b3I6IGNzLXNlbGVjdG9yKCk7XG5cbiAgLy8gQ2hlY2sgZm9yIG5vbiB2YWxpZCBzZWxlY3Qgc2VsZWN0b3JzLlxuICAvLyBTaW5jZSB0aGUgZm9ybS1jb250cm9sIGlzIGdvaW5nIHRvIGJlIGFwcGxpZWQgdG8gaW5wdXQsIHRleHRhcmVhIGFuZFxuICAvLyBzZWxlY3QsIGl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gYXBwbHkgc3BlY2lmaWMgc2VsZWN0IHN0eWxlcyB0b1xuICAvLyBpbnB1dCBhbmQgdGV4dGFyZWEgZWxlbWVudHMuXG4gICRub24tc2VsZWN0LWlucHV0LXR5cGU6IChcImlucHV0XCIsIFwidGV4dGFyZWFcIik7XG4gIEBpZiAoaW5kZXgoJG5vbi1zZWxlY3QtaW5wdXQtdHlwZSwgJHNlbGVjdG9yKSA9PSBudWxsKSB7XG4gICAgJHNlbGVjdC1zZWxlY3RvcjogXCJzZWxlY3RcIjtcblxuICAgIC8vIFNwZWNpYWwgY2FzZSB3aGVuIHRoZSBzZWxlY3RvciB3aGVyZSB0aGUgbWl4aW4gaXMgYmVpbmcgYXBwbGllZCBpc1xuICAgIC8vIGFuIGFjdHVhbCBcInNlbGVjdFwiIGVsZW1lbnQuIFRoaXMgcHJldmVudHMgXCJzZWxlY3RzZWxlY3RcIiBzZWxlY3Rvci5cbiAgICBAaWYgKCRzZWxlY3RvciA9PSBcInNlbGVjdFwiKSB7XG4gICAgICAkc2VsZWN0LXNlbGVjdG9yOiBcIlwiO1xuICAgIH1cblxuICAgIC8vIEFwcGVuZCB0byB0aGUgY3VycmVudCBzZWxlY3RvciB0aGUgXCJzZWxlY3RcIiBzZWxlY3Rvci5cbiAgICAvLyBCeSBkZWZhdWx0IHNob3VsZCBiZSBcInNlbGVjdC5mb3JtLWNvbnRyb2xcIi5cbiAgICBAaW5jbHVkZSBjcy1hdC1yb290KCRzZWxlY3Qtc2VsZWN0b3IsICRoYXMtc3BhY2U6IGZhbHNlKSB7XG4gICAgICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgc2VsZWN0YHMgaW4gSUUxMCsuXG4gICAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAgICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodFxuICAgICAgICAvLyBnaXZlbiB0byB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRleHQgd2hlbiB0aGUgKHN0aWxsIGNsb3NlZCkgPHNlbGVjdD5cbiAgICAgICAgLy8gcmVjZWl2ZXMgZm9jdXMgaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzXG4gICAgICAgIC8vIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5Mzk4LlxuICAgICAgICBjb2xvcjogJGNzLWlucHV0LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtaW5wdXQtYmc7XG4gICAgICB9XG5cbiAgICAgICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNzLWlucHV0LXNlbGVjdC1zaW5nbGUtYmc7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGNzLWlucHV0LXNlbGVjdC1zaW5nbGUtYmctc2l6ZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIFByb3ZpZGUgZGlzYWJsZWQgc3R5bGVzIGZvciBpbnB1dCBmb3JtIGNvbnRyb2xzLlxuLy9cbkBtaXhpbiBfY3MtZm9ybS1jb250cm9sLWRpc2FibGVkKCkge1xuICBjb2xvcjogJGNzLWlucHV0LWNvbG9yLWRpc2FibGVkO1xuICBjdXJzb3I6ICRjcy1jdXJzb3ItZGlzYWJsZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjcy1pbnB1dC1iZy1kaXNhYmxlZDtcbiAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50LlxuICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgYm9yZGVyLWNvbG9yOiAkY3MtZ3JheS1zaWx2ZXI7XG4gIG9wYWNpdHk6IDE7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY3MtaW5wdXQtY29sb3ItZGlzYWJsZWQ7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIFByb3ZpZGUgc3R5bGVzIGZvciBpbnZhbGlkIGlucHV0IGZvcm0gY29udHJvbHMuXG4vL1xuQG1peGluIF9jcy1mb3JtLWNvbnRyb2wtaW52YWxpZCgpIHtcbiAgYm9yZGVyLWNvbG9yOiAkY3MtaW5wdXQtY29sb3ItaW52YWxpZDtcblxuICAvLyBTaG93IGEgc2libGluZyBpbnZhbGlkIGZlZWRiYWNrIG1lc3NhZ2UuXG4gICYgfiAuI3skY3MtbnN9Zm9ybS1mZWVkYmFjay0taW52YWxpZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAvLyBIaWRlIGEgc2libGluZyBoZWxwIHRleHQuXG4gICAgJiB+IC4jeyRjcy1uc31mb3JtLWhlbHAge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIEJ1aWxkIG1peGluLlxuLy9cbkBtaXhpbiBjcy1idWlsZC1mb3JtLWNvbnRyb2woJG5hbWU6ICRjcy1mb3JtLWNvbnRyb2wtc2VsZWN0b3IsICRtb2RpZmllcnM6ICRjcy1lbmFibGUtZm9ybS1jb250cm9sLW1vZGlmaWVycykge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLWZvcm0tY29udHJvbDtcblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcInNtXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLXNtIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtZm9ybS1jb250cm9sKFwic21cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwibGdcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tbGcge1xuICAgICAgICBAaW5jbHVkZSBjcy1mb3JtLWNvbnRyb2woXCJsZ1wiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJkaXNhYmxlZFwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWZvcm0tY29udHJvbChcImRpc2FibGVkXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zdHJpbmdcIjtcblxuLy8gRXh0cmFjdHMgdGhlIGxhc3Qgc2VsZWN0b3IgZnJvbSBBbXBlcnNhbmQgKCYpIGxpc3QuXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vIEBleGFtcGxlXG4vLy8gICBAbWl4aW4gY3MtY29tcG9uZW50KCkge1xuLy8vICAgICAkc2VsZWN0b3I6IGNzLXNlbGVjdG9yKCk7XG4vLy8gICAgICYgKyAkc2VsZWN0b3IgeyAuLi4gfVxuLy8vICAgfVxuLy8vIEBvdXRwdXQge1N0cmluZ30gJ3NlbGVjdG9yJ1xuQGZ1bmN0aW9uIGNzLXNlbGVjdG9yKCkge1xuICAkc3RyOiBjcy1zdHItc3BsaXQocXVvdGUobnRoKCYsIGxlbmd0aCgmKSkpLCBcIiBcIik7XG4gIEByZXR1cm4gbnRoKCRzdHIsIGxlbmd0aCgkc3RyKSk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwYXJlbnQgc2VsZWN0b3JzIGZyb20gQW1wZXJzYW5kICgmKSBsaXN0XG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vIEBleGFtcGxlXG4vLy8gICBAbWl4aW4gY3MtY29tcG9uZW50KCkge1xuLy8vICAgICAkc2VsZWN0b3I6IGNzLXBhcmVudC1zZWxlY3RvcigpO1xuLy8vICAgICAkc2VsZWN0b3IgeyAuLi4gfVxuLy8vICAgfVxuLy8vIEBvdXRwdXQge1N0cmluZ30gJ3NlbGVjdG9yJ1xuQGZ1bmN0aW9uIGNzLXBhcmVudC1zZWxlY3RvcigpIHtcbiAgJHBhcmVudC1zZWxlY3RvcjogKCk7XG4gICRjaGlsZC1zZWxlY3RvcjogY3Mtc2VsZWN0b3IoKTtcbiAgJHN0cjogY3Mtc3RyLXNwbGl0KHF1b3RlKG50aCgmLCBsZW5ndGgoJikpKSwgXCIgXCIpO1xuXG4gIC8vIElmIGxlbmd0aCBpcyBub3QgYmlnZ2VyIHRoYW4gMSB0aGVuIHRoZXJlIGlzIG5vIHBhcmVudC5cbiAgQGlmIGxlbmd0aCgkc3RyKSA+IDEge1xuICAgIEBlYWNoICR2YWwgaW4gJHN0ciB7XG4gICAgICBAaWYgJHZhbCAhPSAkY2hpbGQtc2VsZWN0b3Ige1xuICAgICAgICAkcGFyZW50LXNlbGVjdG9yOiBhcHBlbmQoJHBhcmVudC1zZWxlY3RvciwgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkcGFyZW50LXNlbGVjdG9yO1xufVxuXG4vLy8gUmV0dXJucyBzZWxlY3RvciBwbGFjZWQgYmV0d2VlbiB0aGUgcGFyZW50IGFuZCBsYXN0IHNlbGVjdG9yc1xuLy8vIGZyb20gQW1wZXJzYW5kICgmKSBsaXN0LiBJZGxlIGZvciBlbnN1cmluZyBwcm9wZXIgbmVzdGluZyB3aXRoIGBAYXQtcm9vdGAuXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vIEBleGFtcGxlXG4vLy8gICBAYXQtcm9vdCAje2NzLWF0LXJvb3QoYnV0dG9uLCBmYWxzZSl9IHtcbi8vLyAgICAgLi4uXG4vLy8gICB9XG4vLy8gQG91dHB1dCB7U3RyaW5nfSAnc2VsZWN0b3InXG5AZnVuY3Rpb24gY3MtYXQtcm9vdCgkc2VsZWN0b3IsICRoYXMtc3BhY2U6IHRydWUpIHtcbiAgJHBhcmVudC1zZWxlY3RvcjogY3MtcGFyZW50LXNlbGVjdG9yKCk7XG4gICRjaGlsZC1zZWxlY3RvcjogY3Mtc2VsZWN0b3IoKTtcbiAgJHNlbGVjdG9yczogKCk7XG5cbiAgQGlmICRwYXJlbnQtc2VsZWN0b3Ige1xuICAgICRzZWxlY3RvcnM6IGFwcGVuZCgkc2VsZWN0b3JzLCAkcGFyZW50LXNlbGVjdG9yKTtcbiAgfVxuXG4gIEBpZiAkaGFzLXNwYWNlID09IGZhbHNlIHtcbiAgICBAaWYgKCRzZWxlY3RvciA9PSBcIlwiKSB7XG4gICAgICAvLyBTcGVjaWFsIGNhc2Ugd2hlbiB0aGUgJHNlbGVjdG9yIGlzIGVtcHR5LlxuICAgICAgLy8gVGhlIGF0LXJvb3QgYmVoYXZlcyBsaWtlIGFwcGx5aW5nIHRoZSBAY29udGVudCB0byBcIiZcIi5cbiAgICAgICRzZWxlY3RvcnM6IGFwcGVuZCgkc2VsZWN0b3JzLCAkY2hpbGQtc2VsZWN0b3IpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2VsZWN0b3JzOiBhcHBlbmQoJHNlbGVjdG9ycywgc2VsZWN0b3ItYXBwZW5kKCRzZWxlY3RvciwgJGNoaWxkLXNlbGVjdG9yKSk7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkc2VsZWN0b3JzOiBhcHBlbmQoJHNlbGVjdG9ycywgJHNlbGVjdG9yKTtcbiAgICAkc2VsZWN0b3JzOiBhcHBlbmQoJHNlbGVjdG9ycywgJGNoaWxkLXNlbGVjdG9yKTtcbiAgfVxuXG4gIEByZXR1cm4gJHNlbGVjdG9ycztcbn1cblxuLy8vIFdyYXBwZXIgYXJvdW5kIGBAYXQtcm9vdGBcbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG5AbWl4aW4gY3MtYXQtcm9vdCgkc2VsZWN0b3IsICRoYXMtc3BhY2U6IHRydWUpIHtcbiAgQGF0LXJvb3QgI3tjcy1hdC1yb290KCRzZWxlY3RvciwgJGhhcy1zcGFjZSl9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3NldHRpbmdzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9mdW5jdGlvbnNcIjtcblxuLy9cbi8vIFNldHRpbmdzXG4vL1xuJGNzLWZvcm0tY29udHJvbC1jaGVja2JveC1pY29uOiBjcy1pY29uLXZhbHVlKFwiY2hlY2tib3gtY2hlY2tcIikgIWRlZmF1bHQ7XG4kY3MtZm9ybS1jb250cm9sLWNoZWNrYm94LXNlbGVjdG9yOiBcImZvcm0tY29udHJvbC1jaGVja2JveFwiICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBNaXhpbnMuXG4vL1xuXG4vL1xuLy8gTWFpbiBtaXhpbiB0byBjcmVhdGUgY3VzdG9tIGNoZWNrYm94IGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1mb3JtLWNvbnRyb2wtY2hlY2tib3goJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiAobm90ICRtb2RpZmllcikge1xuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAvLyBDb21tb24gY2hlY2sgcHJvcGVydGllcy5cbiAgICAgIEBpbmNsdWRlIF9jcy1mb3JtLWNvbnRyb2wtY2hlY2s7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICsgbGFiZWxbZm9yXSB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJGNzLWZvcm0tY29udHJvbC1jaGVja2JveC1pY29uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICArIGxhYmVsW2Zvcl0ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRjcy1pbnB1dC1jaGVja2JveC1ib3JkZXItcmFkaXVzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIF9jcy1mb3JtLWNvbnRyb2wtY2hlY2stc2l6ZS1tYXJrKCRjcy1pbnB1dC1jaGVja2JveC1tYXJrKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwibGdcIikge1xuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBAaW5jbHVkZSBfY3MtZm9ybS1jb250cm9sLWNoZWNrKFwibGdcIik7XG5cbiAgICAgICsgbGFiZWxbZm9yXSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBfY3MtZm9ybS1jb250cm9sLWNoZWNrLXNpemUtbWFyaygkY3MtaW5wdXQtY2hlY2tib3gtbWFyay1sYXJnZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBDb21tb24gbWl4aW5zIGZvciBib3RoIGNoZWNrYm94IGFuZCByYWRpby5cbi8vXG5cbi8vXG4vLyBNaXhpbiB3aXRoIGNvbW1vbiBwcm9wZXJ0aWVzIGZvciBjaGVja2JveCBhbmQgcmFkaW8gZWxlbWVudHMuXG4vL1xuLy8gVGhlc2UgZWxlbWVudHMgcmVxdWlyZSBhIGdpdmVuIHN0cnVjdHVyZTogYSBwYXJlbnQgZWxlbWVudCB0byBncm91cCBhblxuLy8gaW5wdXQgd2l0aCB0eXBlIGBjaGVja2JveGAgb3IgYHJhZGlvYCBhbmQgYSBzaWJsaW5nIGxhYmVsIHdpdGggYGZvcmBcbi8vIGF0dHJpYnV0ZSByZWZlcmVuY2luZyB0aGUgc2libGluZyBpbnB1dC5cbi8vIDxwYXJlbnQ+PGlucHV0IGlkPVwiaWQxXCIgdHlwZT1cImNoZWNrYm94XCI+PGxhYmVsIGZvcj1cImlkMVwiPjwvbGFiZWw+PC9wYXJlbnQ+XG4vL1xuQG1peGluIF9jcy1mb3JtLWNvbnRyb2wtY2hlY2soJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiAobm90ICRtb2RpZmllcikge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgLy8gQWRkIGZvY3VzIHN0eWxlcyB0byB0aGUgY2hlY2sgdW5kZXIgdGhlIGxhYmVsLlxuICAgICY6Zm9jdXMge1xuICAgICAgKyBsYWJlbFtmb3JdIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBjcy10YWItZm9jdXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNYWtlIHRoZSBtYXJrIHVuZGVyIHRoZSBsYWJlbCBkaXNhYmxlZC5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICsgbGFiZWxbZm9yXSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY3Vyc29yOiAkY3MtY3Vyc29yLWRpc2FibGVkO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1pbnB1dC1iZy1kaXNhYmxlZDtcbiAgICAgICAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQuXG4gICAgICAgICAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY3MtaW5wdXQtY2hlY2stZGlzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGN1cnNvcjogJGNzLWN1cnNvci1kaXNhYmxlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9ubHkgYXBwbHkgY2hlY2tlZCBzdHlsZXMgd2hlbiBub3QgZGlzYWJsZWQuXG4gICAgJjpjaGVja2VkOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICsgbGFiZWxbZm9yXSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWlucHV0LWNoZWNrLWNoZWNrZWQtYmc7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQXBwbHkgaG92ZXIgc3RhdGUgb25seSB3aGVuIHVuY2hlY2tlZC5cbiAgICAmOm5vdCg6Y2hlY2tlZCkge1xuICAgICAgKyBsYWJlbFtmb3JdOmhvdmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtaW5wdXQtYmctZGlzYWJsZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnZhbGlkL2Vycm9yIHN0eWxlcy4gV29yayBpbiBjb21iaW5hdGlvbiB3aXRoIGZlZWRiYWNrIGFuZCBoZWxwLlxuICAgIC8vIFRoaXMgY2FuIG5vdCBiZSBhcHBsaWVkIHRvIDppbnZhbGlkIHNlbGVjdG9yIGJlY2F1c2Ugd291bGQgc2hvd1xuICAgIC8vIGVycm9ycyBiZWZvcmUgaGFuZC5cbiAgICAmLmVycm9yIHtcbiAgICAgIEBpbmNsdWRlIF9jcy1mb3JtLWNvbnRyb2wtY2hlY2staW52YWxpZDtcbiAgICB9XG5cbiAgICArIGxhYmVsW2Zvcl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAkY3MtaW5wdXQtY2hlY2stc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkY3MtaW5wdXQtY2hlY2stc2l6ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY3MtaW5wdXQtY2hlY2staWNvbi1zcGFjZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1pbnB1dC1iZztcbiAgICAgICAgYm9yZGVyOiAkY3MtaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRjcy1pbnB1dC1jaGVjay1ib3JkZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBmb250LWZhbWlseTogY3MtZ2xvYmFsLWljb25zLCBzYW5zLXNlcmlmO1xuICAgICAgICBjb2xvcjogJGNzLWlucHV0LWNoZWNrLWNoZWNrZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJsZ1wiKSB7XG4gICAgKyBsYWJlbFtmb3JdIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAkY3MtaW5wdXQtY2hlY2stc2l6ZS1sYXJnZTtcbiAgICAgICAgaGVpZ2h0OiAkY3MtaW5wdXQtY2hlY2stc2l6ZS1sYXJnZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBQcm92aWRlIHN0eWxlcyBmb3IgaW52YWxpZCBjaGVja2JveCBhbmQgcmFkaW8gZm9ybSBjb250cm9scy5cbi8vXG5AbWl4aW4gX2NzLWZvcm0tY29udHJvbC1jaGVjay1pbnZhbGlkKCkge1xuICAvLyBTaG93IGEgc2libGluZyBpbnZhbGlkIGZlZWRiYWNrIG1lc3NhZ2UuXG4gICYgfiAuI3skY3MtbnN9Zm9ybS1mZWVkYmFjay0taW52YWxpZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAvLyBIaWRlIGEgc2libGluZyBoZWxwIHRleHQuXG4gICAgJiB+IC4jeyRjcy1uc31mb3JtLWhlbHAge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICArIGxhYmVsW2Zvcl0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjcy1pbnB1dC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gVXRpbGl0eSBtaXhpbiB0byBhcHBseSBjaGVjayBtYXJrIHByb3BlcnRpZXMuXG4vL1xuQG1peGluIF9jcy1mb3JtLWNvbnRyb2wtY2hlY2stc2l6ZS1tYXJrKCRtYXJrLXNldHRpbmdzKSB7XG4gIHRvcDogY3MtcmVtKG1hcC1nZXQoJG1hcmstc2V0dGluZ3MsIHRvcCkpO1xuICBsZWZ0OiBjcy1yZW0obWFwLWdldCgkbWFyay1zZXR0aW5ncywgbGVmdCkpO1xuICBmb250LXNpemU6IGNzLXJlbShtYXAtZ2V0KCRtYXJrLXNldHRpbmdzLCBmb250LXNpemUpKTtcbn1cblxuLy9cbi8vIEJ1aWxkIG1peGluLlxuLy9cbkBtaXhpbiBjcy1idWlsZC1mb3JtLWNvbnRyb2wtY2hlY2tib3goJG5hbWU6ICRjcy1mb3JtLWNvbnRyb2wtY2hlY2tib3gtc2VsZWN0b3IsICRtb2RpZmllcnM6ICRjcy1lbmFibGUtZm9ybS1jb250cm9sLWNoZWNrYm94LW1vZGlmaWVycykge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLWZvcm0tY29udHJvbC1jaGVja2JveDtcblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImxnXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWxnIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtZm9ybS1jb250cm9sLWNoZWNrYm94KFwibGdcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9zZXR0aW5nc1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvZnVuY3Rpb25zXCI7XG5cbkBpbXBvcnQgXCJmb3JtQ29udHJvbENoZWNrYm94Lm1peGluXCI7XG5cbi8vXG4vLyBTZXR0aW5nc1xuLy9cblxuLy8gVGhpcyBjb21lcyBmcm9tIGNvbnN1bWVyIGZvbnQtZmFtaWx5IGluc3RlYWQgb2YgZ2xvYmFsIGZvbnQtZmFtaWx5LlxuJGNzLWZvcm0tY29udHJvbC1yYWRpby1pY29uOiBjcy1pY29uLXZhbHVlKFwiY2lyY2xlLXNvbGlkXCIpICFkZWZhdWx0O1xuJGNzLWZvcm0tY29udHJvbC1yYWRpby1zZWxlY3RvcjogXCJmb3JtLWNvbnRyb2wtcmFkaW9cIiAhZGVmYXVsdDtcblxuXG4vL1xuLy8gTWl4aW5zXG4vL1xuXG4vL1xuLy8gTWFpbiBtaXhpbiB0byBjcmVhdGUgY3VzdG9tIHJhZGlvIGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1mb3JtLWNvbnRyb2wtcmFkaW8oJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiAobm90ICRtb2RpZmllcikge1xuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAvLyBDb21tb24gY2hlY2sgcHJvcGVydGllcy5cbiAgICAgIEBpbmNsdWRlIF9jcy1mb3JtLWNvbnRyb2wtY2hlY2s7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICsgbGFiZWxbZm9yXSB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJGNzLWZvcm0tY29udHJvbC1yYWRpby1pY29uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICArIGxhYmVsW2Zvcl0ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRjcy1pbnB1dC1yYWRpby1ib3JkZXItcmFkaXVzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIF9jcy1mb3JtLWNvbnRyb2wtY2hlY2stc2l6ZS1tYXJrKCRjcy1pbnB1dC1yYWRpby1tYXJrKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwibGdcIikge1xuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBAaW5jbHVkZSBfY3MtZm9ybS1jb250cm9sLWNoZWNrKFwibGdcIik7XG5cbiAgICAgICsgbGFiZWxbZm9yXSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBfY3MtZm9ybS1jb250cm9sLWNoZWNrLXNpemUtbWFyaygkY3MtaW5wdXQtcmFkaW8tbWFyay1sYXJnZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpbi5cbi8vXG5AbWl4aW4gY3MtYnVpbGQtZm9ybS1jb250cm9sLXJhZGlvKCRuYW1lOiAkY3MtZm9ybS1jb250cm9sLXJhZGlvLXNlbGVjdG9yLCAkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLWZvcm0tY29udHJvbC1yYWRpby1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy1mb3JtLWNvbnRyb2wtcmFkaW87XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJsZ1wiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1sZyB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWZvcm0tY29udHJvbC1yYWRpbyhcImxnXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuXG4vL1xuLy8gU2V0dGluZ3Ncbi8vXG5cbiRjcy1mb3JtLWxhYmVsLWZvbnQtc2l6ZTogJGNzLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjcy1mb3JtLWxhYmVsLW1hcmdpbi1ib3R0b206ICRjcy1zcGFjZXItdGlueSAhZGVmYXVsdDtcbi8vIFRoaXMgc2hvdWxkIGJlIHByZXR0eSBzbWFsbCwgYXJvdW5kIDRweC5cbiRjcy1mb3JtLWxhYmVsLXJlcXVpcmVkLWNvbG9yOiAkY3MtaW5wdXQtY29sb3ItaW52YWxpZCAhZGVmYXVsdDtcbiRjcy1mb3JtLWxhYmVsLXJlcXVpcmVkLXNwYWNlcjogJGNzLXNwYWNlci10aW55IC8gMiAhZGVmYXVsdDtcbiRjcy1mb3JtLWxhYmVsLXNlbGVjdG9yOiBcImZvcm0tbGFiZWxcIiAhZGVmYXVsdDtcblxuJGNzLWZvcm0taGVscC1mb250LXNpemU6ICRjcy1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3MtZm9ybS1oZWxwLW1hcmdpbi10b3A6IC4zNzVyZW0gIWRlZmF1bHQ7XG4kY3MtZm9ybS1oZWxwLWNvbG9yOiAkY3MtZ3JheS1pcm9uICFkZWZhdWx0O1xuJGNzLWZvcm0taGVscC1saW5lLWhlaWdodDogMS4xMjUgIWRlZmF1bHQ7XG4kY3MtZm9ybS1oZWxwLXNlbGVjdG9yOiBcImZvcm0taGVscFwiICFkZWZhdWx0O1xuXG4kY3MtZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICRjcy1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kY3MtZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAuMzc1cmVtICFkZWZhdWx0O1xuJGNzLWZvcm0tZmVlZGJhY2stbGluZS1oZWlnaHQ6IDEuMTI1ICFkZWZhdWx0O1xuJGNzLWZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogJGNzLWlucHV0LWNvbG9yLWludmFsaWQgIWRlZmF1bHQ7XG4kY3MtZm9ybS1mZWVkYmFjay1zZWxlY3RvcjogXCJmb3JtLWZlZWRiYWNrXCIgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIE1peGluc1xuLy9cblxuLy9cbi8vIEJsb2NrIG1peGluIHRvIGNyZWF0ZSBsYWJlbCBzdHlsZXMuXG4vL1xuQG1peGluIGNzLWZvcm0tbGFiZWwoJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiAobm90ICRtb2RpZmllcikge1xuICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgkY3MtZm9ybS1sYWJlbC1mb250LXNpemUsIG5vcm1hbCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPmAgZGVmYXVsdC5cbiAgICBtYXJnaW4tYm90dG9tOiAkY3MtZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tO1xuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJyZXF1aXJlZFwiKSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjcy1mb3JtLWxhYmVsLXJlcXVpcmVkLXNwYWNlcjtcbiAgICAgIGNvbG9yOiAkY3MtZm9ybS1sYWJlbC1yZXF1aXJlZC1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6IFwiKlwiO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEJsb2NrIG1peGluIHRvIGNyZWF0ZSBoZWxwIHRleHQgc3R5bGVzLlxuLy9cbkBtaXhpbiBjcy1mb3JtLWhlbHAoKSB7XG4gIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgkY3MtZm9ybS1oZWxwLWZvbnQtc2l6ZSwgJGNzLWZvcm0taGVscC1saW5lLWhlaWdodCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAkY3MtZm9ybS1oZWxwLW1hcmdpbi10b3A7XG4gIGNvbG9yOiAkY3MtZm9ybS1oZWxwLWNvbG9yO1xuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQmxvY2sgbWl4aW4gdG8gY3JlYXRlIGZlZWRiYWNrIHN0eWxlcy5cbi8vXG5AbWl4aW4gY3MtZm9ybS1mZWVkYmFjaygkbW9kaWZpZXI6IG51bGwpIHtcbiAgQGlmIChub3QgJG1vZGlmaWVyKSB7XG4gICAgQGluY2x1ZGUgY3MtZm9udC1zaXplKCRjcy1mb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSwgJGNzLWZvcm0tZmVlZGJhY2stbGluZS1oZWlnaHQpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGNzLWZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwiaW52YWxpZFwiKSB7XG4gICAgY29sb3I6ICRjcy1mb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpbnNcbi8vXG5cbkBtaXhpbiBjcy1idWlsZC1mb3JtLWxhYmVsKCRuYW1lOiAkY3MtZm9ybS1sYWJlbC1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS1mb3JtLWxhYmVsLW1vZGlmaWVycykge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLWZvcm0tbGFiZWw7XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJyZXF1aXJlZFwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1yZXF1aXJlZCB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWZvcm0tbGFiZWwoXCJyZXF1aXJlZFwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gY3MtYnVpbGQtZm9ybS1oZWxwKCRuYW1lOiAkY3MtZm9ybS1oZWxwLXNlbGVjdG9yKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtZm9ybS1oZWxwO1xuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGNzLWJ1aWxkLWZvcm0tZmVlZGJhY2soJG5hbWU6ICRjcy1mb3JtLWZlZWRiYWNrLXNlbGVjdG9yLCAkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLWZvcm0tZmVlZGJhY2stbW9kaWZpZXJzKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtZm9ybS1mZWVkYmFjaztcblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImludmFsaWRcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0taW52YWxpZCB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWZvcm0tZmVlZGJhY2soXCJpbnZhbGlkXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjsgLy8gaW1wb3J0IGZpcnN0XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9mdW5jdGlvbnNcIjtcblxuLy9cbi8vIFNldHRpbmdzXG4vL1xuXG4kY3MtaGVhZGluZ3Mtc2VsZWN0b3I6IFwiaGVhZGluZ1wiICFkZWZhdWx0O1xuJGNzLWRpc3BsYXlzLXNlbGVjdG9yOiBcImRpc3BsYXlcIiAhZGVmYXVsdDtcblxuLy9cbi8vIEJsb2NrIG1peGluXG4vL1xuQG1peGluIGNzLWhlYWRpbmcoJG1vZGlmaWVyOiBudWxsKSB7XG4gIC8vIGhlYWRpbmcgbGV2ZWxzXG4gIEBpZiBtYXAtaGFzLWtleSgkY3MtaGVhZGluZy1zaXplcywgJG1vZGlmaWVyKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogY3MtcmVtKCRjcy1oZWFkaW5ncy1tYXJnaW4tYm90dG9tKTtcbiAgICBmb250LWZhbWlseTogJGNzLWhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY3MtaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjcy1oZWFkaW5ncy1jb2xvcjtcbiAgICBAaW5jbHVkZSBjcy1mb250LXNpemUoXG4gICAgICBtYXAtZ2V0KCRjcy1oZWFkaW5nLXNpemVzLCAkbW9kaWZpZXIpLFxuICAgICAgJGNzLWhlYWRpbmdzLWxpbmUtaGVpZ2h0XG4gICAgKTtcblxuICAgIC8vIGg1IHN0eWxpbmdcbiAgICBAaWYgKCRtb2RpZmllciA9PSA1KSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IGNzLXJlbSguNXB4KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNwbGF5IGhlYWRpbmdzXG4gIEBlbHNlIGlmIGluZGV4KChcImRpc3BsYXktMVwiLCBcImRpc3BsYXktMlwiKSwgJG1vZGlmaWVyKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogY3MtcmVtKCRjcy1oZWFkaW5ncy1tYXJnaW4tYm90dG9tKTtcbiAgICBjb2xvcjogJGNzLWhlYWRpbmdzLWNvbG9yO1xuXG4gICAgQGlmICgkbW9kaWZpZXIgPT0gXCJkaXNwbGF5LTFcIikge1xuICAgICAgQGluY2x1ZGUgY3MtZm9udC1zaXplKFxuICAgICAgICAkY3MtZGlzcGxheS0xLXNpemUsXG4gICAgICAgICRjcy1oZWFkaW5ncy1saW5lLWhlaWdodFxuICAgICAgKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkY3MtZGlzcGxheS0xLXdlaWdodDtcbiAgICB9XG4gICAgQGVsc2UgaWYoJG1vZGlmaWVyID09IFwiZGlzcGxheS0yXCIpIHtcbiAgICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZShcbiAgICAgICAgJGNzLWRpc3BsYXktMi1zaXplLFxuICAgICAgICAkY3MtaGVhZGluZ3MtbGluZS1oZWlnaHRcbiAgICAgICk7XG4gICAgICBmb250LXdlaWdodDogJGNzLWRpc3BsYXktMi13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYoJG1vZGlmaWVyID09IFwib3N3YWxkXCIpIHtcbiAgICBmb250LWZhbWlseTogJGNzLWZvbnQtZmFtaWx5LW9zd2FsZDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy1idWlsZC1oZWFkaW5ncygkbmFtZTogJGNzLWhlYWRpbmdzLXNlbGVjdG9yLCAkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLWhlYWRpbmdzLW1vZGlmaWVycykge1xuXG4gIC8vIEhlYWRpbmcgdGFnc1xuICBAZWFjaCAkaSBpbiBtYXAta2V5cygkY3MtaGVhZGluZy1zaXplcykge1xuICAgIEBpZiAkY3MtZW5hYmxlLWhlYWRpbmdzLXRhZ3Mge1xuICAgICAgaCN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgY3MtaGVhZGluZygkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBjbGFzc2VzXG4gIC8vIFRoZXNlIGRlY2xhcmF0aW9ucyBhcmUga2VwdCBzZXBhcmF0ZSBmcm9tIGFuZCBwbGFjZWQgYWZ0ZXJcbiAgLy8gdGhlIHByZXZpb3VzIHRhZy1iYXNlZCBkZWNsYXJhdGlvbnMgc28gdGhhdCB0aGUgY2xhc3NlcyBiZWF0XG4gIC8vIHRoZSB0YWdzIGluIHRoZSBDU1MgY2FzY2FkZSwgYW5kIHRodXMgPGgxIGNsYXNzPVwiaGVhZGluZy0yXCI+XG4gIC8vIHdpbGwgYmUgc3R5bGVkIGxpa2UgYW4gaDIuXG4gIEBlYWNoICRpIGluIG1hcC1rZXlzKCRjcy1oZWFkaW5nLXNpemVzKSB7XG4gICAgJF9zZWxlY3RvcjogdW5xdW90ZSgjeyRuYW1lfS0jeyRpfSk7XG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKCRfc2VsZWN0b3IsICRtb2RpZmllcnMpIHtcbiAgICAgIC4jeyRjcy1uc30jeyRfc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgY3MtaGVhZGluZygkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLiN7JGNzLW5zfSN7JG5hbWV9LS1vc3dhbGQge1xuICAgIEBpbmNsdWRlIGNzLWhlYWRpbmcoXCJvc3dhbGRcIik7XG4gIH1cblxuICAvLyBEaXNwbGF5IGhlYWRpbmdzXG4gIEBlYWNoICRkaXNwbGF5IGluIChcImRpc3BsYXktMVwiLCBcImRpc3BsYXktMlwiKSB7XG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKCRkaXNwbGF5LCAkbW9kaWZpZXJzKSB7XG4gICAgICAuI3skY3MtbnN9I3skZGlzcGxheX0ge1xuICAgICAgICBAaW5jbHVkZSBjcy1oZWFkaW5nKCRkaXNwbGF5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9zZXR0aW5nc1wiOyAvLyBpbXBvcnQgZmlyc3RcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuXG4vL1xuLy8gQmxvY2sgbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy1pbmxpbmUtdGV4dCgkbW9kaWZpZXI6IG51bGwpIHtcbiAgLy8gRGVmYXVsdCBwYXJhZ3JhcGhcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNzLXNwYWNlci1tZWRpdW07XG4gIH1cblxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJsZWFkXCIge1xuICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgkY3MtbGVhZC1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiAkY3MtbGVhZC1mb250LXdlaWdodDtcbiAgfVxuXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcInNtYWxsXCIge1xuICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgkY3Mtc21hbGwtZm9udC1zaXplKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcImNhcHRpb25cIiB7XG4gICAgQGluY2x1ZGUgY3MtZm9udC1zaXplKCRjcy1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsZXR0ZXItc3BhY2luZzogY3MtcmVtKC4wOXB4KTtcbiAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgfVxuXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcImxlZ2FsXCIge1xuICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgkY3MtbGVnYWwtZm9udC1zaXplKTtcbiAgICBsZXR0ZXItc3BhY2luZzogY3MtcmVtKC4wOXB4KTtcbiAgfVxuXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcIm1hcmtcIiB7XG4gICAgQGluY2x1ZGUgY3Mtc3BhY2VyKHBhZGRpbmcsIHRpbnkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1tYXJrLWJnLWNvbG9yO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpblxuLy9cblxuQG1peGluIGNzLWJ1aWxkLWlubGluZS10ZXh0KCRtb2RpZmllcnM6ICRjcy1lbmFibGUtaW5saW5lLXRleHQtbW9kaWZpZXJzKSB7XG4gIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcInBhcmFncmFwaFwiLCAkbW9kaWZpZXJzKSB7XG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSBjcy1pbmxpbmUtdGV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImxlYWRcIiwgJG1vZGlmaWVycykge1xuICAgIC4jeyRjcy1uc31sZWFkIHtcbiAgICAgIEBpbmNsdWRlIGNzLWlubGluZS10ZXh0KFwibGVhZFwiKTtcbiAgICB9XG4gIH1cblxuICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJzbWFsbFwiLCAkbW9kaWZpZXJzKSB7XG4gICAgLiN7JGNzLW5zfXNtYWxsLFxuICAgIHNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNzLWlubGluZS10ZXh0KFwic21hbGxcIik7XG4gICAgfVxuICB9XG5cbiAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiY2FwdGlvblwiLCAkbW9kaWZpZXJzKSB7XG4gICAgLiN7JGNzLW5zfWNhcHRpb24ge1xuICAgICAgQGluY2x1ZGUgY3MtaW5saW5lLXRleHQoXCJjYXB0aW9uXCIpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImxlZ2FsXCIsICRtb2RpZmllcnMpIHtcbiAgICAuI3skY3MtbnN9bGVnYWwge1xuICAgICAgQGluY2x1ZGUgY3MtaW5saW5lLXRleHQoXCJsZWdhbFwiKTtcbiAgICB9XG4gIH1cblxuICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJtYXJrXCIsICRtb2RpZmllcnMpIHtcbiAgICAuI3skY3MtbnN9bWFyayxcbiAgICBtYXJrIHtcbiAgICAgIEBpbmNsdWRlIGNzLWlubGluZS10ZXh0KFwibWFya1wiKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9jb2xvcnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9jb25maWd1cmF0aW9uXCI7XG5AaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvbGlua3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvaG92ZXJcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvdGFiRm9jdXNcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvcmVtXCI7XG5cbi8vXG4vLyBTZXR0aW5nc1xuLy9cblxuJGNzLWxpbmstc2VsZWN0b3I6IFwibGlua1wiICFkZWZhdWx0O1xuJGNzLWxpbmstY3RhLWNvbG9yOiAkY3MtY29sb3ItYmx1ZSAhZGVmYXVsdDtcbiRjcy1saW5rLWN0YS12aXNpdGVkLWNvbG9yOiAkY3MtY29sb3Itcm95YWwtYmx1ZSAhZGVmYXVsdDtcbiRjcy1saW5rLXJldmVyc2UtY29sb3I6ICRjcy1jb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRjcy1saW5rLXJldmVyc2UtaG92ZXItY29sb3I6ICRjcy1ncmF5LXN0ZWVsICFkZWZhdWx0O1xuJGNzLWxpbmstcmV2ZXJzZS12aXNpdGVkLWNvbG9yOiAkY3MtZ3JheS1zaWx2ZXIgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEJsb2NrIG1peGluc1xuLy9cblxuLy9cbi8vIE1haW4gbWl4aW4gdG8gY3JlYXRlIGxpbmsgYXRvbXMuXG4vL1xuLy8gQW4gb3B0aW9uYWwgb3B0aW9ucyBtYXAgY2FuIGJlIHBhc3NlZCBmb3Igc29tZSBsaW5rIG1vZGlmaWNhdGlvbnMuXG4vL1xuQG1peGluIGNzLWxpbmsoJG1vZGlmaWVyOiBudWxsLCAkb3B0aW9uczogKGljb246IGZhbHNlKSkge1xuICBAaWYgKG5vdCAkbW9kaWZpZXIpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY3MtcmVtKDJweCk7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiAkY3MtbGluay1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRjcy1saW5rLWRlY29yYXRpb247XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkY3MtZ3JheS1jaGFyY29hbDtcblxuICAgIC8vIEFkZCBzdXBwb3J0IGZvciBpbmxpbmUgaWNvbnMuXG4gICAgJGljb24tc3VwcG9ydDogbWFwLWdldCgkb3B0aW9ucywgXCJpY29uXCIpO1xuICAgIEBpZiAoJGljb24tc3VwcG9ydCkge1xuICAgICAgPiBbY2xhc3NePVwiI3skY3MtbnN9aWNvblwiXSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IC44O1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBjcy1ob3Zlci1hY3RpdmUge1xuICAgICAgY29sb3I6ICRjcy1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkY3MtbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkY3MtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBBY2Nlc3NpYmlsaXR5IGltcHJvdmVtZW50LlxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgY3MtdGFiLWZvY3VzLW91dGxpbmUoKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImN0YVwiKSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICRjcy1saW5rLWN0YS1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgIC8vIE11c3QgZW5mb3JjZSBjb2xvciBhZnRlciA6dmlzaXRlZCBmb3IgOmhvdmVyLlxuICAgIEBpbmNsdWRlIGNzLWhvdmVyLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGNzLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJyZXZlcnNlXCIpIHtcbiAgICBjb2xvcjogJGNzLWxpbmstcmV2ZXJzZS1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY3MtbGluay1yZXZlcnNlLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgY3MtaG92ZXItYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkY3MtbGluay1yZXZlcnNlLWhvdmVyLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNzLWxpbmstcmV2ZXJzZS1ob3Zlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmUtY29sb3I6ICRjcy1saW5rLXJldmVyc2UtY29sb3I7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJ0aXRsZVwiKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpblxuLy9cblxuQG1peGluIGNzLWJ1aWxkLWxpbmtzKCRuYW1lOiAkY3MtbGluay1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS1saW5rcy1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy1saW5rKCRvcHRpb25zOiAoaWNvbjogdHJ1ZSkpO1xuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiY3RhXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWN0YSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWxpbmsoXCJjdGFcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwicmV2ZXJzZVwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1yZXZlcnNlIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtbGluayhcInJldmVyc2VcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwidGl0bGVcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBjcy1saW5rKFwidGl0bGVcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9zZXR0aW5nc1wiOyAvLyBpbXBvcnQgZmlyc3RcbkBpbXBvcnQgXCIuLi9taXhpbnMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuXG4kY3MtbGlzdC1pbmxpbmUtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJGNzLWxpc3QtaW5saW5lLWRlbGltaXQ6IFwiLFxcMDBBMFwiICFkZWZhdWx0O1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLFxuLy8ganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gY3MtbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLiN7JGNzLW5zfWxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBjcy1saXN0LXVuc3R5bGVkO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuJSN7JGNzLW5zfWxpc3QtaW5saW5lLFxuLiN7JGNzLW5zfWxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgY3MtbGlzdC11bnN0eWxlZDtcblxuICBsaSB7XG4gICAgQGV4dGVuZCAlI3skY3MtbnN9bGlzdC1pbmxpbmVfX2l0ZW07XG4gIH1cbn1cblxuJSN7JGNzLW5zfWxpc3QtaW5saW5lX19pdGVtLFxuLiN7JGNzLW5zfWxpc3QtaW5saW5lX19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjcy1yZW0oJGNzLWxpc3QtaW5saW5lLXBhZGRpbmcpO1xuICB9XG59XG5cblxuQGlmICRjcy1lbmFibGUtbGlzdC1pbmxpbmUtLWRlbGltaXRlZCB7XG5cbiAgLy9cbiAgLy8gQ29tbWEgZGVsaW1pdGVkIGxpc3QgdG8gc2VtYW50aWNhbGx5IG1hcmsgdXAgbGlzdHMgb2YgdGFncywgZXRjLlxuICAvL1xuICAvLyBOLkIuIFRoaXMgY29tcG9uZW50IHJlcXVpcmVzIHRoYXQgeW91IHJlbW92ZSB0aGUgd2hpdGVzcGFjZSBiZXR3ZWVuIExJcy5cbiAgLy8gICAgIFRoZSBzaW1wbGVzdCAoYW5kIHZhbGlkKSB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIGJ5IG9taXR0aW5nIHRoZVxuICAvLyAgICAgY2xvc2luZyBgPC9saT5gIHRhZy5cbiAgLy9cblxuICAuI3skY3MtbnN9bGlzdC1pbmxpbmUtLWRlbGltaXRlZCB7XG5cbiAgICA+IGxpICsgbGksXG4gICAgPiAuI3skY3MtbnN9bGlzdC1pbmxpbmVfX2l0ZW0gKyAuI3skY3MtbnN9bGlzdC1pbmxpbmVfX2l0ZW0ge1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIiN7JGNzLWxpc3QtaW5saW5lLWRlbGltaXR9XCI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvY29sb3JzXCI7XG5AaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvY29uZmlndXJhdGlvblwiO1xuQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2dsb2JhbHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy96aW5kZXhcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvY29tcG9uZW50c1wiO1xuXG4vL1xuLy8gU2V0dGluZ3Ncbi8vXG5cbiRjcy1sb2FkZXItc2VsZWN0b3I6IFwibG9hZGVyXCIgIWRlZmF1bHQ7XG4kY3MtbG9hZGVyLWNvbG9yOiAkY3MtZ3JheS1pcm9uICFkZWZhdWx0O1xuJGNzLWxvYWRlci1zaXplLXNtOiAoXG4gIHNpemU6ICRjcy1zcGFjZXItYmFzZSxcbiAgYm9yZGVyLXdpZHRoOiAzcHhcbikgIWRlZmF1bHQ7XG4kY3MtbG9hZGVyLXNpemUtbWQ6IChcbiAgc2l6ZTogJGNzLXNwYWNlci1sYXJnZSxcbiAgYm9yZGVyLXdpZHRoOiA1cHhcbikgIWRlZmF1bHQ7XG4kY3MtbG9hZGVyLXNpemUtbGc6IChcbiAgc2l6ZTogJGNzLXNwYWNlci14bGFyZ2UsXG4gIGJvcmRlci13aWR0aDogNnB4XG4pICFkZWZhdWx0O1xuXG4vL1xuLy8gTWl4aW5zXG4vL1xuXG4vL1xuLy8gTWFpbiBtaXhpbiB0byBjcmVhdGUgbG9hZGVyIGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1sb2FkZXIoJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiAobm90ICRtb2RpZmllcikge1xuICAgIEBpbmNsdWRlIF9jcy1sb2FkZXItc2l6ZSgkY3MtbG9hZGVyLXNpemUtbWQpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICRjcy1sb2FkZXItY29sb3I7XG5cbiAgICBkaXYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYW5pbWF0aW9uOiBjcy1sb2FkZXIgMS4ycyBjdWJpYy1iZXppZXIoLjUsIDAsIC41LCAxKSBpbmZpbml0ZTtcblxuICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0uNDVzO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0uM3M7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogLS4xNXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBjcy1sb2FkZXIge1xuICAgICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIH1cbiAgICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwic21hbGxcIikge1xuICAgIEBpbmNsdWRlIF9jcy1sb2FkZXItc2l6ZSgkY3MtbG9hZGVyLXNpemUtc20pO1xuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJsYXJnZVwiKSB7XG4gICAgQGluY2x1ZGUgX2NzLWxvYWRlci1zaXplKCRjcy1sb2FkZXItc2l6ZS1sZyk7XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImNlbnRlcmVkXCIpIHtcbiAgICBAaW5jbHVkZSBfY3MtbG9hZGVyLWNlbnRlcmVkKCRjcy1sb2FkZXItc2l6ZS1tZCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRjcy16aW5kZXg7XG5cbiAgICAmLiN7JGNzLW5zfSN7JGNzLWxvYWRlci1zZWxlY3Rvcn0tLXNtIHtcbiAgICAgIEBpbmNsdWRlIF9jcy1sb2FkZXItY2VudGVyZWQoJGNzLWxvYWRlci1zaXplLXNtKTtcbiAgICB9XG5cbiAgICAmLiN7JGNzLW5zfSN7JGNzLWxvYWRlci1zZWxlY3Rvcn0tLWxnIHtcbiAgICAgIEBpbmNsdWRlIF9jcy1sb2FkZXItY2VudGVyZWQoJGNzLWxvYWRlci1zaXplLWxnKTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG59XG5cbkBtaXhpbiBfY3MtbG9hZGVyLXNpemUoJHNpemUpIHtcbiAgd2lkdGg6IG1hcC1nZXQoJHNpemUsIFwic2l6ZVwiKTtcbiAgaGVpZ2h0OiBtYXAtZ2V0KCRzaXplLCBcInNpemVcIik7XG5cbiAgZGl2IHtcbiAgICB3aWR0aDogbWFwLWdldCgkc2l6ZSwgXCJzaXplXCIpO1xuICAgIGhlaWdodDogbWFwLWdldCgkc2l6ZSwgXCJzaXplXCIpO1xuICAgIGJvcmRlci13aWR0aDogbWFwLWdldCgkc2l6ZSwgXCJib3JkZXItd2lkdGhcIik7XG4gIH1cbn1cblxuQG1peGluIF9jcy1sb2FkZXItY2VudGVyZWQoJHNpemUpIHtcbiAgJHNpemVWYWx1ZTogbWFwLWdldCgkc2l6ZSwgXCJzaXplXCIpICFkZWZhdWx0O1xuICB0b3A6IGNhbGMoNTAlIC0gI3skc2l6ZVZhbHVlfSAvIDIpO1xuICBsZWZ0OiBjYWxjKDUwJSAtICN7JHNpemVWYWx1ZX0gLyAyKTtcbn1cblxuLy9cbi8vIEJ1aWxkIG1peGluXG4vL1xuQG1peGluIGNzLWJ1aWxkLWxvYWRlcigkbmFtZTogJGNzLWxvYWRlci1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS1sb2FkZXItbW9kaWZpZXJzKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtbG9hZGVyO1xuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwic21hbGxcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tc20ge1xuICAgICAgICBAaW5jbHVkZSBjcy1sb2FkZXIoXCJzbWFsbFwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJsYXJnZVwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1sZyB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWxvYWRlcihcImxhcmdlXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImNlbnRlcmVkXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWNlbnRlcmVkIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtbG9hZGVyKFwiY2VudGVyZWRcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiRjcy16aW5kZXg6IDEwMDAgIWRlZmF1bHQ7XG4kY3MtemluZGV4LW5hdmJhcjogMTAwMSAhZGVmYXVsdDtcbiRjcy16aW5kZXgtZHJvcGRvd246IDEwMDEgIWRlZmF1bHQ7XG4kY3MtemluZGV4LXBvcG92ZXI6IDEwNjAgIWRlZmF1bHQ7XG4kY3MtemluZGV4LXRvb2x0aXA6IDEwNzAgIWRlZmF1bHQ7XG4kY3MtemluZGV4LW5hdmJhci1maXhlZDogMTAzMCAhZGVmYXVsdDtcbiRjcy16aW5kZXgtbmF2YmFyLXN0aWNreTogMTAzMCAhZGVmYXVsdDtcbiRjcy16aW5kZXgtbW9kYWwtYmFja2Ryb3A6IDEwNDAgIWRlZmF1bHQ7XG4kY3MtemluZGV4LW1vZGFsOiAxMDUwICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2NvbmZpZ3VyYXRpb25cIjtcbkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9jb2xvcnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvcmVtXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL2NvbXBvbmVudHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvYm9yZGVyUmFkaXVzXCI7XG5cbi8vXG4vLyBTZXR0aW5nc1xuLy9cblxuJGNzLWF2YXRhci1zZWxlY3RvcjogXCJhdmF0YXJcIiAhZGVmYXVsdDtcbiRjcy1hdmF0YXItbG9nby11cmw6IFwiaW1hZ2VzL2xvZ28tLWNoZWNrbWFyay0tZ3JlZW4tLWJsYWNrLS13aGl0ZS5zdmdcIiAhZGVmYXVsdDtcblxuLy9cbi8vIEJsb2NrIG1peGluXG4vL1xuXG5AbWl4aW4gY3MtYXZhdGFyKCRtb2RpZmllcjogbnVsbCkge1xuICAvLyBEZWZhdWx0IHN0eWxlXG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICBAaW5jbHVkZSBjcy1ib3JkZXItcmFkaXVzKDEwMCUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB3aWR0aDogY3MtcmVtKDMycHgpO1xuICAgIGhlaWdodDogY3MtcmVtKDMycHgpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgY3MtYm9yZGVyLXJhZGl1cygxMDAlKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAmOm5vdChbZGF0YS10b2dnbGU9XCJhdmF0YXJcIl0pIHtcbiAgICAgICAgcGFkZGluZzogY3MtcmVtKDFweCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1jb2xvci13aGl0ZTtcbiAgICAgICAgYm9yZGVyOiBjcy1yZW0oMnB4KSBzb2xpZCAkY3MtY29sb3ItdGVhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJjZXJ0aWZpZWRcIiB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiBjcy1yZW0oLTZweCk7XG4gICAgICBib3R0b206IGNzLXJlbSgtNnB4KTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGNzLXJlbSgyNHB4KTtcbiAgICAgIGhlaWdodDogY3MtcmVtKDI0cHgpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkY3MtYXZhdGFyLWxvZ28tdXJsKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgd2lkdGg6IGNzLXJlbSg2NHB4KTtcbiAgICBoZWlnaHQ6IGNzLXJlbSg2NHB4KTtcbiAgfVxuXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcInNtYWxsXCIge1xuICAgIHdpZHRoOiBjcy1yZW0oMjRweCk7XG4gICAgaGVpZ2h0OiBjcy1yZW0oMjRweCk7XG4gIH1cblxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJsYXJnZVwiIHtcbiAgICB3aWR0aDogY3MtcmVtKDY0cHgpO1xuICAgIGhlaWdodDogY3MtcmVtKDY0cHgpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpblxuLy9cblxuQG1peGluIGNzLWJ1aWxkLWF2YXRhcnMoJG5hbWU6ICRjcy1hdmF0YXItc2VsZWN0b3IsICRtb2RpZmllcnM6ICRjcy1lbmFibGUtYXZhdGFycy1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy1hdmF0YXIoKTtcblxuICAgIC8vIENlcnRpZmllZCBNb2RpZmllclxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImNlcnRpZmllZFwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1jZXJ0aWZpZWQge1xuICAgICAgICBAaW5jbHVkZSBjcy1hdmF0YXIoXCJjZXJ0aWZpZWRcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2l6ZSBtb2RpZmllcnNcbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJzbWFsbFwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1zbWFsbCB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWF2YXRhcihcInNtYWxsXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImxhcmdlXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWxhcmdlIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtYXZhdGFyKFwibGFyZ2VcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9zZXR0aW5nc1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vYXRvbXMvbWl4aW5zL2Nsb3NlXCI7XG5cbi8vXG4vLyBTZXR0aW5nc1xuLy9cbiRjcy10YWctc2VsZWN0b3I6IFwidGFnXCIgIWRlZmF1bHQ7XG4kY3MtdGFnLWZvbnQtc2l6ZTogMTNweCAhZGVmYXVsdDtcbi8vIElubGluZSBlbGVtZW50cyBpbmNsdWRlIHNvbWUgZGVmYXVsdCBzcGFjaW5nLCBzbyB0aGUgaG9yaXpvbnRhbCBzZXBhcmF0aW9uXG4vLyBjYW4gbm90IGJlIDhweCwgaXQgaGFzIHRvIGJlIDVweCBpbnN0ZWFkLlxuJGNzLXRhZy1zcGFjZXItaG9yOiA1cHggIWRlZmF1bHQ7XG4kY3MtdGFnLXNwYWNlci12ZXI6ICRjcy1zcGFjZXItdGlueSAhZGVmYXVsdDtcbiRjcy10YWctYmctY29sb3I6ICRjcy1ncmF5LWZvZyAhZGVmYXVsdDtcbiRjcy10YWctYmctY29sb3ItaG92ZXI6ICRjcy1ncmF5LXNpbHZlciAhZGVmYXVsdDtcbiRjcy10YWctYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJGNzLXRhZy1jb2xvcjogJGNzLWdyYXktY2hhcmNvYWwgIWRlZmF1bHQ7XG4kY3MtdGFnLWNsb3NlLXNwYWNlci1sZWZ0OiA2cHggIWRlZmF1bHQ7XG4kY3MtdGFnLWNsb3NlLWZvbnQtc2l6ZTogMTFweCAhZGVmYXVsdDtcblxuLy9cbi8vIEJsb2NrIG1peGluc1xuLy9cblxuQG1peGluIGNzLXRhZygkbW9kaWZpZXI6IG51bGwpIHtcbiAgQGlmIChub3QgJG1vZGlmaWVyKSB7XG4gICAgQGluY2x1ZGUgY3MtZm9udC1zaXplKCRjcy10YWctZm9udC1zaXplLCAxKTtcbiAgICBAaW5jbHVkZSBjcy1ib3JkZXItcmFkaXVzKCRjcy1ib3JkZXItcmFkaXVzKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogJGNzLXNwYWNlci10aW55ICRjcy1zcGFjZXItYmFzZTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNzLXJlbSgkY3MtdGFnLXNwYWNlci1ob3IpO1xuICAgIG1hcmdpbi1ib3R0b206IGNzLXJlbSgkY3MtdGFnLXNwYWNlci12ZXIpO1xuICAgIGNvbG9yOiAkY3MtdGFnLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy10YWctYmctY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICBAaW5jbHVkZSBjcy1ob3ZlciB7XG4gICAgICBjb2xvcjogJGNzLXRhZy1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy10YWctYmctY29sb3ItaG92ZXI7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBjcy10YWItZm9jdXM7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJjbG9zZVwiKSB7XG4gICAgQGluY2x1ZGUgY3MtbWFrZS10cmFuc2l0aW9uKFwiZmFkZVwiKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3Mtc3BhY2VyLXRpbnk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjcy1mb250LXNpemUoJGNzLXRhZy1jbG9zZS1mb250LXNpemUsIDEpO1xuICAgICAgQGluY2x1ZGUgY3MtY2xvc2UtaWNvbjtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjcy1yZW0oJGNzLXRhZy1jbG9zZS1zcGFjZXItbGVmdCk7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy1idWlsZC10YWdzKCRuYW1lOiAkY3MtdGFnLXNlbGVjdG9yLCAkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLXRhZ3MtbW9kaWZpZXJzKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtdGFnO1xuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiY2xvc2VcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tY2xvc2UsXG4gICAgICAmW2RhdGEtZGlzbWlzcz1cInRhZ1wiXSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLXRhZyhcImNsb3NlXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjsgLy8gaW1wb3J0IGZpcnN0XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL2NvbXBvbmVudHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvc2VsZWN0b3JzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL3NwYWNpbmdcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvZm9udFNpemVcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9fc2hhZG93cy5taXhpbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vYXRvbXMvbWl4aW5zL2hlYWRpbmdzXCI7XG5AaW1wb3J0IFwiY3MtaWNvbnMvc3JjL3Njc3MvZ2xvYmFsL2dsb2JhbC5taXhpblwiO1xuXG4vL1xuLy8gQWNjb3JkaW9uIHNldHRpbmdzXG4vL1xuXG4kY3MtYWNjb3JkaW9uLXNlbGVjdG9yOiBcImFjY29yZGlvblwiICFkZWZhdWx0O1xuJGNzLWFjY29yZGlvbi1oZWFkZXItYXJyb3ctb3BlbmVkOiBcIlxcZjEwNFwiICFkZWZhdWx0O1xuJGNzLWFjY29yZGlvbi1oZWFkZXItYXJyb3ctY29sbGFwc2VkOiBcIlxcZjEwNlwiICFkZWZhdWx0O1xuJGNzLWFjY29yZGlvbi1oZWFkZXItYXJyb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQmxvY2sgbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy1hY2NvcmRpb24oJG1vZGlmaWVyOiBudWxsKSB7XG4gIC8vIERlZmF1bHQgc3R5bGluZ1xuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgJiArICYge1xuICAgICAgQGluY2x1ZGUgY3Mtc3BhY2VyKG1hcmdpbi10b3AsIG1lZGl1bSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR3JvdXAgbW9kaWZpZXJcbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwiZ3JvdXBcIiB7XG4gICAgQGluY2x1ZGUgY3Mtc3BhY2VyKHBhZGRpbmctcmlnaHQsIGJhc2UpO1xuICAgIEBpbmNsdWRlIGNzLXNwYWNlcihwYWRkaW5nLWxlZnQsIGJhc2UpO1xuICAgIEBpbmNsdWRlIGNzLWJveC1zaGFkb3cobWFwLWdldCgkY3Mtc2hhZG93LCBzaGFkb3cpKTtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjcy1ncmF5LXNpbHZlcjtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbnNcbi8vXG5cbkBtaXhpbiBjcy1hY2NvcmRpb25fX2dyb3VwLXRpdGxlKCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgQGluY2x1ZGUgY3MtaGVhZGluZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGNzLXNwYWNlcihwYWRkaW5nLCAoeHM6IG1lZGl1bSAxcHggYmFzZSwgc206IG1lZGl1bSBiYXNlIGJhc2UpKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNzLWdyYXktc2lsdmVyO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbkBtaXhpbiBjcy1hY2NvcmRpb25fX2l0ZW0oJG1vZGlmaWVyOiBudWxsKSB7XG4gICRzZWxlY3RvcjogY3Mtc2VsZWN0b3IoKTtcblxuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgQGluY2x1ZGUgY3Mtc3BhY2VyKHBhZGRpbmcsICh4czogMXB4IGJhc2UsIHNtOiAxcHggbGFyZ2UpKTtcbiAgICBAaW5jbHVkZSBjcy1ib3gtc2hhZG93KG1hcC1nZXQoJGNzLXNoYWRvdywgc2hhZG93KSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNzLWdyYXktc2lsdmVyO1xuXG4gICAgJiArICN7JHNlbGVjdG9yfSB7XG4gICAgICBAaW5jbHVkZSBjcy1zcGFjZXIobWFyZ2luLXRvcCwgbWVkaXVtKTtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJncm91cFwiIHtcbiAgICBAaW5jbHVkZSBjcy1zcGFjZXIocGFkZGluZywgKHhzOiAxcHgsIHNtOiAxcHggYmFzZSkpO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgICYgKyAjeyRzZWxlY3Rvcn0ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY3MtZ3JheS1zaWx2ZXI7XG4gICAgfVxuXG4gICAgLy8gcmVzZXQgc2hhZG93c1xuICAgICYsXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuQG1peGluIGNzLWFjY29yZGlvbl9faGVhZGVyKCRtb2RpZmllcjogbnVsbCkge1xuICAkc2VsZWN0b3I6IGNzLXNlbGVjdG9yKCk7XG5cbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgIEBpbmNsdWRlIGNzLXNwYWNlcihwYWRkaW5nLXRvcCwgYmFzZSk7XG4gICAgQGluY2x1ZGUgY3Mtc3BhY2VyKHBhZGRpbmctYm90dG9tLCBiYXNlKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICA+ICoge1xuICAgICAgZmxleDogMTtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvLyBTdHlsZXMgdGhlIGFjY29yZGlvbiBoZWFkZXIgdGl0bGUgYW5kIGljb25zXG4gICAgQGlmICRjcy1lbmFibGUtaGVhZGluZ3MtdGFncyB7XG4gICAgICBoMSxcbiAgICAgIGgyLFxuICAgICAgaDMsXG4gICAgICBoNCxcbiAgICAgIGg1IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgICAgICAgJi5pY29uOjpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGNzLXNwYWNlci1sYXJnZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6ICRjcy1zcGFjZXItbGFyZ2UgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuXG4gICAgICAgICYuaWNvbjo6YmVmb3JlLFxuICAgICAgICA+IGltZyB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY3Mtc3BhY2VyLWJhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWluZm8ge1xuICAgICAgZmxleDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygjeyRjcy1zcGFjZXItYmFzZX0gKyAjeyRjcy1hY2NvcmRpb24taGVhZGVyLWFycm93LXNpemV9KTsgLy8gYWxsb3cgc3BhY2luZyB0byBhcnJvdyBpY29uXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgICYtYXJyb3cge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsZXg6IDA7XG4gICAgICBjb2xvcjogJGNzLWNvbG9yLWxpbWU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgLTUwJSk7XG4gICAgICBAaW5jbHVkZSBjcy1pY29uLWdsb2JhbChcImFycm93LWRvd25cIiwgJGNzLWFjY29yZGlvbi1oZWFkZXItYXJyb3ctc2l6ZSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzLXRyYW5zaXRpb24odHJhbnNmb3JtIC4ycyBlYXNlKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjA4cztcblxuICAgICAgICBAaW5jbHVkZSBjcy1hdC1yb290KHVucXVvdGUoXCIuI3skY3MtbnN9Y29sbGFwc2VkXCIpKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtZGVzY3JpcHRpb24ge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwiZ3JvdXBcIiB7XG4gICAgaDMsXG4gICAgJjpub3QoLiN7JGNzLW5zfWNsb3NlKSB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG5AbWl4aW4gY3MtYWNjb3JkaW9uX19ib2R5KCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgY3Mtc3BhY2VyKHBhZGRpbmctYm90dG9tLCBcIm1lZGl1bVwiKTtcbiAgICB9XG5cbiAgICAmLiN7JGNzLW5zfWNvbGxhcHNlIHtcbiAgICAgICY6bm90KC4jeyRjcy1uc31zaG93KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi4jeyRjcy1uc31jb2xsYXBzaW5nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSBjcy10cmFuc2l0aW9uKGhlaWdodCAuNXMgZWFzZSk7XG4gICAgfVxuXG4gICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpbnNcbi8vXG5cbkBtaXhpbiBjcy1idWlsZC1hY2NvcmRpb25zKCRuYW1lOiAkY3MtYWNjb3JkaW9uLXNlbGVjdG9yLCAkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLWFjY29yZGlvbnMtbW9kaWZpZXJzKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtYWNjb3JkaW9uKCk7XG5cbiAgICAvLyBFbGVtZW50c1xuICAgICZfX2dyb3VwLXRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGNzLWFjY29yZGlvbl9fZ3JvdXAtdGl0bGUoKTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGNzLWFjY29yZGlvbl9faXRlbSgpO1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICBAaW5jbHVkZSBjcy1hY2NvcmRpb25fX2hlYWRlcigpO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgQGluY2x1ZGUgY3MtYWNjb3JkaW9uX19ib2R5KCk7XG4gICAgfVxuXG4gICAgLy8gTW9kaWZpZXJzXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiZ3JvdXBcIiwgJG1vZGlmaWVycykge1xuXG4gICAgICAmLS1ncm91cCB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWFjY29yZGlvbihcImdyb3VwXCIpO1xuXG4gICAgICAgIC4jeyRjcy1uc30jeyRuYW1lfV9faXRlbSB7XG4gICAgICAgICAgQGluY2x1ZGUgY3MtYWNjb3JkaW9uX19pdGVtKFwiZ3JvdXBcIik7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skY3MtbnN9I3skbmFtZX1fX2hlYWRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgY3MtYWNjb3JkaW9uX19oZWFkZXIoXCJncm91cFwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uL3V0aWxpdGllcy9zaGFkb3dzLm1peGluXCI7XG5AaW1wb3J0IFwiY3MtaWNvbnMvc3JjL3Njc3MvZ2xvYmFsL2dsb2JhbC5taXhpblwiO1xuXG4vL1xuLy8gU2V0dGluZ3Ncbi8vXG4kY3MtZHJvcGRvd24tc2VsZWN0b3I6IFwiZHJvcGRvd25cIiAhZGVmYXVsdDtcbiRjcy1kcm9wZG93bi1tYXgtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4kY3MtZHJvcGRvd24tdG9nZ2xlLW1heC13aWR0aDogMjYwcHggIWRlZmF1bHQ7XG4kY3MtZHJvcGRvd24tYXJyb3ctc3BhY2VyOiA0MnB4ICFkZWZhdWx0OyAvLyBiYXNlICogMiArIGFycm93IHdpZHRoXG4kY3MtZHJvcGRvd24tYXJyb3ctc2l6ZTogMTBweCAhZGVmYXVsdDtcbiRjcy1kcm9wZG93bi1hcnJvdy1oZWlnaHQ6IDZweCAhZGVmYXVsdDtcbiRjcy1kcm9wZG93bi1tZW51LXotaW5kZXg6ICRjcy16aW5kZXgtZHJvcGRvd24gIWRlZmF1bHQ7XG4kY3MtZHJvcGRvd24tbWVudS1taW4td2lkdGg6IDE4MnB4ICFkZWZhdWx0O1xuJGNzLWRyb3Bkb3duLW1lbnUtbWF4LXdpZHRoOiAyNjBweCAhZGVmYXVsdDtcbiRjcy1kcm9wZG93bi1tZW51LW1heC1oZWlnaHQ6IDI0MHB4ICFkZWZhdWx0O1xuJGNzLWRyb3Bkb3duLW1lbnUtc3BhY2VyOiAkY3Mtc3BhY2VyLXRpbnkgMCAhZGVmYXVsdDtcbiRjcy1kcm9wZG93bi1tZW51LWl0ZW0taG92ZXI6ICRjcy1ncmF5LWZvZyAhZGVmYXVsdDtcbiRjcy1kcm9wZG93bi1tZW51LWl0ZW0tY29sb3I6ICRjcy1jb2xvci1ibGFjayAhZGVmYXVsdDtcbiRjcy1kcm9wZG93bi1tZW51LWl0ZW0tYWN0aXZlOiAkY3MtYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy9cbi8vIEJsb2NrIG1peGluc1xuLy9cblxuQG1peGluIGNzLWRyb3Bkb3duKCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IGNzLXJlbSgkY3MtZHJvcGRvd24tbWF4LXdpZHRoKTtcbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID0gXCJibG9ja1wiKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAvLyBNYWtlIGRyb3Bkb3duX190b2dnbGUgYW5kIGRyb3Bkb3duX19tZW51IGZ1bGwgd2lkdGggd2hlbiBvbiBibG9jayBtb2RlLlxuICAgIC4jeyRjcy1uc30jeyRjcy1kcm9wZG93bi1zZWxlY3Rvcn0ge1xuICAgICAgJl9fdG9nZ2xlLFxuICAgICAgJl9fbWVudSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbnNcbi8vXG5cbkBtaXhpbiBjcy1kcm9wZG93bl9fb3ZlcmxheSgpIHtcbiAgJHNlbGVjdG9yOiBjcy1zZWxlY3RvcigpO1xuXG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJGNzLWRyb3Bkb3duLW1lbnUtei1pbmRleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWNvbG9yLWJsYWNrO1xuICBvcGFjaXR5OiAuNTtcblxuICAvLyBPbmx5IHNob3cgdGhlIG92ZXJsYXkgd2hlbiB0aGUgZHJvcGRvd24gaXMgb3BlbmVkLCBpZSwgaGFzIHNob3cgY2xhc3MuXG4gIEBpbmNsdWRlIGNzLWF0LXJvb3QoXCIuI3skY3MtbnN9I3skY3MtZHJvcGRvd24tc2VsZWN0b3J9LnNob3dcIikge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxufVxuXG5AbWl4aW4gY3MtZHJvcGRvd25fX3RvZ2dsZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IGNzLXJlbSgkY3MtZHJvcGRvd24tdG9nZ2xlLW1heC13aWR0aCk7XG4gIHBhZGRpbmctcmlnaHQ6IGNzLXJlbSgkY3MtZHJvcGRvd24tYXJyb3ctc3BhY2VyKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbiAgLy8gdG9nZ2xlIGFycm93XG4gIEBpbmNsdWRlIGNzLWljb24tZ2xvYmFsKFwiY2FyZXQtZG93blwiLCAkY3MtZHJvcGRvd24tYXJyb3ctc2l6ZSwgXCJhZnRlclwiKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYyg1MCUgLSAje2NzLXJlbSgkY3MtZHJvcGRvd24tYXJyb3ctc2l6ZSAvIDIpfSk7XG4gICAgcmlnaHQ6IGNzLXJlbSgkY3Mtc3BhY2VyLWJhc2UpO1xuICB9XG5cbiAgLy8gT25seSBhcHBseSB6LWluZGV4IHdoZW4gdGhlIGRyb3Bkb3duIGlzIG9wZW5lZCwgaWUsIGhhcyBzaG93IGNsYXNzLlxuICBAaW5jbHVkZSBjcy1hdC1yb290KFwiLiN7JGNzLW5zfSN7JGNzLWRyb3Bkb3duLXNlbGVjdG9yfS5zaG93XCIpIHtcbiAgICB6LWluZGV4OiAkY3MtZHJvcGRvd24tbWVudS16LWluZGV4ICsgMTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG5AbWl4aW4gY3MtZHJvcGRvd25fX21lbnUoKSB7XG4gIEBpbmNsdWRlIGNzLXNoYWRvdztcbiAgQGluY2x1ZGUgY3MtYm9yZGVyLXJhZGl1cyg0cHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogY3MtcmVtKCRjcy1kcm9wZG93bi1tZW51LW1pbi13aWR0aCk7XG4gIG1heC13aWR0aDogY3MtcmVtKCRjcy1kcm9wZG93bi1tZW51LW1heC13aWR0aCk7XG4gIG1heC1oZWlnaHQ6IGNzLXJlbSgkY3MtZHJvcGRvd24tbWVudS1tYXgtaGVpZ2h0KTtcbiAgcGFkZGluZzogJGNzLWRyb3Bkb3duLW1lbnUtc3BhY2VyO1xuICBtYXJnaW46ICRjcy1zcGFjZXItdGlueSAwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBjb2xvcjogJGNzLWRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWNvbG9yLXdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY3MtZ3JheS1mb2c7XG5cbiAgJi5zaG93IHtcbiAgICB6LWluZGV4OiAkY3MtZHJvcGRvd24tbWVudS16LWluZGV4ICsgMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG5AbWl4aW4gY3MtZHJvcGRvd25fX2l0ZW0oKSB7XG4gICYsXG4gICYgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkY3Mtc3BhY2VyLXRpbnkgJGNzLXNwYWNlci1iYXNlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjcy1kcm9wZG93bi1tZW51LWl0ZW0tY29sb3I7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGluY2x1ZGUgY3MtaG92ZXItZm9jdXMoKSB7XG4gICAgICBjb2xvcjogJGNzLWRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1kcm9wZG93bi1tZW51LWl0ZW0taG92ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRjcy1ncmF5LXN0ZWVsO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6ICRjcy1kcm9wZG93bi1tZW51LWl0ZW0tYWN0aXZlO1xuICAgIH1cblxuICAgIGxhYmVsW2Zvcl0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY3Mtc3BhY2VyLXRpbnk7XG4gICAgfVxuICB9XG5cbiAgJiA+IGEge1xuICAgIG1hcmdpbi10b3A6IC0oJGNzLXNwYWNlci10aW55KTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0oJGNzLXNwYWNlci1iYXNlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAtKCRjcy1zcGFjZXItdGlueSk7XG4gICAgbWFyZ2luLWxlZnQ6IC0oJGNzLXNwYWNlci1iYXNlKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG5AbWl4aW4gY3MtZHJvcGRvd25fX2RpdmlkZXIoKSB7XG4gIG1hcmdpbjogJGNzLXNwYWNlci10aW55IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY3MtZ3JheS1zaWx2ZXI7XG59XG5cbkBtaXhpbiBjcy1kcm9wZG93bl9faGVhZGVyKCkge1xuICBAaW5jbHVkZSBjcy1mb250LXNpemUoMTRweCwgMSk7XG4gIHBhZGRpbmc6ICRjcy1zcGFjZXItdGlueSAkY3Mtc3BhY2VyLWJhc2U7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpblxuLy9cblxuQG1peGluIGNzLWJ1aWxkLWRyb3Bkb3ducygkbmFtZTogJGNzLWRyb3Bkb3duLXNlbGVjdG9yKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtZHJvcGRvd247XG5cbiAgICAmLS1ibG9jayB7XG4gICAgICBAaW5jbHVkZSBjcy1kcm9wZG93bihcImJsb2NrXCIpO1xuICAgIH1cblxuICAgICZfX3RvZ2dsZSB7XG4gICAgICBAaW5jbHVkZSBjcy1kcm9wZG93bl9fdG9nZ2xlO1xuICAgIH1cblxuICAgICZfX292ZXJsYXkge1xuICAgICAgQGluY2x1ZGUgY3MtZHJvcGRvd25fX292ZXJsYXk7XG4gICAgfVxuXG4gICAgJl9fbWVudSB7XG4gICAgICBAaW5jbHVkZSBjcy1kcm9wZG93bl9fbWVudTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGNzLWRyb3Bkb3duX19pdGVtO1xuICAgIH1cblxuICAgICZfX2RpdmlkZXIge1xuICAgICAgQGluY2x1ZGUgY3MtZHJvcGRvd25fX2RpdmlkZXI7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzLWRyb3Bkb3duX19oZWFkZXI7XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9zZXR0aW5nc1wiO1xuXG5AaW1wb3J0IFwiLi4vLi4vYXRvbXMvbWl4aW5zL2Zvcm1Db250cm9sLm1peGluXCI7XG5AaW1wb3J0IFwiLi4vLi4vYXRvbXMvbWl4aW5zL2Zvcm1Db250cm9sQ2hlY2tib3gubWl4aW5cIjtcblxuLy9cbi8vIFNldHRpbmdzXG4vL1xuXG4kY3MtZm9ybS12YWxpZGF0ZWQtc2VsZWN0b3I6IFwiZm9ybS12YWxpZGF0ZWRcIiAhZGVmYXVsdDtcblxuJGNzLWZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogJGNzLXNwYWNlci1iYXNlICFkZWZhdWx0O1xuJGNzLWZvcm0tZ3JvdXAtc2VsZWN0b3I6IFwiZm9ybS1ncm91cFwiICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBNaXhpbnNcbi8vXG5cbi8vXG4vLyBCbG9jayBtaXhpbiB0byBjcmVhdGUgZm9ybSBncm91cCBzdHlsZXMuXG4vL1xuQG1peGluIGNzLWZvcm0tZ3JvdXAoKSB7XG4gIG1hcmdpbi1ib3R0b206ICRjcy1mb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBNaXhpbiB0byBzdHlsZSB2YWxpZGF0ZWQgZm9ybSBjb250cm9scyB1c2luZyB0aGUgOmludmFsaWQgc2VsZWN0b3IuXG4vL1xuQG1peGluIGNzLWZvcm0tdmFsaWRhdGVkKCkge1xuICAuI3skY3MtbnN9Zm9ybS1jb250cm9sIHtcbiAgICAmOmludmFsaWQge1xuICAgICAgQGluY2x1ZGUgX2NzLWZvcm0tY29udHJvbC1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAmOmludmFsaWQge1xuICAgICAgQGluY2x1ZGUgX2NzLWZvcm0tY29udHJvbC1jaGVjay1pbnZhbGlkO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5zXG4vL1xuXG5AbWl4aW4gY3MtYnVpbGQtZm9ybS12YWxpZGF0ZWQoJG5hbWU6ICRjcy1mb3JtLXZhbGlkYXRlZC1zZWxlY3Rvcikge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLWZvcm0tdmFsaWRhdGVkO1xuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGNzLWJ1aWxkLWZvcm0tZ3JvdXAoJG5hbWU6ICRjcy1mb3JtLWdyb3VwLXNlbGVjdG9yKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtZm9ybS1ncm91cDtcblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvc3BhY2luZ1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9yZW1cIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvbW9kdWxhcnNjYWxlXCI7XG5AaW1wb3J0IFwiLi4vLi4vYXRvbXMvbWl4aW5zL2xpbmtzXCI7XG5AaW1wb3J0IFwiLi4vLi4vYXRvbXMvbWl4aW5zL2J1dHRvbnNcIjtcblxuLy9cbi8vIFNldHRpbmdzXG4vL1xuJGNzLWhlcm8tc2VsZWN0b3I6IFwiaGVyb1wiICFkZWZhdWx0O1xuXG4vL1xuLy8gQmxvY2sgbWl4aW5cbi8vXG5AbWl4aW4gY3MtaGVybygkbW9kaWZpZXI6IG51bGwpIHtcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgIEBpbmNsdWRlIGNzLXNwYWNlcihwYWRkaW5nLCBsYXJnZSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDQwdmg7XG4gICAgbWluLWhlaWdodDogY3MtcmVtKDMwMHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IC01MHZ3O1xuICAgIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIC4wM3MgZWFzZSwgbWFyZ2luLWxlZnQgLjAzcyBlYXNlLCBoZWlnaHQgLjAzcyBlYXNlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIC4xKSwgcmdiYSgwLCAwLCAwLCAuNDUpLCByZ2JhKDAsIDAsIDAsIC41KSk7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcInNsaW1cIikge1xuICAgIGhlaWdodDogMzB2aDtcbiAgICBtaW4taGVpZ2h0OiBjcy1yZW0oMjUwcHgpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluc1xuLy9cblxuQG1peGluIGNzLWhlcm9fX2FydCgkbW9kaWZpZXI6IG51bGwpIHtcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgLy8gcmVzZXRzXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJ0b3BcIiB7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiB0b3A7XG4gIH1cblxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJib3R0b21cIiB7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBib3R0b207XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cbn1cblxuQG1peGluIGNzLWhlcm9fX2NvbnRlbnQoKSB7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICRjcy1jb2xvci13aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoXCJtZFwiKSB7XG4gICAgbWF4LXdpZHRoOiA2NSU7XG4gIH1cblxuICAvLyBBZGp1c3QgdmVydGljYWwgY2VudGVyaW5nIHdpdGggZGlzcGxheSBmb250c2l6ZVxuICAvLyBtdWx0aXBsaWVkIGJ5IHRoZSBoZWFkaW5nIGxpbmUgaGVpZ2h0IHZhbHVlcy5cbiAgQGlmIHR5cGUtb2YoJGNzLWRpc3BsYXktMS1zaXplKSA9PSBcIm1hcFwiIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHNpemUgaW4gJGNzLWRpc3BsYXktMS1zaXplIHtcbiAgICAgIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJF9kaXNwbGF5X3NpemU6IGlmKG5vdCB1bml0KCRzaXplKSwgY3MtcmVtKCRzaXplKSwgY3MtbW9kdWxhcnNjYWxlKCRzaXplKSk7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoI3skX2Rpc3BsYXlfc2l6ZX0gLSAjeyRjcy1zcGFjZXItbWVkaXVtfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkX2Rpc3BsYXlfc2l6ZTogaWYobm90IHVuaXQoJGNzLWRpc3BsYXktMS1zaXplKSwgY3MtcmVtKCRjcy1kaXNwbGF5LTEtc2l6ZSksIGNzLW1vZHVsYXJzY2FsZSgkY3MtZGlzcGxheS0xLXNpemUpKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCN7JF9kaXNwbGF5X3NpemV9IC0gI3skY3Mtc3BhY2VyLW1lZGl1bX0pO1xuICB9XG59XG5cbkBtaXhpbiBjcy1oZXJvX19hbmNob3IoKSB7XG4gIEBpbmNsdWRlIGNzLXNwYWNlcihtYXJnaW4tdG9wLCBtZWRpdW0pO1xuICB6LWluZGV4OiAxO1xuICBmbGV4OiAwIDAgYXV0bztcblxuICAvLyBzdHlsZSBsaW5rIGNvbG9yXG4gIGEuI3skY3MtbnN9I3skY3MtbGluay1zZWxlY3Rvcn0ge1xuICAgIGNvbG9yOiAkY3MtY29sb3Itd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3MtY29sb3Itd2hpdGU7XG4gIH1cbn1cblxuQG1peGluIGNzLWhlcm9fX2FjdGlvbnMoKSB7XG4gICRfYnRuLXNlbGVjdG9yOiAjeyRjcy1uc30jeyRjcy1idXR0b24tc2VsZWN0b3J9O1xuICAuI3skX2J0bi1zZWxlY3Rvcn0gKyAuI3skX2J0bi1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIGNzLXNwYWNlcihtYXJnaW4tbGVmdCwgbWVkaXVtKTtcbiAgfVxufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5cbi8vXG5AbWl4aW4gY3MtYnVpbGQtaGVyb2VzKCRuYW1lOiAkY3MtaGVyby1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS1oZXJvZXMtbW9kaWZpZXJzKSB7XG4gIC4jeyRjcy1uc30jeyRuYW1lfSB7XG4gICAgQGluY2x1ZGUgY3MtaGVybygpO1xuXG4gICAgJl9fYXJ0IHtcbiAgICAgIEBpbmNsdWRlIGNzLWhlcm9fX2FydCgpO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgY3MtaGVyb19fY29udGVudCgpO1xuICAgIH1cblxuICAgICZfX2FuY2hvciB7XG4gICAgICBAaW5jbHVkZSBjcy1oZXJvX19hbmNob3IoKTtcbiAgICB9XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgIEBpbmNsdWRlIGNzLWhlcm9fX2FjdGlvbnMoKTtcbiAgICB9XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJzbGltXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLXNsaW0ge1xuICAgICAgICBAaW5jbHVkZSBjcy1oZXJvKFwic2xpbVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJ0b3BcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tdG9wICZfX2FydCB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWhlcm9fX2FydChcInRvcFwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJib3R0b21cIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tYm90dG9tICZfX2FydCB7XG4gICAgICAgIEBpbmNsdWRlIGNzLWhlcm9fX2FydChcImJvdHRvbVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2NvbG9yc1wiO1xuQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2dsb2JhbHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9jb25maWd1cmF0aW9uXCI7XG5AaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvemluZGV4XCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL2JveFNoYWRvd1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9mb250U2l6ZVwiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL3NlbGVjdG9yc1wiO1xuXG4vL1xuLy8gU2V0dGluZ3Ncbi8vXG5cbiRjcy1tb2RhbC1zZWxlY3RvcjogXCJtb2RhbFwiICFkZWZhdWx0O1xuJGNzLW1vZGFsLW92ZXJsYXktb3BhY2l0eTogLjUgIWRlZmF1bHQ7XG4kY3MtbW9kYWwtd2lkdGg6IDU3NnB4ICFkZWZhdWx0O1xuJGNzLW1vZGFsLXRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kY3MtbW9kYWwtZmFkZS10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kY3MtbW9kYWwtc2hvdy10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kY3MtbW9kYWwtZGlhbG9nLXNoYWRvdzogMCAycHggOHB4IHJnYmEoJGNzLWNvbG9yLWJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kY3MtbW9kYWwtZGlhbG9nLW1hcmdpbi15OiAxNDBweCAhZGVmYXVsdDtcblxuLy9cbi8vIE1peGluc1xuLy9cblxuLy9cbi8vIE1haW4gbWl4aW4gdG8gY3JlYXRlIG1vZGFsIGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1tb2RhbCgkbW9kYWwtc2VsZWN0b3I6ICRjcy1tb2RhbC1zZWxlY3RvciwgJG1vZGlmaWVyOiBudWxsKSB7XG4gICRzZWxlY3RvcjogY3Mtc2VsZWN0b3IoKTtcblxuICAvLyBEZWZhdWx0XG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRjcy16aW5kZXgtbW9kYWw7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvblwidCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gICAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gICAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxuXG4gICAgLy8gVGhpcyBpcyBzZXQgaGVyZSB0byBlbnN1cmUgbW9kYWwgcGFyZW50IGlzIG5vdCBzY3JvbGxhYmxlXG4gICAgQGF0LXJvb3QgI3skc2VsZWN0b3J9LW9wZW4ge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcIm1lZGlhXCIpIHtcbiAgICAuI3skY3MtbnN9I3skbW9kYWwtc2VsZWN0b3J9IHtcbiAgICAgICZfX2RpYWxvZyB7XG4gICAgICAgIEBpbmNsdWRlIGNzLW1vZGFsX19kaWFsb2coXCJtZWRpYVwiKTtcbiAgICAgIH1cblxuICAgICAgJl9faGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtbW9kYWxfX2hlYWRlcihcIm1lZGlhXCIpO1xuICAgICAgfVxuXG4gICAgICAmX19zdWItdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBjcy1tb2RhbF9fc3ViLXRpdGxlKCk7XG4gICAgICB9XG5cbiAgICAgICZfX2JvZHkge1xuICAgICAgICBAaW5jbHVkZSBjcy1tb2RhbF9fYm9keSgkbW9kYWwtc2VsZWN0b3IsIFwibWVkaWFcIik7XG4gICAgICB9XG5cbiAgICAgICZfX21lZGlhIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtbW9kYWxfX21lZGlhKCk7XG4gICAgICB9XG5cbiAgICAgICZfX21lZGlhLWluZm8ge1xuICAgICAgICBAaW5jbHVkZSBjcy1tb2RhbF9fbWVkaWEtaW5mbygkbW9kYWwtc2VsZWN0b3IpO1xuICAgICAgfVxuXG4gICAgICAmX19tZWRpYS1pbmZvLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBjcy1tb2RhbF9fbWVkaWEtaW5mby10ZXh0KCk7XG4gICAgICB9XG5cbiAgICAgICZfX21lZGlhLWluZm8tYWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtbW9kYWxfX21lZGlhLWluZm8tYWN0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gTWFpbiBtaXhpbiB0byBjcmVhdGUgbW9kYWwtYmFja2Ryb3AgZWxlbWVudHMuXG4vL1xuQG1peGluIGNzLW1vZGFsLWJhY2tkcm9wKCRtb2RpZmllcjogbnVsbCkge1xuICAvLyBEZWZhdWx0XG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRjcy16aW5kZXgtbW9kYWwtYmFja2Ryb3A7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtY29sb3ItYmxhY2s7XG5cbiAgICAmLiN7JGNzLW5zfWZhZGUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAmLiN7JGNzLW5zfXNob3cge1xuICAgICAgb3BhY2l0eTogJGNzLW1vZGFsLW92ZXJsYXktb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICAvLyBFcnJvclxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gc3R5bGUgdGhlIGRpYWxvZyBlbGVtZW50IG9mIGEgbW9kYWwuXG4vL1xuQG1peGluIGNzLW1vZGFsX19kaWFsb2coJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICAgIC8vIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1jb2xvci13aGl0ZTtcbiAgICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgb3V0bGluZTogMDtcblxuICAgIEBpbmNsdWRlIGNzLWF0LXJvb3QoXCIuI3skY3MtbnN9ZmFkZVwiKSB7XG4gICAgICBAaW5jbHVkZSBjcy10cmFuc2l0aW9uKCRjcy1tb2RhbC10cmFuc2l0aW9uKTtcbiAgICAgIHRyYW5zZm9ybTogJGNzLW1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGNzLWF0LXJvb3QoXCIuI3skY3MtbnN9c2hvd1wiKSB7XG4gICAgICB0cmFuc2Zvcm06ICRjcy1tb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKFwic21cIikge1xuICAgICAgLy8gQG1lZGlhIChtaW4td2lkdGg6IDYyNHB4KSB7XG4gICAgICBAaW5jbHVkZSBjcy1ib3gtc2hhZG93KCRjcy1tb2RhbC1kaWFsb2ctc2hhZG93KTtcbiAgICAgIHdpZHRoOiBjcy1yZW0oJGNzLW1vZGFsLXdpZHRoKTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogY3MtcmVtKCRjcy1tb2RhbC1kaWFsb2ctbWFyZ2luLXkpIGF1dG8gMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjcy1ncmF5LXNpbHZlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRjcy1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgIC4jeyRjcy1uc31jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRjcy1zcGFjZXItYmFzZTtcbiAgICAgIHJpZ2h0OiAkY3Mtc3BhY2VyLWJhc2U7XG4gICAgICB6LWluZGV4OiAkY3MtemluZGV4LW1vZGFsO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwiZnVsbFwiIHtcbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKFwibWRcIikge1xuICAgICAgQGluY2x1ZGUgY3MtYm94LXNoYWRvdyhub25lKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcIm1lZGlhXCIpIHtcbiAgICBjb2xvcjogJGNzLWNvbG9yLXdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1jb2xvci1ibGFjaztcbiAgICBib3JkZXI6IDA7XG5cbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKFwic21cIikge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIEFORCAobWF4LXdpZHRoOiBjcy1icmVha3BvaW50LW1heChcIm1kXCIpKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoXCJsZ1wiKSB7XG4gICAgICB3aWR0aDogODMlO1xuICAgICAgbWF4LXdpZHRoOiAxMDQycHg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBzdHlsZSB0aGUgaGVhZGVyIGVsZW1lbnQgb2YgYSBtb2RhbC5cbi8vXG5AbWl4aW4gY3MtbW9kYWxfX2hlYWRlcigkbW9kaWZpZXI6IG51bGwpIHtcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6ICRjcy1zcGFjZXItbGFyZ2UgJGNzLXNwYWNlci1tZWRpdW0gJGNzLXNwYWNlci1iYXNlO1xuICAgIGNvbG9yOiAkY3MtYnJhbmQtYmxhY2s7XG5cbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKFwibWRcIikge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY3MtcmVtKCRjcy1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjcy1yZW0oJGNzLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJkYXJrXCIge1xuICAgIGNvbG9yOiAkY3MtY29sb3Itd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWJyYW5kLWJsYWNrO1xuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJtZWRpYVwiKSB7XG4gICAgY29sb3I6ICRjcy1jb2xvci13aGl0ZTtcblxuICAgIEBtZWRpYSAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgQU5EIChtYXgtd2lkdGg6IGNzLWJyZWFrcG9pbnQtbWF4KFwibWRcIikpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcImZ1bGxcIiB7XG4gICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cChcIm1kXCIpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBzdHlsZSB0aGUgc3ViLXRpdGxlIGVsZW1lbnQgb2YgYSBtb2RhbC5cbi8vXG5AbWl4aW4gY3MtbW9kYWxfX3N1Yi10aXRsZSgpIHtcbiAgQGluY2x1ZGUgY3MtZm9udC1zaXplKDEzcHgpO1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiBjcy1yZW0oJGNzLXNwYWNlci10aW55KTtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIHN0eWxlIHRoZSB0aXRsZSBlbGVtZW50IG9mIGEgbW9kYWwuXG4vL1xuQG1peGluIGNzLW1vZGFsX190aXRsZSgpIHtcbiAgcGFkZGluZy1yaWdodDogJGNzLXNwYWNlci1tZWRpdW07XG4gIG1hcmdpbjogMCBhdXRvIDAgMDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIHN0eWxlIHRoZSBzaGFyZSBlbGVtZW50IG9mIGEgbW9kYWwuXG4vL1xuQG1peGluIGNzLW1vZGFsX19zaGFyZSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogJGNzLXNwYWNlci1tZWRpdW07XG4gIGJvdHRvbTogJGNzLXNwYWNlci1iYXNlO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoXCJzbVwiKSB7XG4gICAgZm9udC1zaXplOiAkY3MtZm9udC1zaXplLWJhc2U7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY3Mtc3BhY2VyLXRpbnk7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIHN0eWxlIHRoZSBib2R5IGVsZW1lbnQgb2YgYSBtb2RhbC5cbi8vXG5AbWl4aW4gY3MtbW9kYWxfX2JvZHkoJG1vZGFsLXNlbGVjdG9yOiAkY3MtbW9kYWwtc2VsZWN0b3IsICRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogJGNzLXNwYWNlci1tZWRpdW07XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwibWVkaWFcIikge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoXCJzbVwiKSB7XG4gICAgICBmbGV4OiB1bnNldDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkY3Mtc3BhY2VyLW1lZGl1bTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIEFORCAobWF4LXdpZHRoOiBjcy1icmVha3BvaW50LW1heChcIm1kXCIpKSB7XG4gICAgICBtYXJnaW4tdG9wOiAkY3Mtc3BhY2VyLW1lZGl1bTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIGdvaW5nIHRvIGFwcGx5IGZvciBcImxnXCIgYW5kIHVwIG9yIGZvciBsYW5kc2NhbnBlIHVwIHRvIFwibWRcIi5cbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwLWxhbmRzY2FwZShcImxnXCIsIFwibWRcIikge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBzdHlsZSB0aGUgbWVkaWEgZWxlbWVudCBvZiBhIG1vZGFsLlxuLy9cbkBtaXhpbiBjcy1tb2RhbF9fbWVkaWEoKSB7XG4gIGZsZXg6IDE7XG5cbiAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cChcInNtXCIpIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwLWxhbmRzY2FwZShcImxnXCIsIFwibWRcIikge1xuICAgIGZsZXg6IDAgMCA3MCU7XG4gICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIHN0eWxlIHRoZSBtZWRpYS1pbmZvIGVsZW1lbnQgb2YgYSBtb2RhbC5cbi8vXG5AbWl4aW4gY3MtbW9kYWxfX21lZGlhLWluZm8oJG1vZGFsLXNlbGVjdG9yKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAkY3Mtc3BhY2VyLWxhcmdlIDAgJGNzLXNwYWNlci1tZWRpdW07XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICRjcy1icmFuZC1ibGFjaztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWNvbG9yLXdoaXRlO1xuXG4gIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoXCJzbVwiKSB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gIH1cblxuICBAbWVkaWEgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIEFORCAobWF4LXdpZHRoOiBjcy1icmVha3BvaW50LW1heChcIm1kXCIpKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAtbGFuZHNjYXBlKFwibGdcIiwgXCJtZFwiKSB7XG4gICAgZmxleDogMCAwIDMwJTtcbiAgfVxuXG4gICYuc2Nyb2xsLWJveCB7XG4gICAgLiN7JGNzLW5zfSN7JG1vZGFsLXNlbGVjdG9yfV9fbWVkaWEtaW5mby10ZXh0IHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICAuI3skY3MtbnN9I3skbW9kYWwtc2VsZWN0b3J9X19tZWRpYS1pbmZvLWFjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNzLWdyYXktc2lsdmVyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTI1cHg7XG4gICAgICAgIHJpZ2h0OiAkY3Mtc3BhY2VyLW1lZGl1bTtcbiAgICAgICAgbGVmdDogJGNzLXNwYWNlci1tZWRpdW07XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgkY3MtY29sb3Itd2hpdGUsIC4yKSwgJGNzLWNvbG9yLXdoaXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gc3R5bGUgdGhlIG1lZGlhLWluZm8tdGV4dCBlbGVtZW50IG9mIGEgbW9kYWwuXG4vL1xuQG1peGluIGNzLW1vZGFsX19tZWRpYS1pbmZvLXRleHQoKSB7XG4gIHBhZGRpbmc6IDAgJGNzLXNwYWNlci1tZWRpdW0gJGNzLXNwYWNlci1tZWRpdW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIHN0eWxlIHRoZSBtZWRpYS1pbmZvLWFjdGlvbiBlbGVtZW50IG9mIGEgbW9kYWwuXG4vL1xuQG1peGluIGNzLW1vZGFsX19tZWRpYS1pbmZvLWFjdGlvbigpIHtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogJGNzLXNwYWNlci1tZWRpdW0gJGNzLXNwYWNlci1tZWRpdW0gMDtcblxuICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKFwibWRcIikge1xuICAgID4gLmJ0biB7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cChcImxnXCIpIHtcbiAgICA+IC5idG4ge1xuICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gc3R5bGUgdGhlIGFjdGlvbnMgZWxlbWVudCBvZiBhIG1vZGFsLlxuLy9cbkBtaXhpbiBjcy1tb2RhbF9fYWN0aW9ucyB7XG4gIHBhZGRpbmc6ICRjcy1zcGFjZXItbWVkaXVtO1xuICBmb250LXNpemU6IDA7IC8vIHJlbW92ZXMgd2hpdGVzcGFjZSBiZXR3ZWVuIGlubGluZSBlbGVtZW50c1xuXG4gIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoXCJzbVwiKSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gc3R5bGUgdGhlIGZvb3RlciBlbGVtZW50IG9mIGEgbW9kYWwuXG4vL1xuQG1peGluIGNzLW1vZGFsX19mb290ZXIge1xuICBAaW5jbHVkZSBjcy1mb250LXNpemUoMTNweCk7XG4gIHBhZGRpbmc6ICRjcy1zcGFjZXItbWVkaXVtO1xuICBjb2xvcjogJGNzLWdyYXktaXJvbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjcy1ncmF5LXNpbHZlcjtcblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEJ1aWxkIG1peGluXG4vL1xuQG1peGluIGNzLWJ1aWxkLW1vZGFscygkbW9kYWwtc2VsZWN0b3I6ICRjcy1tb2RhbC1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS1tb2RhbHMtbW9kaWZpZXJzKSB7XG4gIC8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuICAuI3skY3MtbnN9I3skbW9kYWwtc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSBjcy1tb2RhbCgkbW9kYWwtc2VsZWN0b3IpO1xuXG4gICAgJi1iYWNrZHJvcCB7XG4gICAgICBAaW5jbHVkZSBjcy1tb2RhbC1iYWNrZHJvcCgpO1xuICAgIH1cblxuICAgICZfX2RpYWxvZyB7XG4gICAgICBAaW5jbHVkZSBjcy1tb2RhbF9fZGlhbG9nKCk7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzLW1vZGFsX19oZWFkZXIoKTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBAaW5jbHVkZSBjcy1tb2RhbF9fdGl0bGUoKTtcbiAgICB9XG5cbiAgICAmX19zdWItdGl0bGUge1xuICAgICAgQGluY2x1ZGUgY3MtbW9kYWxfX3N1Yi10aXRsZSgpO1xuICAgIH1cblxuICAgICZfX3NoYXJlIHtcbiAgICAgIEBpbmNsdWRlIGNzLW1vZGFsX19zaGFyZSgpO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgQGluY2x1ZGUgY3MtbW9kYWxfX2JvZHkoJG1vZGFsLXNlbGVjdG9yKTtcbiAgICB9XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgIEBpbmNsdWRlIGNzLW1vZGFsX19hY3Rpb25zKCk7XG4gICAgfVxuXG4gICAgJl9fZm9vdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzLW1vZGFsX19mb290ZXIoKTtcbiAgICB9XG5cbiAgICAvLyBNZWRpYSBtb2RpZmllclxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcIm1lZGlhXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLW1lZGlhIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtbW9kYWwoJG1vZGFsLXNlbGVjdG9yLCBcIm1lZGlhXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmsgTW9kaWZpZXJcbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJkYXJrXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLSN7ZGFya30ge1xuICAgICAgICAuI3skY3MtbnN9I3skbW9kYWwtc2VsZWN0b3J9X19oZWFkZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGNzLW1vZGFsX19oZWFkZXIoXCJkYXJrXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRnVsbCBNb2RpZmllclxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImZ1bGxcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tI3tmdWxsfSB7XG4gICAgICAgIC4jeyRjcy1uc30jeyRtb2RhbC1zZWxlY3Rvcn1fX2RpYWxvZyB7XG4gICAgICAgICAgQGluY2x1ZGUgY3MtbW9kYWxfX2RpYWxvZyhcImZ1bGxcIik7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skY3MtbnN9I3skbW9kYWwtc2VsZWN0b3J9X19oZWFkZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGNzLW1vZGFsX19oZWFkZXIoXCJmdWxsXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9zZXR0aW5nc1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvZnVuY3Rpb25zXCI7XG5cbi8vXG4vLyBOb3RpZmljYXRpb24gc2V0dGluZ3Ncbi8vXG5cbiRjcy1ub3RpZmljYXRpb24tc2VsZWN0b3I6IFwibm90aWZpY2F0aW9uXCIgIWRlZmF1bHQ7XG4kY3Mtbm90aWZpY2F0aW9uLWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcbiRjcy1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1czogNHB4ICFkZWZhdWx0O1xuJGNzLW5vdGlmaWNhdGlvbi1pY29uLWZvbnQtc2l6ZTogMjBweCAhZGVmYXVsdDtcbiRjcy1ub3RpZmljYXRpb24tc3VjY2VzczogKFxuICBjb2xvcjogJGNzLWNvbG9yLWZvcmVzdCxcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWNvbG9yLW1pbnQsXG4gIGJvcmRlci1jb2xvcjogJGNzLWNvbG9yLWxpbWUsXG4gIGNvbnRlbnQ6IGNzLWljb24tdmFsdWUoXCJlbW9qaS1zdWNjZXNzXCIpXG4pICFkZWZhdWx0O1xuJGNzLW5vdGlmaWNhdGlvbi1lcnJvcjogKFxuICBjb2xvcjogJGNzLWNvbG9yLW1hcm9vbixcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWNvbG9yLWJsdXNoLFxuICBib3JkZXItY29sb3I6ICRjcy1jb2xvci1yZWQsXG4gIGNvbnRlbnQ6IGNzLWljb24tdmFsdWUoXCJlbW9qaS1lcnJvclwiKVxuKSAhZGVmYXVsdDtcbiRjcy1ub3RpZmljYXRpb24tYWxlcnQ6IChcbiAgY29sb3I6ICRjcy1jb2xvci13YWxudXQsXG4gIGJhY2tncm91bmQtY29sb3I6ICRjcy1jb2xvci1jcmVhbSxcbiAgYm9yZGVyLWNvbG9yOiAkY3MtY29sb3ItYW1iZXIsXG4gIGNvbnRlbnQ6IGNzLWljb24tdmFsdWUoXCJhbGVydFwiKVxuKSAhZGVmYXVsdDtcbiRjcy1ub3RpZmljYXRpb24taW5mbzogKFxuICBjb2xvcjogJGNzLWJyYW5kLWJsYWNrLFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtZ3JheS1mb2csXG4gIGJvcmRlci1jb2xvcjogJGNzLWdyYXktc3RlZWwsXG4gIGNvbnRlbnQ6IGNzLWljb24tdmFsdWUoXCJpbmZvLW91dGxpbmVcIilcbikgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIE5vdGlmaWNhdGlvbiBtaXhpbnNcbi8vXG5cbi8vXG4vLyBNYWluIG1peGluIHRvIGNyZWF0ZSBub3RpZmljYXRpb24gZWxlbWVudHMuXG4vL1xuQG1peGluIGNzLW5vdGlmaWNhdGlvbigkbW9kaWZpZXI6IG51bGwpIHtcbiAgQGlmIChub3QgJG1vZGlmaWVyKSB7XG4gICAgQGluY2x1ZGUgY3MtZm9udC1zaXplKCRjcy1ub3RpZmljYXRpb24tZm9udC1zaXplLCAxKTtcbiAgICBAaW5jbHVkZSBjcy1tYWtlLXRyYW5zaXRpb24oXCJmYWRlXCIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogJGNzLXNwYWNlci1iYXNlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IGNzLXJlbSgkY3Mtbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGNzLXNwYWNlci10aW55O1xuICAgICAgZm9udC1mYW1pbHk6IGNzLWdsb2JhbC1pY29ucywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogY3MtcmVtKCRjcy1ub3RpZmljYXRpb24taWNvbi1mb250LXNpemUpO1xuICAgIH1cblxuICAgIC8vIFNtYWxsIGFsaWdubWVudCBmaXggZm9yIGlubGluZSBsaW5rcy5cbiAgICAuI3skY3MtbnN9bGluayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjcy1yZW0oLTJweCk7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJzdWNjZXNzXCIpIHtcbiAgICBAaW5jbHVkZSBfY3Mtbm90aWZpY2F0aW9uLXR5cGUtcHJvcGVydGllcygkY3Mtbm90aWZpY2F0aW9uLXN1Y2Nlc3MpO1xuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJlcnJvclwiKSB7XG4gICAgQGluY2x1ZGUgX2NzLW5vdGlmaWNhdGlvbi10eXBlLXByb3BlcnRpZXMoJGNzLW5vdGlmaWNhdGlvbi1lcnJvcik7XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImFsZXJ0XCIpIHtcbiAgICBAaW5jbHVkZSBfY3Mtbm90aWZpY2F0aW9uLXR5cGUtcHJvcGVydGllcygkY3Mtbm90aWZpY2F0aW9uLWFsZXJ0KTtcbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwiaW5mb1wiKSB7XG4gICAgQGluY2x1ZGUgX2NzLW5vdGlmaWNhdGlvbi10eXBlLXByb3BlcnRpZXMoJGNzLW5vdGlmaWNhdGlvbi1pbmZvKTtcbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwibm8taWNvblwiKSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVuc2V0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gc3R5bGUgdGhlIGNsb3NlIGVsZW1lbnQgb2YgYSBub3RpZmljYXRpb24uXG4vL1xuQG1peGluIGNzLW5vdGlmaWNhdGlvbl9fY2xvc2UoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICRjcy1zcGFjZXItYmFzZTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vXG4vLyBVdGlsaXkgbWl4aW4gdGhhdCBjcmVhdGVzIGNvbW1vbiBwcm9wZXJ0aWVzIG9mIG5vdGlmaWNhdGlvbiB0eXBlcy5cbi8vXG5AbWl4aW4gX2NzLW5vdGlmaWNhdGlvbi10eXBlLXByb3BlcnRpZXMoJHR5cGUpIHtcbiAgY29sb3I6IG1hcC1nZXQoJHR5cGUsIFwiY29sb3JcIik7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHR5cGUsIFwiYmFja2dyb3VuZC1jb2xvclwiKTtcbiAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0eXBlLCBcImJvcmRlci1jb2xvclwiKTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHR5cGUsIFwiY29udGVudFwiKTtcbiAgfVxufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5cbi8vXG5AbWl4aW4gY3MtYnVpbGQtbm90aWZpY2F0aW9uKCRuYW1lOiAkY3Mtbm90aWZpY2F0aW9uLXNlbGVjdG9yLCAkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLW5vdGlmaWNhdGlvbi1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy1ub3RpZmljYXRpb247XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICBAaW5jbHVkZSBjcy1ub3RpZmljYXRpb25fX2Nsb3NlO1xuICAgIH1cblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcInN1Y2Nlc3NcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tc3VjY2VzcyB7XG4gICAgICAgIEBpbmNsdWRlIGNzLW5vdGlmaWNhdGlvbihcInN1Y2Nlc3NcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiZXJyb3JcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tZXJyb3Ige1xuICAgICAgICBAaW5jbHVkZSBjcy1ub3RpZmljYXRpb24oXCJlcnJvclwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJhbGVydFwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1hbGVydCB7XG4gICAgICAgIEBpbmNsdWRlIGNzLW5vdGlmaWNhdGlvbihcImFsZXJ0XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBjcy1jaGVjay1tb2RpZmllci1idWlsZChcImluZm9cIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0taW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGNzLW5vdGlmaWNhdGlvbihcImluZm9cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwibm8taWNvblwiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1uby1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgY3Mtbm90aWZpY2F0aW9uKFwibm8taWNvblwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3NldHRpbmdzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9mdW5jdGlvbnNcIjtcblxuLy9cbi8vIFBhZ2luYXRpb24gc2V0dGluZ3Ncbi8vXG5cbiRjcy1wYWdpbmF0aW9uLXNlbGVjdG9yOiBcInBhZ2luYXRpb25cIiAhZGVmYXVsdDtcbiRjcy1wYWdpbmF0aW9uLWl0ZW0tc2l6ZTogJGNzLXNwYWNlci1sYXJnZSAhZGVmYXVsdDtcbiRjcy1wYWdpbmF0aW9uLWl0ZW0tc3BhY2U6ICRjcy1zcGFjZXItdGlueSAhZGVmYXVsdDtcbiRjcy1wYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnOiAkY3MtZ3JheS1zaWx2ZXIgIWRlZmF1bHQ7XG4kY3MtcGFnaW5hdGlvbi1saW5rLWhvdmVyLWNvbG9yOiAkY3MtY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kY3MtcGFnaW5hdGlvbi1saW5rLWhvdmVyLWJnOiAkY3MtYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRjcy1wYWdpbmF0aW9uLXByZXZpb3VzLWljb24tY29kZTogY3MtaWNvbi12YWx1ZShcImFycm93LWxlZnRcIikgIWRlZmF1bHQ7XG4kY3MtcGFnaW5hdGlvbi1uZXh0LWljb24tY29kZTogY3MtaWNvbi12YWx1ZShcImFycm93LXJpZ2h0XCIpICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBQYWdpbmF0aW9uIG1peGluc1xuLy9cblxuLy9cbi8vIEJsb2NrIG1peGluIHRvIGNyZWF0ZSBwYWdpbmF0aW9uIHJvb3QgZWxlbWVudHMuXG4vL1xuQG1peGluIGNzLXBhZ2luYXRpb24oJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiAobm90ICRtb2RpZmllcikge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwiY2VudGVyZWRcIikge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBjcmVhdGUgcGFnaW5hdGlvbiBpdGVtIGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1wYWdpbmF0aW9uX19pdGVtKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogY3MtcmVtKCRjcy1wYWdpbmF0aW9uLWl0ZW0tc2l6ZSk7XG4gIGhlaWdodDogY3MtcmVtKCRjcy1wYWdpbmF0aW9uLWl0ZW0tc2l6ZSk7XG4gIG1hcmdpbi1yaWdodDogY3MtcmVtKCRjcy1wYWdpbmF0aW9uLWl0ZW0tc3BhY2UpO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgLy8gRG8gbm90IHNob3cgaXRlbXMgdGhhdCBhcmUgaGlkZGVuIGZvciBtb2JpbGUuXG4gICYuc21hbGwtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gU29tZSBjb21tb24gcHJvcGVydGllcyBmb3IgZWxlbWVudHMgaW5zaWRlIGl0ZW0gZWxlbWVudHMuXG4gIC8vIFByZXZlbnQgc3R5bGUgcmVwZXRpdGlvbiBmb3IgZGlmZmVyZW50IGl0ZW0gZWxlbWVudHMuXG4gID4gW2NsYXNzXj1cInBhZ2luYXRpb25fX1wiXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiBhdXRvO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKFwibWRcIikge1xuICAgIC8vIEl0ZW1zIGhpZGRlbiBvbiBtb2JpbGUgYXJlIG5vdyB2aXNpYmxlIGZvciBkZXNrdG9wLlxuICAgICYuc21hbGwtaGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLy8gRG8gbm90IHNob3cgaXRlbXMgdGhhdCBhcmUgaGlkZGVuIGZvciBkZXNrdG9wLlxuICAgICYubGFyZ2UtaGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIGNyZWF0ZSBwYWdpbmF0aW9uIGxpbmsgaXRlbSBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3MtcGFnaW5hdGlvbl9fbGluaygpIHtcbiAgLy8gQWRkIHN0YXRlIGJlaGF2aW9yIG9ubHkgZm9yIHNpemUgYmlnZ2VyIHRoYW4gdGFibGV0LlxuICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKFwibWRcIikge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1wYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnO1xuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpIHtcbiAgICAgIEBpbmNsdWRlIGNzLWhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkY3MtcGFnaW5hdGlvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtcGFnaW5hdGlvbi1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBjcmVhdGUgcGFnaW5hdGlvbiBwcmV2aW91cyBhcnJvdyBpdGVtIGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1wYWdpbmF0aW9uX19wcmV2aW91cygpIHtcbiAgQGluY2x1ZGUgX2NzLXBhZ2luYXRpb24taXRlbS1hcnJvdygkY3MtcGFnaW5hdGlvbi1wcmV2aW91cy1pY29uLWNvZGUpO1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBjcmVhdGUgcGFnaW5hdGlvbiBuZXh0IGFycm93IGl0ZW0gZWxlbWVudHMuXG4vL1xuQG1peGluIGNzLXBhZ2luYXRpb25fX25leHQoKSB7XG4gIEBpbmNsdWRlIF9jcy1wYWdpbmF0aW9uLWl0ZW0tYXJyb3coJGNzLXBhZ2luYXRpb24tbmV4dC1pY29uLWNvZGUpO1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBjcmVhdGUgcGFnaW5hdGlvbiBlbGxpcHNpcyBpdGVtIGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1wYWdpbmF0aW9uX19lbGxpcHNpcygpIHtcbiAgLy8gU2hvdyB0aGUgYG9mYCBzdHJpbmcgZm9yIG1vYmlsZSBzaXplLlxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJvZlwiO1xuICB9XG5cbiAgLy8gU2hvdyB0aGUgYC4uLmAgc3RyaW5nIGZvciBzaXplIGJpZ2dlciB0aGFuIG1vYmlsZS5cbiAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cChcIm1kXCIpIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIi4uLlwiO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gVXRpbGl0eSBtaXhpbiB0byBhcHBseSBwYWdpbmF0aW9uIGFycm93IGl0ZW0gc3R5bGVzLlxuLy9cbkBtaXhpbiBfY3MtcGFnaW5hdGlvbi1pdGVtLWFycm93KCRhcnJvdy1pY29uLWNvZGUpIHtcbiAgQGluY2x1ZGUgY3MtaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgICBjb2xvcjogJGNzLXBhZ2luYXRpb24tbGluay1ob3Zlci1iZztcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBmb250LWZhbWlseTogJGNzLWljb24tZ2xvYmFsLWZvbnQtZmFtaWx5O1xuICAgIGNvbnRlbnQ6ICRhcnJvdy1pY29uLWNvZGU7XG4gIH1cbn1cblxuLy9cbi8vIEJ1aWxkIG1peGluXG4vL1xuXG5AbWl4aW4gY3MtYnVpbGQtcGFnaW5hdGlvbigkbmFtZTogJGNzLXBhZ2luYXRpb24tc2VsZWN0b3IsICRtb2RpZmllcnM6ICRjcy1lbmFibGUtcGFnaW5hdGlvbi1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy1wYWdpbmF0aW9uO1xuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiY2VudGVyZWRcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tY2VudGVyZWQge1xuICAgICAgICBAaW5jbHVkZSBjcy1wYWdpbmF0aW9uKFwiY2VudGVyZWRcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBjcy1wYWdpbmF0aW9uX19pdGVtO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgQGluY2x1ZGUgY3MtcGFnaW5hdGlvbl9fbGluaztcbiAgICB9XG5cbiAgICAmX19wcmV2aW91cyB7XG4gICAgICBAaW5jbHVkZSBjcy1wYWdpbmF0aW9uX19wcmV2aW91cztcbiAgICB9XG5cbiAgICAmX19uZXh0IHtcbiAgICAgIEBpbmNsdWRlIGNzLXBhZ2luYXRpb25fX25leHQ7XG4gICAgfVxuXG4gICAgJl9fZWxsaXBzaXMge1xuICAgICAgQGluY2x1ZGUgY3MtcGFnaW5hdGlvbl9fZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcclxuXHJcbi4jeyRnbGlkZS1jbGFzc30ge1xyXG4gICR0aGlzOiAmO1xyXG5cclxuICAkc2U6ICRnbGlkZS1lbGVtZW50LXNlcGFyYXRvcjtcclxuICAkc206ICRnbGlkZS1tb2RpZmllci1zZXBhcmF0b3I7XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAqIHtcclxuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAmI3skc2V9dHJhY2sge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gICYjeyRzZX1zbGlkZXMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcclxuICAgIHRvdWNoLWFjdGlvbjogcGFuLVk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xyXG5cclxuICAgICYjeyRnbGlkZS1tb2RpZmllci1zZXBhcmF0b3J9ZHJhZ2dpbmcge1xyXG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYjeyRzZX1zbGlkZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xyXG4gICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmI3skc2V9YXJyb3dzIHtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIH1cclxuXHJcbiAgJiN7JHNlfWJ1bGxldHMge1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmI3skc219cnRsIHtcclxuICAgIGRpcmVjdGlvbjogcnRsO1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvY29sb3JzXCI7XG5AaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvY29uZmlndXJhdGlvblwiO1xuQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2dsb2JhbHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9mdW5jdGlvbnMvc2VsZWN0b3JzXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL2NvbXBvbmVudHNcIjtcblxuLy9cbi8vIFNldHRpbmdzXG4vL1xuXG4kY3Mtc2xpZGVyLXNlbGVjdG9yOiBcInNsaWRlclwiICFkZWZhdWx0O1xuXG4vL1xuLy8gTWl4aW5zXG4vL1xuXG4vL1xuLy8gTWFpbiBtaXhpbiB0byBjcmVhdGUgc2xpZGVyIGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1zbGlkZXIoJG1vZGlmaWVyOiBudWxsLCAkc2xpZGVyLXNlbGVjdG9yOiAkY3Mtc2xpZGVyLXNlbGVjdG9yKSB7XG4gIEBpZiAoJG1vZGlmaWVyID09IFwicGVla2luZ1wiKSB7XG4gICAgd2lkdGg6IDkwJTtcblxuICAgIC4jeyRjcy1uc30jeyRzbGlkZXItc2VsZWN0b3J9IHtcbiAgICAgICZfX3RyYWNrLFxuICAgICAgJl9fYXJyb3dzLFxuICAgICAgJl9fYnVsbGV0cyB7XG4gICAgICAgIHdpZHRoOiAxMTElO1xuICAgICAgfVxuXG4gICAgICAmX190cmFjazo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSAkY3Mtc3BhY2VyLW1lZGl1bTtcbiAgICAgICAgcmlnaHQ6IC0xMSU7XG4gICAgICAgIGJvdHRvbTogLSAkY3Mtc3BhY2VyLW1lZGl1bTtcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGF0IDEwMCUgNTAlLCByZ2JhKCRjcy1jb2xvci1ibGFjaywgLjUpIDAlLCB0cmFuc3BhcmVudCA3NSUpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKCRjcy1jb2xvci13aGl0ZSwgLjIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAoJG1vZGlmaWVyID09IFwibGF6eVwiKSB7XG4gICAgJjpub3QoLmdsaWRlLS1jYXJvdXNlbCk6bm90KC5nbGlkZS0tc2xpZGVyKSB7XG4gICAgICAuI3skY3MtbnN9I3skc2xpZGVyLXNlbGVjdG9yfSB7XG4gICAgICAgICZfX3RyYWNrIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zbGlkZXMge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIGNyZWF0ZSBzbGlkZXIgc2xpZGVzIGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1zbGlkZXJfX3NsaWRlcygpIHtcbiAgbWFyZ2luOiAwO1xuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBjcmVhdGUgc2xpZGVyIGFycm93cyBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3Mtc2xpZGVyX19hcnJvd3MoKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAtMTJweDtcblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gY3JlYXRlIHNsaWRlciBhcnJvdyBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3Mtc2xpZGVyX19hcnJvdygpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gICYtLWxlZnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMjhweDtcbiAgfVxuXG4gICYtLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0yOHB4O1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIGNyZWF0ZSBzbGlkZXIgYnVsbGV0cyBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3Mtc2xpZGVyX19idWxsZXRzKCkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIGNyZWF0ZSBzbGlkZXIgYnVsbGV0IGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1zbGlkZXJfX2J1bGxldCgpIHtcbiAgJHNlbGVjdG9yOiBjcy1zZWxlY3RvcigpO1xuXG4gIHdpZHRoOiAxMXB4O1xuICBoZWlnaHQ6IDExcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWdyYXktc2lsdmVyO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAmOmhvdmVyLFxuICAmLS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy1icmFuZC1ibGFjaztcbiAgfVxuXG4gICYgKyAjeyRzZWxlY3Rvcn0ge1xuICAgIG1hcmdpbi1sZWZ0OiAkY3Mtc3BhY2VyLWJhc2U7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEJ1aWxkIG1peGluXG4vL1xuQG1peGluIGNzLWJ1aWxkLXNsaWRlcigkc2xpZGVyLXNlbGVjdG9yOiAkY3Mtc2xpZGVyLXNlbGVjdG9yLCAkbW9kaWZpZXJzOiAkY3MtZW5hYmxlLXNsaWRlci1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JHNsaWRlci1zZWxlY3Rvcn0ge1xuICAgICYtLXBlZWtpbmcge1xuICAgICAgQGluY2x1ZGUgY3Mtc2xpZGVyKFwicGVla2luZ1wiLCAkc2xpZGVyLXNlbGVjdG9yKTtcbiAgICB9XG5cbiAgICAmLS1sYXp5IHtcbiAgICAgIEBpbmNsdWRlIGNzLXNsaWRlcihcImxhenlcIiwgJHNsaWRlci1zZWxlY3Rvcik7XG4gICAgfVxuXG4gICAgJl9fc2xpZGVzIHtcbiAgICAgIEBpbmNsdWRlIGNzLXNsaWRlcl9fc2xpZGVzO1xuICAgIH1cblxuICAgICZfX2Fycm93cyB7XG4gICAgICBAaW5jbHVkZSBjcy1zbGlkZXJfX2Fycm93cztcbiAgICB9XG5cbiAgICAmX19hcnJvdyB7XG4gICAgICBAaW5jbHVkZSBjcy1zbGlkZXJfX2Fycm93O1xuICAgIH1cblxuICAgICZfX2J1bGxldHMge1xuICAgICAgQGluY2x1ZGUgY3Mtc2xpZGVyX19idWxsZXRzO1xuICAgIH1cblxuICAgICZfX2J1bGxldCB7XG4gICAgICBAaW5jbHVkZSBjcy1zbGlkZXJfX2J1bGxldDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9jb2xvcnNcIjtcbkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9nbG9iYWxzXCI7XG5cbi8vXG4vLyBTZXR0aW5nc1xuLy9cblxuJGNzLXNvY2lhbC1zaGFyZS1zZWxlY3RvcjogXCJzb2NpYWwtc2hhcmVcIiAhZGVmYXVsdDtcblxuLy9cbi8vIE1peGluc1xuLy9cblxuLy9cbi8vIE1haW4gbWl4aW4gdG8gY3JlYXRlIHNvY2lhbCBzaGFyZSBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3Mtc29jaWFsLXNoYXJlKCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRjcy1zcGFjZXItYmFzZTtcblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gY3JlYXRlIHNvY2lhbCBzaGFyZSBsYWJlbCBpdGVtIGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1zb2NpYWwtc2hhcmVfX2xhYmVsKCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gY3JlYXRlIHNvY2lhbCBzaGFyZSBpY29uIGxpbmsgaXRlbSBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3Mtc29jaWFsLXNoYXJlX19pY29uLWxpbmsoKSB7XG4gIG1hcmdpbi1sZWZ0OiAkY3Mtc3BhY2VyLWxhcmdlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJi5pY29uLWZhY2Vib29rIHtcbiAgICBjb2xvcjogJGNzLWNvbG9yLXNvY2lhbC1mYWNlYm9vaztcbiAgfVxuXG4gICYuaWNvbi10d2l0dGVyIHtcbiAgICBjb2xvcjogJGNzLWNvbG9yLXNvY2lhbC10d2l0dGVyO1xuICB9XG5cbiAgJi5pY29uLXBpbnRlcmVzdCB7XG4gICAgY29sb3I6ICRjcy1jb2xvci1zb2NpYWwtcGludGVyZXN0O1xuICB9XG5cbiAgJi5pY29uLWVtYWlsIHtcbiAgICBjb2xvcjogJGNzLWNvbG9yLXNvY2lhbC1lbWFpbDtcbiAgfVxuXG4gICYuaWNvbi1wcmludGVyLXNvbGlkIHtcbiAgICBjb2xvcjogJGNzLWNvbG9yLXNvY2lhbC1wcmludGVyO1xuICB9XG5cbiAgJi5pY29uLW1vcmUtb3V0bGluZSB7XG4gICAgY29sb3I6ICRjcy1icmFuZC1ibGFjaztcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY3MtYnJhbmQtYmxhY2s7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gY3JlYXRlIHNvY2lhbCBzaGFyZSBib3ggaXRlbSBlbGVtZW50cy5cbi8vXG5AbWl4aW4gY3Mtc29jaWFsLXNoYXJlX19ib3goKSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICYtZGl2aWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206ICRjcy1zcGFjZXItdGlueTtcbiAgICBtYXJnaW4tYm90dG9tOiAkY3Mtc3BhY2VyLXRpbnk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjcy1ncmF5LXNpbHZlcjtcbiAgfVxuXG4gIC4jeyRjcy1uc30jeyRjcy1zb2NpYWwtc2hhcmUtc2VsZWN0b3J9X19pY29uLWxpbmsge1xuICAgIG1hcmdpbjogMCAkY3Mtc3BhY2VyLWJhc2UgMCAwO1xuICB9XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpblxuLy9cblxuQG1peGluIGNzLWJ1aWxkLXNvY2lhbC1zaGFyZSgkbmFtZTogJGNzLXNvY2lhbC1zaGFyZS1zZWxlY3Rvcikge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLXNvY2lhbC1zaGFyZSgpO1xuXG4gICAgJl9fbGFiZWwge1xuICAgICAgQGluY2x1ZGUgY3Mtc29jaWFsLXNoYXJlX19sYWJlbCgpO1xuICAgIH1cblxuICAgICZfX2ljb24tbGluayB7XG4gICAgICBAaW5jbHVkZSBjcy1zb2NpYWwtc2hhcmVfX2ljb24tbGluaztcbiAgICB9XG5cbiAgICAmX19ib3gge1xuICAgICAgQGluY2x1ZGUgY3Mtc29jaWFsLXNoYXJlX19ib3g7XG4gICAgfVxuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvY29sb3JzXCI7XG5AaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvZ2xvYmFsc1wiO1xuQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3ppbmRleFwiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9jb21wb25lbnRzXCI7XG5AaW1wb3J0IFwiLi4vLi4vdXRpbGl0aWVzL3NoYWRvd3MubWl4aW5cIjtcblxuLy9cbi8vIFNldHRpbmdzXG4vL1xuXG4kY3Mtc3RpY2t5LXNoYXJlLXNlbGVjdG9yOiBcInN0aWNreS1zaGFyZVwiICFkZWZhdWx0O1xuXG4vL1xuLy8gTWl4aW5zXG4vL1xuXG4vL1xuLy8gTWFpbiBtaXhpbiB0byBjcmVhdGUgc3RpY2t5IHNoYXJlIGVsZW1lbnRzLlxuLy9cbkBtaXhpbiBjcy1zdGlja3ktc2hhcmUoJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiAobm90ICRtb2RpZmllcikge1xuICAgIEBpbmNsdWRlIGNzLXNoYWRvdyhcImRhcmtcIik7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRjcy16aW5kZXg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtY29sb3Itd2hpdGU7XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImxvYWRlZFwiKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImNlbnRlclwiKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gQnVpbGQgbWl4aW5cbi8vXG5cbkBtaXhpbiBjcy1idWlsZC1zdGlja3ktc2hhcmUoJG5hbWU6ICRjcy1zdGlja3ktc2hhcmUtc2VsZWN0b3IsICRtb2RpZmllcnM6ICRjcy1lbmFibGUtc3RpY2t5LXNoYXJlLW1vZGlmaWVycykge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLXN0aWNreS1zaGFyZSgpO1xuXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwibG9hZGVkXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWxvYWRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGNzLXN0aWNreS1zaGFyZShcImxvYWRlZFwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJjZW50ZXJcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tY2VudGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3Mtc3RpY2t5LXNoYXJlKFwiY2VudGVyXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3NldHRpbmdzXCI7IC8vIGltcG9ydCBmaXJzdFxuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9jb21wb25lbnRzXCI7XG5AaW1wb3J0IFwiLi4vLi4vZnVuY3Rpb25zL3NlbGVjdG9yc1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9zcGFjaW5nXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL2ZvbnRTaXplXCI7XG5AaW1wb3J0IFwiLi4vLi4vdXRpbGl0aWVzL19zaGFkb3dzLm1peGluLnNjc3NcIjtcbkBpbXBvcnQgXCIuL2Ryb3Bkb3duc1wiO1xuQGltcG9ydCBcImNzLWljb25zL3NyYy9zY3NzL2dsb2JhbC9nbG9iYWwubWl4aW5cIjtcblxuLy9cbi8vIFNldHRpbmdzXG4vL1xuXG4kY3MtdGFiLXNlbGVjdG9yOiBcInRhYlwiICFkZWZhdWx0O1xuXG4vL1xuLy8gQmxvY2sgbWl4aW5cbi8vXG5AbWl4aW4gY3MtdGFiKCRtb2RpZmllcjogbnVsbCkge1xuICAvLyBEZWZhdWx0IHN0eWxpbmdcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjcy1ncmF5LXNpbHZlcjtcbiAgICBAaW5jbHVkZSBjcy1ib3gtc2hhZG93KG1hcC1nZXQoJGNzLXNoYWRvdywgc2hhZG93KSk7XG4gIH1cblxuICAvLyBNb2RpZmllcnNcbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwiZmxvYXRpbmdcIiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIEBpbmNsdWRlIGNzLWJveC1zaGFkb3ctcmVzZXQoKTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbnNcbi8vXG5AbWl4aW4gY3MtdGFiX19uYXYoJG1vZGlmaWVyOiBudWxsKSB7XG4gIC8vIERlZmF1bHQgc3R5bGluZ1xuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNzLWdyYXktc2lsdmVyO1xuICB9XG5cbiAgLy8gTW9kaWZpZXJcbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwiZmxvYXRpbmdcIiB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG5AbWl4aW4gY3MtdGFiX19pdGVtKCRtb2RpZmllcjogbnVsbCkge1xuICAvLyBEZWZhdWx0IHN0eWxpbmdcbiAgQGlmIG5vdCAkbW9kaWZpZXIge1xuICAgICY6bm90KC4jeyRjcy1uc30jeyRjcy1kcm9wZG93bi1zZWxlY3Rvcn1fX2l0ZW0pOm5vdCguZHJvcHBlcl9faXRlbSkge1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjcy1ncmF5LXNpbHZlcjtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgfVxuXG4gICAgICA+IGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgY3Mtc3BhY2VyKHBhZGRpbmcsIGJhc2UpO1xuICAgICAgICBAaW5jbHVkZSBjcy1mb250LXNpemUoLTEpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBAaW5jbHVkZSBjcy1ob3Zlci1mb2N1cygpIHtcbiAgICAgICAgICBjb2xvcjogJGNzLWJyYW5kLXByaW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtY29sb3ItbGltZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICBjb2xvcjogJGNzLWdyYXktaXJvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuI3skY3MtbnN9I3skY3MtZHJvcGRvd24tc2VsZWN0b3J9LFxuICAgICYuZHJvcHBlciB7XG4gICAgICA+IFtkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJdLFxuICAgICAgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgY3MtaWNvbi1nbG9iYWwoXCJjYXJldC1kb3duXCIsIDEwcHgsIFwiYWZ0ZXJcIikge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNzLXNwYWNlci10aW55O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGRyb3AgbWVudVxuICAgICAgLiN7JGNzLW5zfSN7JGNzLWRyb3Bkb3duLXNlbGVjdG9yfV9fbWVudSxcbiAgICAgIC5kcm9wcGVyX19tZW51IHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgQGluY2x1ZGUgY3MtZm9udC1zaXplKC0xKTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW9kaWZpZXJcbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwiZmxvYXRpbmdcIiB7XG4gICAgJjpub3QoLiN7JGNzLW5zfSN7JGNzLWRyb3Bkb3duLXNlbGVjdG9yfV9faXRlbSk6bm90KC5kcm9wcGVyX19pdGVtKSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbkBtaXhpbiBjcy10YWJfX2NvbnRlbnQoJG1vZGlmaWVyOiBudWxsKSB7XG4gIC8vIERlZmF1bHQgc3R5aW5nXG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICBAaW5jbHVkZSBjcy1zcGFjZXIocGFkZGluZywgKHhzOiBtZWRpdW0gYmFzZSwgc206IG1lZGl1bSBsYXJnZSkpO1xuICB9XG5cbiAgLy8gTW9kaWZpZXJzXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcImZsb2F0aW5nXCIge1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtY29sb3Itd2hpdGU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY3MtZ3JheS1zaWx2ZXI7XG4gICAgICBAaW5jbHVkZSBjcy1ib3gtc2hhZG93KG1hcC1nZXQoJGNzLXNoYWRvdywgc2hhZG93KSk7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwicmFpc2VkXCIge1xuICAgIG1hcmdpbi1ib3R0b206IGNzLXJlbSgxMDBweCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiBjcy1yZW0oLTEwMHB4KTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNzLWdyYXktZm9nO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG5AbWl4aW4gY3MtdGFiX19wYW5lKCRtb2RpZmllcjogbnVsbCkge1xuICAvLyBEZWZhdWx0IHN0eWluZ1xuICBAaWYgbm90ICRtb2RpZmllciB7XG4gICAgQGluY2x1ZGUgY3MtbWFrZS10cmFuc2l0aW9uKFwiZmFkZVwiKTtcblxuICAgICY6bm90KCN7JGNzLW5zfS5hY3RpdmUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJG1vZGlmaWVyID09IFwiZmxvYXRpbmdcIiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNzLWdyYXktc2lsdmVyO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpbnNcbi8vXG5AbWl4aW4gY3MtYnVpbGQtdGFicygkbmFtZTogJGNzLXRhYi1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS10YWJzLW1vZGlmaWVycykge1xuICAuI3skY3MtbnN9I3skbmFtZX0ge1xuICAgIEBpbmNsdWRlIGNzLXRhYigpO1xuXG4gICAgJl9fbmF2IHtcbiAgICAgIEBpbmNsdWRlIGNzLXRhYl9fbmF2KCk7XG4gICAgfVxuXG4gICAgLy8gRWxlbWVudHNcbiAgICAmX19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGNzLXRhYl9faXRlbSgpO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgY3MtdGFiX19jb250ZW50KCk7XG4gICAgfVxuXG4gICAgJl9fcGFuZSB7XG4gICAgICBAaW5jbHVkZSBjcy10YWJfX3BhbmUoKTtcbiAgICB9XG5cbiAgICAvLyBNb2RpZmllcnNcbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJmbG9hdGluZ1wiLCAkbW9kaWZpZXJzKSB7XG4gICAgICAmLS1mbG9hdGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGNzLXRhYihcImZsb2F0aW5nXCIpO1xuXG4gICAgICAgIC4jeyRjcy1uc30jeyRuYW1lfV9fbmF2IHtcbiAgICAgICAgICBAaW5jbHVkZSBjcy10YWJfX25hdihcImZsb2F0aW5nXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JGNzLW5zfSN7JG5hbWV9X19pdGVtIHtcbiAgICAgICAgICBAaW5jbHVkZSBjcy10YWJfX2l0ZW0oXCJmbG9hdGluZ1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRjcy1uc30jeyRuYW1lfV9fY29udGVudCB7XG4gICAgICAgICAgQGluY2x1ZGUgY3MtdGFiX19jb250ZW50KFwiZmxvYXRpbmdcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJyYWlzZWRcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tcmFpc2VkIHtcbiAgICAgICAgLiN7JGNzLW5zfSN7JG5hbWV9X19jb250ZW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBjcy10YWJfX2NvbnRlbnQoXCJyYWlzZWRcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3NldHRpbmdzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi91dGlsaXRpZXMvc2hhZG93cy5taXhpblwiO1xuXG4vL1xuLy8gU2V0dHRpbmdzXG4vL1xuXG4kY3MtdG9vbHRpcC1zZWxlY3RvcjogXCJ0b29sdGlwXCIgIWRlZmF1bHQ7XG5cbi8vXG4vLyBCbG9jayBtaXhpblxuLy9cblxuQG1peGluIGNzLXRvb2x0aXAoJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICBAaW5jbHVkZSBjcy10cmFuc2l0aW9uKG9wYWNpdHkgMTUwbXMgbGluZWFyKTtcbiAgICBAaW5jbHVkZSBjcy1ib3JkZXItcmFkaXVzKCRjcy1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJGNzLXppbmRleC10b29sdGlwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogY3MtcmVtKCRjcy10b29sdGlwLW1heC13aWR0aCk7XG4gICAgcGFkZGluZzogJGNzLXRvb2x0aXAtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3MtdG9vbHRpcC1iZztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY3MtdG9vbHRpcC1ib3JkZXI7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgLjEpO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkY3MtdG9vbHRpcC1hcnJvdztcbiAgICB9XG4gICAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgICBtYXJnaW4tbGVmdDogJGNzLXRvb2x0aXAtYXJyb3c7XG4gICAgfVxuICAgICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICAgIG1hcmdpbi10b3A6ICRjcy10b29sdGlwLWFycm93O1xuICAgIH1cbiAgICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY3MtdG9vbHRpcC1hcnJvdztcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJkYXJrXCIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcy10b29sdGlwLWRhcmstYmc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNzLXRvb2x0aXAtZGFyay1ib3JkZXI7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW5zXG4vL1xuXG5AbWl4aW4gY3MtdG9vbHRpcF9faW5uZXIoJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICBAaW5jbHVkZSBjcy1mb250LXNpemUoJGNzLXRvb2x0aXAtZm9udHNpemUpO1xuICAgIGNvbG9yOiAkY3MtdG9vbHRpcC10ZXh0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgdG9vbHRpcCdzIGJvdW5kc1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgfVxuXG4gIEBlbHNlIGlmICRtb2RpZmllciA9PSBcImRhcmtcIiB7XG4gICAgY29sb3I6ICRjcy10b29sdGlwLWRhcmstdGV4dDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgY3MtZXJyb3ItbW9kaWZpZXIoJG1vZGlmaWVyKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG5AbWl4aW4gY3MtdG9vbHRpcF9fYXJyb3coJG1vZGlmaWVyOiBudWxsKSB7XG4gICRfYXJyb3ctYWZ0ZXI6ICRjcy10b29sdGlwLWFycm93IC0gMXB4O1xuXG4gIEBpZiBub3QgJG1vZGlmaWVyIHtcbiAgICBtYXJnaW46ICRjcy10b29sdGlwLWFycm93O1xuICAgIGJvcmRlci1jb2xvcjogJGNzLXRvb2x0aXAtYm9yZGVyO1xuXG4gICAgJixcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNzLXRvb2x0aXAtYmc7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgY3MtYXQtcm9vdChcIi4jeyRjcy10b29sdGlwLXNlbGVjdG9yfVt4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdXCIsICRoYXMtc3BhY2U6IHRydWUpIHtcbiAgICAgIGJvdHRvbTogLSgkY3MtdG9vbHRpcC1hcnJvdyk7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtICN7JGNzLXRvb2x0aXAtYXJyb3d9KTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkY3MtdG9vbHRpcC1hcnJvdyAkY3MtdG9vbHRpcC1hcnJvdyAwICRjcy10b29sdGlwLWFycm93O1xuXG4gICAgICAmLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogLSgkY3MtdG9vbHRpcC1hcnJvdyk7XG4gICAgICAgIGxlZnQ6IC0oJF9hcnJvdy1hZnRlcik7XG4gICAgICAgIGJvcmRlci13aWR0aDogJF9hcnJvdy1hZnRlciAkX2Fycm93LWFmdGVyIDAgJF9hcnJvdy1hZnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBjcy1hdC1yb290KFwiLiN7JGNzLXRvb2x0aXAtc2VsZWN0b3J9W3gtcGxhY2VtZW50Xj1cXFwicmlnaHRcXFwiXVwiLCAkaGFzLXNwYWNlOiB0cnVlKSB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gI3skY3MtdG9vbHRpcC1hcnJvd30pO1xuICAgICAgbGVmdDogLSgkY3MtdG9vbHRpcC1hcnJvdyk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJGNzLXRvb2x0aXAtYXJyb3cgJGNzLXRvb2x0aXAtYXJyb3cgJGNzLXRvb2x0aXAtYXJyb3cgMDtcblxuICAgICAgJixcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAtKCRfYXJyb3ctYWZ0ZXIpO1xuICAgICAgICBsZWZ0OiAxcHg7XG4gICAgICAgIGJvcmRlci13aWR0aDogJF9hcnJvdy1hZnRlciAkX2Fycm93LWFmdGVyICRfYXJyb3ctYWZ0ZXIgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBjcy1hdC1yb290KFwiLiN7JGNzLXRvb2x0aXAtc2VsZWN0b3J9W3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl1cIiwgJGhhcy1zcGFjZTogdHJ1ZSkge1xuICAgICAgdG9wOiAtKCRjcy10b29sdGlwLWFycm93KTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gI3skY3MtdG9vbHRpcC1hcnJvd30pO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgJGNzLXRvb2x0aXAtYXJyb3cgJGNzLXRvb2x0aXAtYXJyb3cgJGNzLXRvb2x0aXAtYXJyb3c7XG5cbiAgICAgICYsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIGxlZnQ6IC0oJF9hcnJvdy1hZnRlcik7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAkX2Fycm93LWFmdGVyICRfYXJyb3ctYWZ0ZXIgJF9hcnJvdy1hZnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBjcy1hdC1yb290KFwiLiN7JGNzLXRvb2x0aXAtc2VsZWN0b3J9W3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdXCIsICRoYXMtc3BhY2U6IHRydWUpIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAjeyRjcy10b29sdGlwLWFycm93fSk7XG4gICAgICByaWdodDogLSgkY3MtdG9vbHRpcC1hcnJvdyk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJGNzLXRvb2x0aXAtYXJyb3cgMCAkY3MtdG9vbHRpcC1hcnJvdyAkY3MtdG9vbHRpcC1hcnJvdztcblxuICAgICAgJixcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogLSgkX2Fycm93LWFmdGVyKTtcbiAgICAgICAgbGVmdDogLSgkY3MtdG9vbHRpcC1hcnJvdyk7XG4gICAgICAgIGJvcmRlci13aWR0aDogJF9hcnJvdy1hZnRlciAwICRfYXJyb3ctYWZ0ZXIgJF9hcnJvdy1hZnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkbW9kaWZpZXIgPT0gXCJkYXJrXCIge1xuICAgIGJvcmRlci1jb2xvcjogJGNzLXRvb2x0aXAtZGFyay1ib3JkZXI7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICRjcy10b29sdGlwLWRhcmstYmc7XG4gICAgfVxuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBjcy1lcnJvci1tb2RpZmllcigkbW9kaWZpZXIpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBCdWlsZCBtaXhpblxuLy9cblxuQG1peGluIGNzLWJ1aWxkLXRvb2x0aXBzKCRuYW1lOiAkY3MtdG9vbHRpcC1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS10b29sdGlwcy1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy10b29sdGlwO1xuXG4gICAgLyogVG9vbHRpcCB0ZXh0ICovXG4gICAgJl9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgY3MtdG9vbHRpcF9faW5uZXI7XG4gICAgfVxuXG4gICAgJl9fYXJyb3cge1xuICAgICAgQGluY2x1ZGUgY3MtdG9vbHRpcF9fYXJyb3c7XG4gICAgfVxuXG4gICAgLyogTW9kaWZpZXJzICovXG4gICAgQGlmIGNzLWNoZWNrLW1vZGlmaWVyLWJ1aWxkKFwiZGFya2tcIiwgJG1vZGlmaWVycykge1xuICAgICAgJi0tZGFyayB7XG4gICAgICAgIEBpbmNsdWRlIGNzLXRvb2x0aXAoXCJkYXJrXCIpO1xuXG4gICAgICAgIC4jeyRjcy1uc30jeyRuYW1lfV9faW5uZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGNzLXRvb2x0aXBfX2lubmVyKFwiZGFya1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRjcy1uc30jeyRuYW1lfV9fYXJyb3cge1xuICAgICAgICAgIEBpbmNsdWRlIGNzLXRvb2x0aXBfX2Fycm93KFwiZGFya1wiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9nbG9iYWxzXCI7XG5cbiRjcy10b29sdGlwLW1heC13aWR0aDogMjg4cHggIWRlZmF1bHQ7XG4kY3MtdG9vbHRpcC1wYWRkaW5nOiAkY3Mtc3BhY2VyLWJhc2UgIWRlZmF1bHQ7XG4kY3MtdG9vbHRpcC1mb250c2l6ZTogLTEgIWRlZmF1bHQ7XG4kY3MtdG9vbHRpcC1hcnJvdzogNnB4ICFkZWZhdWx0O1xuJGNzLXRvb2x0aXAtYmc6ICRjcy1jb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRjcy10b29sdGlwLXRleHQ6ICRjcy1jb2xvci1ibGFjayAhZGVmYXVsdDtcbiRjcy10b29sdGlwLWJvcmRlcjogJGNzLWdyYXktc2lsdmVyICFkZWZhdWx0O1xuJGNzLXRvb2x0aXAtZGFyay1iZzogJGNzLWNvbG9yLWJsYWNrICFkZWZhdWx0O1xuJGNzLXRvb2x0aXAtZGFyay10ZXh0OiAkY3MtY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kY3MtdG9vbHRpcC1kYXJrLWJvcmRlcjogJGNzLWNvbG9yLWJsYWNrICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL3NldHRpbmdzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL21peGluc1wiO1xuQGltcG9ydCBcIi4uLy4uL2Z1bmN0aW9ucy9mdW5jdGlvbnNcIjtcblxuQGltcG9ydCBcIi4uLy4uL2F0b21zL21peGlucy9hdmF0YXJzXCI7XG5AaW1wb3J0IFwiLi4vLi4vYXRvbXMvbWl4aW5zL2xpbmtzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbGF5b3V0cy9mbGV4R3JpZC5taXhpblwiO1xuXG4vL1xuLy8gVXNlciBzdW1tYXJ5IHNldHRpbmdzXG4vL1xuXG4kY3MtdXNlci1zdW1tYXJ5LXNlbGVjdG9yOiBcInVzZXItc3VtbWFyeVwiICFkZWZhdWx0O1xuJGNzLXVzZXItc3VtbWFyeS1zcGFjZTogJGNzLXNwYWNlci1iYXNlICFkZWZhdWx0O1xuXG4kY3MtdXNlci1zdW1tYXJ5LWF2YXRhci1zcGFjZXI6ICRjcy1zcGFjZXItdGlueSAhZGVmYXVsdDtcbiRjcy11c2VyLXN1bW1hcnktYXZhdGFyLWZ1bGwtc3BhY2VyOiAkY3MtdXNlci1zdW1tYXJ5LWF2YXRhci1zcGFjZXIgKiAyICFkZWZhdWx0O1xuXG4vLyBCb2R5IG1heC13aWR0aDogfiAyNDBweC5cbiRjcy11c2VyLXN1bW1hcnktYm9keS1tYXgtd2lkdGg6ICRjcy1zcGFjZXItYmFzZSAqIDE1ICFkZWZhdWx0O1xuJGNzLXVzZXItc3VtbWFyeS1ib2R5LWZvbnQtc2l6ZTogMTNweCAhZGVmYXVsdDtcbiRjcy11c2VyLXN1bW1hcnktYm9keS1saW5lLWhlaWdodDogMS4zNSAhZGVmYXVsdDtcbiRjcy11c2VyLXN1bW1hcnktbmFtZS1mb250LXNpemU6IDE0cHggIWRlZmF1bHQ7XG4kY3MtdXNlci1zdW1tYXJ5LW5hbWUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRjcy11c2VyLXN1bW1hcnktaW5mby1jb2xvcjogJGNzLWdyYXktc3RlZWwgIWRlZmF1bHQ7XG5cbi8vXG4vLyBVc2VyIHN1bW1hcnkgbWl4aW5zXG4vL1xuXG4vL1xuLy8gQmxvY2sgbWl4aW4gdG8gY3JlYXRlIHVzZXItc3VtbWFyeSBzdHlsZXMuXG4vL1xuQG1peGluIGNzLXVzZXItc3VtbWFyeSgpIHtcbiAgQGluY2x1ZGUgY3MtZmxleC1ncmlkX19yb3c7XG5cbiAgJiArICYge1xuICAgIG1hcmdpbi10b3A6IGNzLXJlbSgkY3MtdXNlci1zdW1tYXJ5LXNwYWNlKTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBjcmVhdGUgdXNlci1zdW1tYXJ5IGF2YXRhciBzZWN0aW9uIHN0eWxlcy5cbi8vXG5AbWl4aW4gY3MtdXNlci1zdW1tYXJ5X19hdmF0YXIoJG1vZGlmaWVyOiBudWxsKSB7XG4gIEBpZiAobm90ICRtb2RpZmllcikge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogY3MtcmVtKCRjcy11c2VyLXN1bW1hcnktYXZhdGFyLXNwYWNlcik7XG4gIH1cbiAgQGVsc2UgaWYgKCRtb2RpZmllciA9PSBcImZ1bGxcIikge1xuICAgIC8vIFRoZSBmdWxsIHVzZXItc3VtbWFyeSBhdmF0YXIgd2lsbCB1c2UgdGhlIGxhcmdlIGF2YXRhciBzaXplLlxuICAgIEBpbmNsdWRlIGNzLWF2YXRhcihcImxhcmdlXCIpO1xuICAgIG1hcmdpbi1yaWdodDogY3MtcmVtKCRjcy11c2VyLXN1bW1hcnktYXZhdGFyLWZ1bGwtc3BhY2VyKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yIGNzLWVycm9yLW1vZGlmaWVyKCRtb2RpZmllcik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEVsZW1lbnQgbWl4aW4gdG8gY3JlYXRlIHVzZXItc3VtbWFyeSBib2R5IHNlY3Rpb24gc3R5bGVzLlxuLy9cbkBtaXhpbiBjcy11c2VyLXN1bW1hcnlfX2JvZHkoKSB7XG4gIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgkY3MtdXNlci1zdW1tYXJ5LWJvZHktZm9udC1zaXplLCAkY3MtdXNlci1zdW1tYXJ5LWJvZHktbGluZS1oZWlnaHQpO1xuICBmbGV4OiAxIDEgMDtcbiAgbWF4LXdpZHRoOiBjcy1yZW0oJGNzLXVzZXItc3VtbWFyeS1ib2R5LW1heC13aWR0aCk7XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIGNyZWF0ZSB1c2VyLXN1bW1hcnkgbmFtZSBzdHlsZXMgaW5zaWRlIGJvZHkgc2VjdGlvbi5cbi8vXG5AbWl4aW4gY3MtdXNlci1zdW1tYXJ5X19uYW1lKCkge1xuICBAaW5jbHVkZSBjcy1mb250LXNpemUoJGNzLXVzZXItc3VtbWFyeS1uYW1lLWZvbnQtc2l6ZSwgJGNzLXVzZXItc3VtbWFyeS1uYW1lLWxpbmUtaGVpZ2h0KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gIC8vIEl0IGlzIHN1cHBvc2VkIHRoZSB0aXRsZSBlbGVtZW50IHdpbGwgY29udGFpbiBhbiBgPGE+YCBmb3IgY2xpY2thYmxlLlxuICBhIHtcbiAgICAvLyBTdHlsZWQgd2l0aCB0aXRsZSBsaW5rIHZhcmlhbnQuXG4gICAgQGluY2x1ZGUgY3MtbGluaztcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtaXhpbiB0byBjcmVhdGUgdXNlci1zdW1tYXJ5IHRpdGxlIHN0eWxlcyBpbnNpZGUgYm9keSBzZWN0aW9uLlxuLy9cbkBtaXhpbiBjcy11c2VyLXN1bW1hcnlfX3RpdGxlKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkY3MtdXNlci1zdW1tYXJ5LWluZm8tY29sb3I7XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIGNyZWF0ZSB1c2VyLXN1bW1hcnkgaW5mbyBzdHlsZXMgaW5zaWRlIGJvZHkgc2VjdGlvbi5cbi8vXG5AbWl4aW4gY3MtdXNlci1zdW1tYXJ5X19pbmZvKCkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGNvbG9yOiAkY3MtdXNlci1zdW1tYXJ5LWluZm8tY29sb3I7XG5cbiAgQGNvbnRlbnQ7XG59XG5cbkBtaXhpbiBjcy1idWlsZC11c2VyLXN1bW1hcmllcygkbmFtZTogJGNzLXVzZXItc3VtbWFyeS1zZWxlY3RvciwgJG1vZGlmaWVyczogJGNzLWVuYWJsZS11c2VyLXN1bW1hcmllcy1tb2RpZmllcnMpIHtcbiAgLiN7JGNzLW5zfSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBjcy11c2VyLXN1bW1hcnk7XG5cbiAgICAvLyBBdmF0YXIgc2VjdGlvbi5cbiAgICAmX19hdmF0YXIge1xuICAgICAgQGluY2x1ZGUgY3MtdXNlci1zdW1tYXJ5X19hdmF0YXI7XG4gICAgfVxuXG4gICAgLy8gQm9keSBzZWN0aW9uLlxuICAgICZfX2JvZHkge1xuICAgICAgQGluY2x1ZGUgY3MtdXNlci1zdW1tYXJ5X19ib2R5O1xuICAgIH1cblxuICAgIC8vIEJvZHkgZWxlbWVudHMuXG4gICAgJl9fbmFtZSB7XG4gICAgICBAaW5jbHVkZSBjcy11c2VyLXN1bW1hcnlfX25hbWU7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgQGluY2x1ZGUgY3MtdXNlci1zdW1tYXJ5X190aXRsZTtcbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgIEBpbmNsdWRlIGNzLXVzZXItc3VtbWFyeV9faW5mbztcbiAgICB9XG5cbiAgICBAaWYgY3MtY2hlY2stbW9kaWZpZXItYnVpbGQoXCJmdWxsXCIsICRtb2RpZmllcnMpIHtcbiAgICAgICYtLWZ1bGwge1xuICAgICAgICAuI3skY3MtbnN9I3skbmFtZX1fX2F2YXRhciB7XG4gICAgICAgICAgQGluY2x1ZGUgY3MtdXNlci1zdW1tYXJ5X19hdmF0YXIoXCJmdWxsXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9zZXR0aW5nc1wiO1xuQGltcG9ydCBcIi4uL21peGlucy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9mdW5jdGlvbnMvZnVuY3Rpb25zXCI7XG5cbi8vXG4vLyBGbGV4IGdyaWQgbWl4aW5zXG4vL1xuXG4vLyBSb3cgbWl4aW5zXG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIHN0eWxlIGEgZ3JpZCByb3cuXG4vL1xuQG1peGluIGNzLWZsZXgtZ3JpZF9fcm93KCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtb2RpZmllciBtaXhpbiB0byBhZGQgbWFyZ2luIHRvIGEgZ3JpZCByb3cuXG4vL1xuQG1peGluIGNzLWZsZXgtZ3JpZF9fcm93LS1tYXJnaW4oJG1hcmdpbnM6ICRjcy1ncmlkLXJvdy1tYXJnaW5zLCAkYnJlYWtwb2ludHM6ICRjcy1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgJG1hcmdpbjogbWFwLWdldCgkbWFyZ2lucywgJGJyZWFrcG9pbnQpO1xuICAgICAgQGlmICgkbWFyZ2luKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY3MtcmVtKCRtYXJnaW4gLyAyKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNzLXJlbSgkbWFyZ2luIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1vZGlmaWVyIG1peGluIHRvIHJlbW92ZSBjb2x1bW4gZ3V0dGVycy5cbi8vXG4vLyBUYWtlcyB0aGUgY2xhc3MgdXNlZCB0byBzdHlsZSBjb2x1bW5zIGFzIHBhcmFtZXRlci5cbi8vXG5AbWl4aW4gY3MtZmxleC1ncmlkX19yb3ctLW5vLWd1dHRlcnMoJGNvbHVtbi1jbGFzczogXCJjb2xcIikge1xuICA+IC4jeyRjcy1uc30jeyRjb2x1bW4tY2xhc3N9IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gRWxlbWVudCBtb2RpZmllciBtaXhpbiB0byBhbGlnbiBjb2x1bW5zIGluIGEgcm93LlxuLy9cbkBtaXhpbiBjcy1mbGV4LWdyaWRfX3Jvdy0tYWxpZ24oJG1vZGlmaWVyOiBcIlwiKSB7XG4gIEBpZiAoJG1vZGlmaWVyID09IFwibGVmdFwiKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJjZW50ZXJcIikge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIEBlbHNlIGlmICgkbW9kaWZpZXIgPT0gXCJyaWdodFwiKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yIFwiVGhlIG1vZGlmaWVyIGAjeyRtb2RpZmllcn1gIGlzIG5vdCB2YWxpZC5cIjtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG4vL1xuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBjcmVhdGVzIHRoZSBncmlkIHJvdyByZWxhdGVkIGNsYXNzZXMuXG4vL1xuQG1peGluIGNzLWZsZXgtZ3JpZF9fcm93LWNsYXNzZXMoKSB7XG4gIC4jeyRjcy1uc31yb3cge1xuICAgIEBpbmNsdWRlIGNzLWZsZXgtZ3JpZF9fcm93O1xuICB9XG5cbiAgLiN7JGNzLW5zfXJvdy0tbWFyZ2luIHtcbiAgICBAaW5jbHVkZSBjcy1mbGV4LWdyaWRfX3Jvdy0tbWFyZ2luO1xuICB9XG5cbiAgLiN7JGNzLW5zfXJvdy0tbm8tZ3V0dGVycyB7XG4gICAgQGluY2x1ZGUgY3MtZmxleC1ncmlkX19yb3ctLW5vLWd1dHRlcnM7XG4gIH1cblxuICBAaWYgKCRjcy1lbmFibGUtY2xhc3Nlcy1mbGV4LWdyaWQtcm93LS1hbGlnbikge1xuICAgIC4jeyRjcy1uc31yb3ctLWFsaWduLWxlZnQge1xuICAgICAgQGluY2x1ZGUgY3MtZmxleC1ncmlkX19yb3ctLWFsaWduKFwibGVmdFwiKTtcbiAgICB9XG5cbiAgICAuI3skY3MtbnN9cm93LS1hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgY3MtZmxleC1ncmlkX19yb3ctLWFsaWduKFwiY2VudGVyXCIpO1xuICAgIH1cblxuICAgIC4jeyRjcy1uc31yb3ctLWFsaWduLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIGNzLWZsZXgtZ3JpZF9fcm93LS1hbGlnbihcInJpZ2h0XCIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2x1bW4gbWl4aW5zXG5cbi8vXG4vLyBFbGVtZW50IG1peGluIHRvIHN0eWxlIGEgZ3JpZCBjb2x1bW4uXG4vL1xuQG1peGluIGNzLWZsZXgtZ3JpZF9fY29sKCRjb2x1bW46IDEsICRjb2x1bW5zOiAkY3MtZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiAoJGNvbHVtbiBBTkQgJGNvbHVtbnMgQU5EICRjb2x1bW4gPD0gJGNvbHVtbnMpIHtcbiAgICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkY29sdW1uIC8gJGNvbHVtbnMpO1xuICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgkY29sdW1uIC8gJGNvbHVtbnMpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1vZGlmaWVyIG1peGluIHRvIHN0eWxlIGEgZ3JpZCBjb2x1bW4gb2Zmc2V0LlxuQG1peGluIGNzLWZsZXgtZ3JpZF9fY29sLS1vZnNldCgkY29sdW1uOiAxLCAkY29sdW1uczogJGNzLWdyaWQtY29sdW1ucykge1xuICBAaWYgKCRjb2x1bW4gQU5EICRjb2x1bW5zIEFORCAkY29sdW1uIDwgJGNvbHVtbnMpIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkY29sdW1uIC8gJGNvbHVtbnMpO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vXG4vLyBFbGVtZW50IG1vZGlmaWVyIG1peGluIHRvIHN0eWxlIGEgZ3JpZCBjb2x1bW4gZ3V0dGVyLlxuLy9cbkBtaXhpbiBjcy1mbGV4LWdyaWRfX2NvbC0tZ3V0dGVyKCRndXR0ZXI6IDFyZW0pIHtcbiAgQGlmICgkZ3V0dGVyKSB7XG4gICAgcGFkZGluZy1yaWdodDogY3MtcmVtKCRndXR0ZXIgLyAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNzLXJlbSgkZ3V0dGVyIC8gMik7XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy9cbi8vIEludGVybmFsIG1peGluIHRvIGNyZWF0ZSBhbGwgcmVsYXRlZCBjb2wgY2xhc3Nlcy5cbi8vXG4vLyBDcmVhdGVzIGBjb2xgIGFuZCBhbGwgYGNvbC17YnJlYWtwb2ludH0te2NvbHVtbn1gIGNsYXNzZXMgYW5kXG4vLyB0aGUgYGNvbC1vZmZzZXQte2JyZWFrcG9pbnR9LXtjb2x1bW59YCBjbGFzc2VzLlxuLy8gQWxzbyBhZGRzIHRoZSBndWV0dGVycyB0byB0aGUgYmFzZSBgY29sYCBjbGFzcy5cbi8vXG5AbWl4aW4gY3MtZmxleC1ncmlkX19jb2wtY2xhc3NlcyhcbiAgJGNvbHVtbnM6ICRjcy1ncmlkLWNvbHVtbnMsXG4gICRndXR0ZXJzOiAkY3MtZ3JpZC1ndXR0ZXItd2lkdGhzLFxuICAkYnJlYWtwb2ludHM6ICRjcy1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogY3MtYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgLy8gVGhpcyBhcHBseSB0aGUgZ3V0dGVyIHRvIHRoZSBiYXNlIGBjb2xgIGNsYXNzIHRvIHJlZHVjZSBjb21wbGV4aXR5XG4gICAgICAvLyBhbmQgYW1vdW50IG9mIGNzcywgdGhvdWdoIHRoaXMgcmVxdWlyZXMgYWx3YXlzIHVzZSB0aGUgYGNvbGAgY2xhc3MuXG4gICAgICAkZ3V0dGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgICBAaWYgKCRndXR0ZXIpIHtcbiAgICAgICAgLiN7JGNzLW5zfWNvbCB7XG4gICAgICAgICAgQGluY2x1ZGUgY3MtZmxleC1ncmlkX19jb2wtLWd1dHRlcigkZ3V0dGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNsYXNzIHBhdHRlcm46IC57cHJlZml4fWNvbC17YnJlYWtwb2ludH1cbiAgICAgIC8vIFN1cHBvcnQgZm9yIGJhc2UgY29sIGNsYXNzIGxpa2UgYGNvbGAsIGBjb2wtc21gLCBldGMuXG4gICAgICAuI3skY3MtbnN9Y29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICB9XG5cbiAgICAgIC8vIENvbHVtbnNcbiAgICAgIEBmb3IgJGNvbHVtbiBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC8vIENvbHVtbiBjbGFzcyBwYXR0ZXJuOiAue3ByZWZpeH1jb2wte2JyZWFrcG9pbnR9LXtjb2wtbnVtYmVyfVxuICAgICAgICAvLyBBbGwgY29scyBsaWtlIGBjb2wtMWAsIGBjb2wtc20tM2AsIGBjb2wtbWQtNmAsIGV0Yy5cbiAgICAgICAgLiN7JGNzLW5zfWNvbCN7JGluZml4fS0jeyRjb2x1bW59IHtcbiAgICAgICAgICBAaW5jbHVkZSBjcy1mbGV4LWdyaWRfX2NvbCgkY29sdW1uLCAkY29sdW1ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICgkY3MtZW5hYmxlLWNsYXNzZXMtZmxleC1ncmlkLWNvbC0tb2Zmc2V0KSB7XG4gICAgICAgIC8vIERvbnQgY3JlYXRlIG9mZnNldC1YIGZvciBYIGFtb3VudCBvZiBjb2x1bW5zLlxuICAgICAgICAvLyBTZXBhcmF0ZWQgbG9vcCB0byBhdm9pZCBtaXhpbmcgY29sIHdpdGggY29sLW9mZnNldCBjbGFzc2VzLlxuICAgICAgICBAZm9yICRjb2x1bW4gZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC4jeyRjcy1uc31jb2wtb2Zmc2V0I3skaW5maXh9LSN7JGNvbHVtbn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgY3MtZmxleC1ncmlkX19jb2wtLW9mc2V0KCRjb2x1bW4sICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ0eXBvZ3JhcGh5Lm1peGluc1wiO1xuXG5AZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluIG1hcC1rZXlzKCRjcy1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vICN7JGJyZWFrcG9pbnR9XG4gIC5jcy1icmVhay0tI3skYnJlYWtwb2ludH0ge1xuICAgIEBpbmNsdWRlIGNzLWJyZWFrKCN7JGJyZWFrcG9pbnR9KTtcbiAgfVxufVxuIiwiQG1peGluIGNzLWJyZWFrKCRtb2RpZmllcjogbnVsbCkge1xuICBAaWYgJG1vZGlmaWVyIHtcbiAgICBAaWYgJG1vZGlmaWVyID09ICdtZCcge1xuICAgICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC1kb3duKCdtZCcpIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5saW5rLS1ub25lIHtcbiAgYm9yZGVyOiAwO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOnZpc2l0ZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG59IiwiLmNzLWRwLWhlYWRlciB7XG4gIG1hcmdpbi10b3A6ICRjcy1zcGFjZXItbGFyZ2U7XG4gIHBhZGRpbmctYm90dG9tOiAkY3Mtc3BhY2VyLWxhcmdlO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzk3OTc5NztcblxuICAubG9nbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiA0MjBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn0iLCIuY3MtZHAtYmFubmVyIHtcbiAgLmZsYWcge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMTc0cHg7XG4gICAgaGVpZ2h0OiAxMjNweDtcbiAgfVxufSIsIi8vICRkZWZhdWx0LWJveC1zaGFkb3c6IG1hcC1nZXQoJGNzLXNoYWRvd3MsIFwiXCIpO1xuLy8gJGRlZmF1bHQtYm94LXNoYWRvdzogbWFwLWdldCgkZGVmYXVsdC1ib3gtc2hhZG93LCBzaGFkb3cpO1xuJGRlZmF1bHQtYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcblxuLy8gJGRhcmstYm94LXNoYWRvdzogbWFwLWdldCgkY3Mtc2hhZG93cywgZGFyayk7XG4vLyAkZGFyay1ib3gtc2hhZG93OiBtYXAtZ2V0KCRkYXJrLWJveC1zaGFkb3csIHNoYWRvdyk7XG4kZGFyay1ib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjkpO1xuXG4uY3MtZHAtZ2FtZXMge1xuICBtYXJnaW4tYm90dG9tOiAkY3Mtc3BhY2VyLW1lZGl1bTtcblxuICAuZ2FtZSB7XG4gICAgQGluY2x1ZGUgY3MtYm94LXNoYWRvdygkZGVmYXVsdC1ib3gtc2hhZG93KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgJjpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBjcy1ib3gtc2hhZG93KCRkYXJrLWJveC1zaGFkb3cpO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdztcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjVzO1xuICAgIH1cbiAgfVxuXG4gIC5jcy1kcC1jdGEtYm90dG9tLWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbiNnYW1lQ29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbn0iLCIuY3MtZHAtY3RhLWJvdHRvbSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogJGNzLXNwYWNlci1odWdlO1xuICAuaW5uZXIge1xuICAgIHdpZHRoOiA2OThweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkY3Mtc3BhY2VyLWJhc2U7XG4gICAgfVxuICB9XG4gIC5jcy1kcC1jdGEtYm90dG9tLWJ0biB7XG4gICAgLy8gQGV4dGVuZCAlI3skY3MtbnN9YnRuO1xuICAgIC8vIEBleHRlbmQgJSN7JGNzLW5zfWJ0bi0tcHJpbWFyeTtcbiAgICBAaW5jbHVkZSBjcy1idXR0b24oKTtcbiAgICBAaW5jbHVkZSBjcy1idXR0b24oXCJwcmltYXJ5XCIpO1xuICB9XG59IiwiLmNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogNzBweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59IiwiLmNzLWRwLWZvb3RlciB7XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCAjQ0NDQ0NDO1xuXG4gIC5taXNzaW9uIHtcbiAgICBwYWRkaW5nLXRvcDogJGNzLXNwYWNlci14bGFyZ2U7XG4gICAgcGFkZGluZy1ib3R0b206ICRjcy1zcGFjZXIteGxhcmdlO1xuXG4gICAgLm1pc3Npb24taW5uZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIC5jb2wge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAubG9nbyB7XG4gICAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY3Mtc3BhY2VyLWxhcmdlO1xuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgfTtcbiAgICAgIFxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEyNXB4O1xuICAgICAgICAvLyBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRjcy1zcGFjZXItYmFzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RhdGVtZW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGNvbG9yOiAjOUI5QjlCO1xuICAgIH1cbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgIC5zdGF0ZW1lbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDcyMnB4O1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICAuYm90dG9tIHtcbiAgICBwYWRkaW5nLXRvcDogJGNzLXNwYWNlci1tZWRpdW07XG4gICAgcGFkZGluZy1ib3R0b206ICRjcy1zcGFjZXItbGFyZ2U7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNDQ0NDQ0M7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U2RTdFMztcblxuXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuXG4gICAgLnJpZ2h0cyB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCdsZycpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIG1hcmdpbi10b3A6ICRjcy1zcGFjZXItYmFzZTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmNvcHlyaWdodCB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbWFyZ2luLXRvcDogJGNzLXNwYWNlci1iYXNlO1xuICAgICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cCgnbGcnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRjcy1zcGFjZXItbGFyZ2U7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC5mb290ZXJfX3Rlcm1zLW9mLXVzZSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cCgnbGcnKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkY3Mtc3BhY2VyLW1lZGl1bTtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgICAuZm9vdGVyX19jb29raWUtc2V0dGluZ3Mge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGNzLW1lZGlhLWJyZWFrcG9pbnQtdXAoJ2xnJykge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGNzLXNwYWNlci1tZWRpdW07XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH1cbn0iLCIkY3MtZHAtZ2FtZS1ndXR0ZXJzOiAoXG4gIHhzOiAkY3Mtc3BhY2VyLWJhc2UsIC8vIDFyZW0gMTZweFxuICBzbTogJGNzLXNwYWNlci1iYXNlLCAvLyAxcmVtIDE2cHhcbiAgbWQ6ICRjcy1zcGFjZXItYmFzZSwgLy8gMS41cmVtIDI0cHgsXG4gIGxnOiAkY3Mtc3BhY2VyLWJhc2UsIC8vIDEuNXJlbSAyNHB4LFxuICB4bDogJGNzLXNwYWNlci1iYXNlLCAvLyAxLjVyZW0gMjRweCxcbikgIWRlZmF1bHQ7XG5cbkBtaXhpbiBjcy1kcC1yb3ctLWdhbWUtZ3V0dGVycygkZ3V0dGVyczogJGNzLWRwLWdhbWUtZ3V0dGVycykge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGd1dHRlcnMpIHtcbiAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAkZ3V0dGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRndXR0ZXIgLyAtMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZ3V0dGVyIC8gLTI7XG4gICAgfVxuICB9XG59XG4gIFxuLmNzLWRwLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuXG4gIC5kaWdpdGFsLXBhc3Nwb3J0LXRvcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNzLXNwYWNlci14bGFyZ2U7XG5cbiAgICBoMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNzLWRwLXJvdy0tZ2FtZS1ndXR0ZXJzIHtcbiAgICBAaW5jbHVkZSBjcy1kcC1yb3ctLWdhbWUtZ3V0dGVycygpO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIEBpbmNsdWRlIGNzLW1ha2UtZ3JpZC1jb2x1bW5zKCRjcy1ncmlkLWNvbHVtbnMsICRjcy1kcC1nYW1lLWd1dHRlcnMsICRjcy1ncmlkLWJyZWFrcG9pbnRzKTtcbiAgfVxuXG4gIC5jb2wtLWdhbWUge1xuICAgIG1hcmdpbi1ib3R0b206ICRjcy1zcGFjZXItYmFzZTtcbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufSIsIi5nYXRlLXBhZ2Uge1xuICAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA1NTVweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLXRvcDogJGNzLXNwYWNlci14bGFyZ2U7XG4gICAgcGFkZGluZy1ib3R0b206ICRjcy1zcGFjZXIteGxhcmdlO1xuXG4gICAgQGluY2x1ZGUgY3MtbWVkaWEtYnJlYWtwb2ludC11cCgnbGcnKSB7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICB9XG5cbiAgICAucHJlLXRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGNzLWZvbnQtc2l6ZSgyKTtcbiAgICB9XG5cbiAgICAubm8tbWFyZ2luLS1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuZGlzY2xhaW1lciB7XG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmluZm8tbGlzdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIH1cbiAgICAuY2hvaWNlcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgLmZpcnN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGNzLXNwYWNlci10aW55O1xuICAgICAgICBAaW5jbHVkZSBjcy1tZWRpYS1icmVha3BvaW50LXVwKCdtZCcpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY3NlLWJ0biB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNzLWdyYXktc3RlZWw7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjcy1jb2xvci1saW1lO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMi41cHg7XG4gICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgY29sb3I6ICRjcy1jb2xvci1saW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSJdfQ== */