@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap");
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  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
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
  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
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

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

/**
 * 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 size in all browsers.
 */
small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

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

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 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 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

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

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  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 in Chrome and Safari on macOS.
 */
[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 Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

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

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

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

/**
 * Foundation for Sites by ZURB
 * Version 6.5.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/* Foundation */
/* Font path variable */
@font-face {
  font-family: 'Icons';
  src: url("../fonts/open-iconic.eot");
  src: url("../fonts/open-iconic.eot?#iconic-sm") format("embedded-opentype"), url("../fonts/open-iconic.woff") format("woff"), url("../fonts/open-iconic.ttf") format("truetype"), url("../fonts/open-iconic.otf") format("opentype"), url("../fonts/open-iconic.svg#iconic-sm") format("svg");
  font-weight: normal;
  font-style: normal; }

.fi-account-login:before,
.fi-account-logout:before,
.fi-action-redo:before,
.fi-action-undo:before,
.fi-align-center:before,
.fi-align-left:before,
.fi-align-right:before,
.fi-aperture:before,
.fi-arrow-bottom:before,
.fi-arrow-circle-bottom:before,
.fi-arrow-circle-left:before,
.fi-arrow-circle-right:before,
.fi-arrow-circle-top:before,
.fi-arrow-left:before,
.fi-arrow-right:before,
.fi-arrow-thick-bottom:before,
.fi-arrow-thick-left:before,
.fi-arrow-thick-right:before,
.fi-arrow-thick-top:before,
.fi-arrow-top:before,
.fi-audio-spectrum:before,
.fi-audio:before,
.fi-badge:before,
.fi-ban:before,
.fi-bar-chart:before,
.fi-basket:before,
.fi-battery-empty:before,
.fi-battery-full:before,
.fi-beaker:before,
.fi-bell:before,
.fi-bluetooth:before,
.fi-bold:before,
.fi-bolt:before,
.fi-book:before,
.fi-bookmark:before,
.fi-box:before,
.fi-briefcase:before,
.fi-british-pound:before,
.fi-browser:before,
.fi-brush:before,
.fi-bug:before,
.fi-bullhorn:before,
.fi-calculator:before,
.fi-calendar:before,
.fi-camera-slr:before,
.fi-caret-bottom:before,
.fi-caret-left:before,
.fi-caret-right:before,
.fi-caret-top:before,
.fi-cart:before,
.fi-chat:before,
.fi-check:before,
.fi-chevron-bottom:before,
.fi-chevron-left:before,
.fi-chevron-right:before,
.fi-chevron-top:before,
.fi-circle-check:before,
.fi-circle-x:before,
.fi-clipboard:before,
.fi-clock:before,
.fi-cloud-download:before,
.fi-cloud-upload:before,
.fi-cloud:before,
.fi-cloudy:before,
.fi-code:before,
.fi-cog:before,
.fi-collapse-down:before,
.fi-collapse-left:before,
.fi-collapse-right:before,
.fi-collapse-up:before,
.fi-command:before,
.fi-comment-square:before,
.fi-compass:before,
.fi-contrast:before,
.fi-copywriting:before,
.fi-credit-card:before,
.fi-crop:before,
.fi-dashboard:before,
.fi-data-transfer-download:before,
.fi-data-transfer-upload:before,
.fi-delete:before,
.fi-dial:before,
.fi-document:before,
.fi-dollar:before,
.fi-double-quote-sans-left:before,
.fi-double-quote-sans-right:before,
.fi-double-quote-serif-left:before,
.fi-double-quote-serif-right:before,
.fi-droplet:before,
.fi-eject:before,
.fi-elevator:before,
.fi-ellipses:before,
.fi-envelope-closed:before,
.fi-envelope-open:before,
.fi-euro:before,
.fi-excerpt:before,
.fi-expand-down:before,
.fi-expand-left:before,
.fi-expand-right:before,
.fi-expand-up:before,
.fi-external-link:before,
.fi-eye:before,
.fi-eyedropper:before,
.fi-file:before,
.fi-fire:before,
.fi-flag:before,
.fi-flash:before,
.fi-folder:before,
.fi-fork:before,
.fi-fullscreen-enter:before,
.fi-fullscreen-exit:before,
.fi-globe:before,
.fi-graph:before,
.fi-grid-four-up:before,
.fi-grid-three-up:before,
.fi-grid-two-up:before,
.fi-hard-drive:before,
.fi-header:before,
.fi-headphones:before,
.fi-heart:before,
.fi-home:before,
.fi-image:before,
.fi-inbox:before,
.fi-infinity:before,
.fi-info:before,
.fi-italic:before,
.fi-justify-center:before,
.fi-justify-left:before,
.fi-justify-right:before,
.fi-key:before,
.fi-laptop:before,
.fi-layers:before,
.fi-lightbulb:before,
.fi-link-broken:before,
.fi-link-intact:before,
.fi-list-rich:before,
.fi-list:before,
.fi-location:before,
.fi-lock-locked:before,
.fi-lock-unlocked:before,
.fi-loop-circular:before,
.fi-loop-square:before,
.fi-loop:before,
.fi-magnifying-glass:before,
.fi-map-marker:before,
.fi-map:before,
.fi-media-pause:before,
.fi-media-play:before,
.fi-media-record:before,
.fi-media-skip-backward:before,
.fi-media-skip-forward:before,
.fi-media-step-backward:before,
.fi-media-step-forward:before,
.fi-media-stop:before,
.fi-medical-cross:before,
.fi-menu:before,
.fi-microphone:before,
.fi-minus:before,
.fi-monitor:before,
.fi-moon:before,
.fi-move:before,
.fi-musical-note:before,
.fi-paperclip:before,
.fi-pencil:before,
.fi-people:before,
.fi-person:before,
.fi-phone:before,
.fi-pie-chart:before,
.fi-pin:before,
.fi-play-circle:before,
.fi-plus:before,
.fi-power-standby:before,
.fi-print:before,
.fi-project:before,
.fi-pulse:before,
.fi-puzzle-piece:before,
.fi-question-mark:before,
.fi-rain:before,
.fi-random:before,
.fi-reload:before,
.fi-resize-both:before,
.fi-resize-height:before,
.fi-resize-width:before,
.fi-rss-alt:before,
.fi-rss:before,
.fi-script:before,
.fi-share-boxed:before,
.fi-share:before,
.fi-shield:before,
.fi-signal:before,
.fi-signpost:before,
.fi-sort-ascending:before,
.fi-sort-descending:before,
.fi-spreadsheet:before,
.fi-star:before,
.fi-sun:before,
.fi-tablet:before,
.fi-tag:before,
.fi-tags:before,
.fi-target:before,
.fi-task:before,
.fi-terminal:before,
.fi-text:before,
.fi-thumb-down:before,
.fi-thumb-up:before,
.fi-timer:before,
.fi-transfer:before,
.fi-trash:before,
.fi-underline:before,
.fi-vertical-align-bottom:before,
.fi-vertical-align-center:before,
.fi-vertical-align-top:before,
.fi-video:before,
.fi-volume-high:before,
.fi-volume-low:before,
.fi-volume-off:before,
.fi-warning:before,
.fi-wifi:before,
.fi-wrench:before,
.fi-x:before,
.fi-yen:before,
.fi-zoom-in:before,
.fi-zoom-out:before {
  font-family: 'Icons';
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  text-decoration: inherit; }

[class*='fi-'].oi-align-center:before {
  text-align: center; }

[class*='fi-'].oi-align-left:before {
  text-align: left; }

[class*='fi-'].oi-align-right:before {
  text-align: right; }

[class*='fi-'].oi-flip-horizontal:before {
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1); }

[class*='fi-'].oi-flip-vertical:before {
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(-1, 1);
  transform: scale(1, -1); }

[class*='fi-'].oi-flip-horizontal-vertical:before {
  -webkit-transform: scale(-1, -1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, -1); }

.fi-account-login:before {
  content: '\e000'; }

.fi-account-logout:before {
  content: '\e001'; }

.fi-action-redo:before {
  content: '\e002'; }

.fi-action-undo:before {
  content: '\e003'; }

.fi-align-center:before {
  content: '\e004'; }

.fi-align-left:before {
  content: '\e005'; }

.fi-align-right:before {
  content: '\e006'; }

.fi-aperture:before {
  content: '\e007'; }

.fi-arrow-bottom:before {
  content: '\e008'; }

.fi-arrow-circle-bottom:before {
  content: '\e009'; }

.fi-arrow-circle-left:before {
  content: '\e00a'; }

.fi-arrow-circle-right:before {
  content: '\e00b'; }

.fi-arrow-circle-top:before {
  content: '\e00c'; }

.fi-arrow-left:before {
  content: '\e00d'; }

.fi-arrow-right:before {
  content: '\e00e'; }

.fi-arrow-thick-bottom:before {
  content: '\e00f'; }

.fi-arrow-thick-left:before {
  content: '\e010'; }

.fi-arrow-thick-right:before {
  content: '\e011'; }

.fi-arrow-thick-top:before {
  content: '\e012'; }

.fi-arrow-top:before {
  content: '\e013'; }

.fi-audio-spectrum:before {
  content: '\e014'; }

.fi-audio:before {
  content: '\e015'; }

.fi-badge:before {
  content: '\e016'; }

.fi-ban:before {
  content: '\e017'; }

.fi-bar-chart:before {
  content: '\e018'; }

.fi-basket:before {
  content: '\e019'; }

.fi-battery-empty:before {
  content: '\e01a'; }

.fi-battery-full:before {
  content: '\e01b'; }

.fi-beaker:before {
  content: '\e01c'; }

.fi-bell:before {
  content: '\e01d'; }

.fi-bluetooth:before {
  content: '\e01e'; }

.fi-bold:before {
  content: '\e01f'; }

.fi-bolt:before {
  content: '\e020'; }

.fi-book:before {
  content: '\e021'; }

.fi-bookmark:before {
  content: '\e022'; }

.fi-box:before {
  content: '\e023'; }

.fi-briefcase:before {
  content: '\e024'; }

.fi-british-pound:before {
  content: '\e025'; }

.fi-browser:before {
  content: '\e026'; }

.fi-brush:before {
  content: '\e027'; }

.fi-bug:before {
  content: '\e028'; }

.fi-bullhorn:before {
  content: '\e029'; }

.fi-calculator:before {
  content: '\e02a'; }

.fi-calendar:before {
  content: '\e02b'; }

.fi-camera-slr:before {
  content: '\e02c'; }

.fi-caret-bottom:before {
  content: '\e02d'; }

.fi-caret-left:before {
  content: '\e02e'; }

.fi-caret-right:before {
  content: '\e02f'; }

.fi-caret-top:before {
  content: '\e030'; }

.fi-cart:before {
  content: '\e031'; }

.fi-chat:before {
  content: '\e032'; }

.fi-check:before {
  content: '\e033'; }

.fi-chevron-bottom:before {
  content: '\e034'; }

.fi-chevron-left:before {
  content: '\e035'; }

.fi-chevron-right:before {
  content: '\e036'; }

.fi-chevron-top:before {
  content: '\e037'; }

.fi-circle-check:before {
  content: '\e038'; }

.fi-circle-x:before {
  content: '\e039'; }

.fi-clipboard:before {
  content: '\e03a'; }

.fi-clock:before {
  content: '\e03b'; }

.fi-cloud-download:before {
  content: '\e03c'; }

.fi-cloud-upload:before {
  content: '\e03d'; }

.fi-cloud:before {
  content: '\e03e'; }

.fi-cloudy:before {
  content: '\e03f'; }

.fi-code:before {
  content: '\e040'; }

.fi-cog:before {
  content: '\e041'; }

.fi-collapse-down:before {
  content: '\e042'; }

.fi-collapse-left:before {
  content: '\e043'; }

.fi-collapse-right:before {
  content: '\e044'; }

.fi-collapse-up:before {
  content: '\e045'; }

.fi-command:before {
  content: '\e046'; }

.fi-comment-square:before {
  content: '\e047'; }

.fi-compass:before {
  content: '\e048'; }

.fi-contrast:before {
  content: '\e049'; }

.fi-copywriting:before {
  content: '\e04a'; }

.fi-credit-card:before {
  content: '\e04b'; }

.fi-crop:before {
  content: '\e04c'; }

.fi-dashboard:before {
  content: '\e04d'; }

.fi-data-transfer-download:before {
  content: '\e04e'; }

.fi-data-transfer-upload:before {
  content: '\e04f'; }

.fi-delete:before {
  content: '\e050'; }

.fi-dial:before {
  content: '\e051'; }

.fi-document:before {
  content: '\e052'; }

.fi-dollar:before {
  content: '\e053'; }

.fi-double-quote-sans-left:before {
  content: '\e054'; }

.fi-double-quote-sans-right:before {
  content: '\e055'; }

.fi-double-quote-serif-left:before {
  content: '\e056'; }

.fi-double-quote-serif-right:before {
  content: '\e057'; }

.fi-droplet:before {
  content: '\e058'; }

.fi-eject:before {
  content: '\e059'; }

.fi-elevator:before {
  content: '\e05a'; }

.fi-ellipses:before {
  content: '\e05b'; }

.fi-envelope-closed:before {
  content: '\e05c'; }

.fi-envelope-open:before {
  content: '\e05d'; }

.fi-euro:before {
  content: '\e05e'; }

.fi-excerpt:before {
  content: '\e05f'; }

.fi-expand-down:before {
  content: '\e060'; }

.fi-expand-left:before {
  content: '\e061'; }

.fi-expand-right:before {
  content: '\e062'; }

.fi-expand-up:before {
  content: '\e063'; }

.fi-external-link:before {
  content: '\e064'; }

.fi-eye:before {
  content: '\e065'; }

.fi-eyedropper:before {
  content: '\e066'; }

.fi-file:before {
  content: '\e067'; }

.fi-fire:before {
  content: '\e068'; }

.fi-flag:before {
  content: '\e069'; }

.fi-flash:before {
  content: '\e06a'; }

.fi-folder:before {
  content: '\e06b'; }

.fi-fork:before {
  content: '\e06c'; }

.fi-fullscreen-enter:before {
  content: '\e06d'; }

.fi-fullscreen-exit:before {
  content: '\e06e'; }

.fi-globe:before {
  content: '\e06f'; }

.fi-graph:before {
  content: '\e070'; }

.fi-grid-four-up:before {
  content: '\e071'; }

.fi-grid-three-up:before {
  content: '\e072'; }

.fi-grid-two-up:before {
  content: '\e073'; }

.fi-hard-drive:before {
  content: '\e074'; }

.fi-header:before {
  content: '\e075'; }

.fi-headphones:before {
  content: '\e076'; }

.fi-heart:before {
  content: '\e077'; }

.fi-home:before {
  content: '\e078'; }

.fi-image:before {
  content: '\e079'; }

.fi-inbox:before {
  content: '\e07a'; }

.fi-infinity:before {
  content: '\e07b'; }

.fi-info:before {
  content: '\e07c'; }

.fi-italic:before {
  content: '\e07d'; }

.fi-justify-center:before {
  content: '\e07e'; }

.fi-justify-left:before {
  content: '\e07f'; }

.fi-justify-right:before {
  content: '\e080'; }

.fi-key:before {
  content: '\e081'; }

.fi-laptop:before {
  content: '\e082'; }

.fi-layers:before {
  content: '\e083'; }

.fi-lightbulb:before {
  content: '\e084'; }

.fi-link-broken:before {
  content: '\e085'; }

.fi-link-intact:before {
  content: '\e086'; }

.fi-list-rich:before {
  content: '\e087'; }

.fi-list:before {
  content: '\e088'; }

.fi-location:before {
  content: '\e089'; }

.fi-lock-locked:before {
  content: '\e08a'; }

.fi-lock-unlocked:before {
  content: '\e08b'; }

.fi-loop-circular:before {
  content: '\e08c'; }

.fi-loop-square:before {
  content: '\e08d'; }

.fi-loop:before {
  content: '\e08e'; }

.fi-magnifying-glass:before {
  content: '\e08f'; }

.fi-map-marker:before {
  content: '\e090'; }

.fi-map:before {
  content: '\e091'; }

.fi-media-pause:before {
  content: '\e092'; }

.fi-media-play:before {
  content: '\e093'; }

.fi-media-record:before {
  content: '\e094'; }

.fi-media-skip-backward:before {
  content: '\e095'; }

.fi-media-skip-forward:before {
  content: '\e096'; }

.fi-media-step-backward:before {
  content: '\e097'; }

.fi-media-step-forward:before {
  content: '\e098'; }

.fi-media-stop:before {
  content: '\e099'; }

.fi-medical-cross:before {
  content: '\e09a'; }

.fi-menu:before {
  content: '\e09b'; }

.fi-microphone:before {
  content: '\e09c'; }

.fi-minus:before {
  content: '\e09d'; }

.fi-monitor:before {
  content: '\e09e'; }

.fi-moon:before {
  content: '\e09f'; }

.fi-move:before {
  content: '\e0a0'; }

.fi-musical-note:before {
  content: '\e0a1'; }

.fi-paperclip:before {
  content: '\e0a2'; }

.fi-pencil:before {
  content: '\e0a3'; }

.fi-people:before {
  content: '\e0a4'; }

.fi-person:before {
  content: '\e0a5'; }

.fi-phone:before {
  content: '\e0a6'; }

.fi-pie-chart:before {
  content: '\e0a7'; }

.fi-pin:before {
  content: '\e0a8'; }

.fi-play-circle:before {
  content: '\e0a9'; }

.fi-plus:before {
  content: '\e0aa'; }

.fi-power-standby:before {
  content: '\e0ab'; }

.fi-print:before {
  content: '\e0ac'; }

.fi-project:before {
  content: '\e0ad'; }

.fi-pulse:before {
  content: '\e0ae'; }

.fi-puzzle-piece:before {
  content: '\e0af'; }

.fi-question-mark:before {
  content: '\e0b0'; }

.fi-rain:before {
  content: '\e0b1'; }

.fi-random:before {
  content: '\e0b2'; }

.fi-reload:before {
  content: '\e0b3'; }

.fi-resize-both:before {
  content: '\e0b4'; }

.fi-resize-height:before {
  content: '\e0b5'; }

.fi-resize-width:before {
  content: '\e0b6'; }

.fi-rss-alt:before {
  content: '\e0b7'; }

.fi-rss:before {
  content: '\e0b8'; }

.fi-script:before {
  content: '\e0b9'; }

.fi-share-boxed:before {
  content: '\e0ba'; }

.fi-share:before {
  content: '\e0bb'; }

.fi-shield:before {
  content: '\e0bc'; }

.fi-signal:before {
  content: '\e0bd'; }

.fi-signpost:before {
  content: '\e0be'; }

.fi-sort-ascending:before {
  content: '\e0bf'; }

.fi-sort-descending:before {
  content: '\e0c0'; }

.fi-spreadsheet:before {
  content: '\e0c1'; }

.fi-star:before {
  content: '\e0c2'; }

.fi-sun:before {
  content: '\e0c3'; }

.fi-tablet:before {
  content: '\e0c4'; }

.fi-tag:before {
  content: '\e0c5'; }

.fi-tags:before {
  content: '\e0c6'; }

.fi-target:before {
  content: '\e0c7'; }

.fi-task:before {
  content: '\e0c8'; }

.fi-terminal:before {
  content: '\e0c9'; }

.fi-text:before {
  content: '\e0ca'; }

.fi-thumb-down:before {
  content: '\e0cb'; }

.fi-thumb-up:before {
  content: '\e0cc'; }

.fi-timer:before {
  content: '\e0cd'; }

.fi-transfer:before {
  content: '\e0ce'; }

.fi-trash:before {
  content: '\e0cf'; }

.fi-underline:before {
  content: '\e0d0'; }

.fi-vertical-align-bottom:before {
  content: '\e0d1'; }

.fi-vertical-align-center:before {
  content: '\e0d2'; }

.fi-vertical-align-top:before {
  content: '\e0d3'; }

.fi-video:before {
  content: '\e0d4'; }

.fi-volume-high:before {
  content: '\e0d5'; }

.fi-volume-low:before {
  content: '\e0d6'; }

.fi-volume-off:before {
  content: '\e0d7'; }

.fi-warning:before {
  content: '\e0d8'; }

.fi-wifi:before {
  content: '\e0d9'; }

.fi-wrench:before {
  content: '\e0da'; }

.fi-x:before {
  content: '\e0db'; }

.fi-yen:before {
  content: '\e0dc'; }

.fi-zoom-in:before {
  content: '\e0dd'; }

.fi-zoom-out:before {
  content: '\e0de'; }

/*
 * 変数定義
 */
/* 22px */
/* 14px */
/* 12px */
/* 10px */
/*
 * vw計算用
 */
/*
 * Mixin
 */
/*
 * Animation
 */
@-webkit-keyframes show {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes show {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes scroll-loop {
  0% {
    -webkit-transform: translateY(10%);
    transform: translateY(10%); }
  80% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%); }
  90% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%); }
  100% {
    -webkit-transform: translateY(10%);
    transform: translateY(10%); } }

@keyframes scroll-loop {
  0% {
    -webkit-transform: translateY(10%);
    transform: translateY(10%); }
  80% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%); }
  90% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%); }
  100% {
    -webkit-transform: translateY(10%);
    transform: translateY(10%); } }

@-webkit-keyframes hvr-back-pulse-blue {
  50% {
    background-color: rgba(3, 44, 102, 0.75); } }

@keyframes hvr-back-pulse-blue {
  50% {
    background-color: rgba(3, 44, 102, 0.75); } }

@-webkit-keyframes hvr-back-pulse-black {
  50% {
    background-color: rgba(17, 17, 17, 0.75); } }

@keyframes hvr-back-pulse-black {
  50% {
    background-color: rgba(17, 17, 17, 0.75); } }

@-webkit-keyframes hvr-back-pulse-pink {
  50% {
    background-color: rgba(231, 73, 133, 0.75); } }

@keyframes hvr-back-pulse-pink {
  50% {
    background-color: rgba(231, 73, 133, 0.75); } }

@-webkit-keyframes hvr-back-pulse-white {
  50% {
    background-color: rgba(255, 255, 255, 0.75); } }

@keyframes hvr-back-pulse-white {
  50% {
    background-color: rgba(255, 255, 255, 0.75); } }

/*
 * 共通
 */
header.page-header {
  position: absolute;
  z-index: 1;
  margin: auto;
  width: 1100px;
  left: 0;
  right: 0;
  top: 20px; }
  header.page-header.menu-open {
    z-index: 10; }
  @media screen and (max-width: 63.99875em) {
    header.page-header {
      width: auto;
      left: 20px;
      right: 20px;
      top: 20px; } }
  @media screen and (max-width: 63.99875em) {
    header.page-header h1 img,
    header.page-header .logo img {
      max-width: 70%; } }
  @media screen and (max-width: 63.99875em) and (max-width: 39.99875em) {
    header.page-header h1 img,
    header.page-header .logo img {
      max-width: 60%; } }
  header.page-header .menu-bar {
    z-index: 100;
    position: fixed;
    right: 20px; }
    header.page-header .menu-bar .humberger-icon {
      position: absolute;
      top: 10px;
      right: 0;
      width: 25px;
      height: 23px;
      cursor: pointer; }
      @media screen and (max-width: 63.99875em) {
        header.page-header .menu-bar .humberger-icon {
          top: 20px; } }
      @media screen and (max-width: 39.99875em) {
        header.page-header .menu-bar .humberger-icon {
          top: 5px; } }
      header.page-header .menu-bar .humberger-icon span {
        position: absolute;
        right: 0;
        width: 100%;
        height: 2px;
        background-color: #ffffff;
        -webkit-transition: all 0.3s ease-out;
        transition: all 0.3s ease-out; }
        header.page-header .menu-bar .humberger-icon span:nth-child(1) {
          top: 0; }
        header.page-header .menu-bar .humberger-icon span:nth-child(2) {
          top: 10px;
          width: 70%; }
        header.page-header .menu-bar .humberger-icon span:nth-child(3) {
          top: 20px; }
        body.page header.page-header .menu-bar .humberger-icon span {
          background-color: #032c66; }
        body.page header.page-header .menu-bar .humberger-icon.open span {
          background-color: #ffffff; }
      header.page-header .menu-bar .humberger-icon.open span {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: 10px; }
        header.page-header .menu-bar .humberger-icon.open span:nth-child(2) {
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg);
          width: 100%; }
        header.page-header .menu-bar .humberger-icon.open span:nth-child(3) {
          opacity: 0; }
  header.page-header nav {
    visibility: hidden; }
    header.page-header nav.loaded {
      visibility: visible;
      -webkit-animation: show 1s ease-out;
      animation: show 1s ease-out; }
    @media screen and (max-width: 63.99875em) {
      header.page-header nav {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        height: 100%;
        width: 100%;
        z-index: 10;
        background-color: rgba(17, 17, 17, 0.8); } }
    header.page-header nav ul {
      -webkit-animation: show 0.3s ease-out;
      animation: show 0.3s ease-out; }
    header.page-header nav > ul {
      float: right; }
      @media screen and (max-width: 63.99875em) {
        header.page-header nav > ul {
          float: none;
          margin: 5.71429rem 1.42857rem 0; } }
    header.page-header nav .dropdown.menu li,
    header.page-header nav .accordion-menu.menu li {
      font-size: 0.92857rem;
      position: static; }
      header.page-header nav .dropdown.menu li.is-active a,
      header.page-header nav .dropdown.menu li.is-active > a, header.page-header nav .dropdown.menu li.is-dropdown-active a,
      header.page-header nav .dropdown.menu li.is-dropdown-active > a,
      header.page-header nav .accordion-menu.menu li.is-active a,
      header.page-header nav .accordion-menu.menu li.is-active > a,
      header.page-header nav .accordion-menu.menu li.is-dropdown-active a,
      header.page-header nav .accordion-menu.menu li.is-dropdown-active > a {
        color: #ffffff; }
      header.page-header nav .dropdown.menu li.current > a,
      header.page-header nav .accordion-menu.menu li.current > a {
        font-weight: 700; }
      header.page-header nav .dropdown.menu li a,
      header.page-header nav .accordion-menu.menu li a {
        color: #ffffff;
        position: relative;
        display: inline-block;
        padding-top: 1.78571rem;
        padding-bottom: 3.35714rem;
        -webkit-transition: .3s;
        transition: .3s; }
        header.page-header nav .dropdown.menu li a::before,
        header.page-header nav .accordion-menu.menu li a::before {
          content: "";
          position: absolute;
          top: initial;
          bottom: 0;
          left: 50%;
          width: 0;
          height: 2px;
          background-color: #ffffff;
          -webkit-transition: .3s;
          transition: .3s;
          -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
          transform: translateX(-50%); }
        header.page-header nav .dropdown.menu li a:hover::before,
        header.page-header nav .accordion-menu.menu li a:hover::before {
          width: 100%; }
        @media screen and (max-width: 63.99875em) {
          header.page-header nav .dropdown.menu li a,
          header.page-header nav .accordion-menu.menu li a {
            padding: 1.42857rem 0; } }
        header.page-header nav .dropdown.menu li a.disabled,
        header.page-header nav .accordion-menu.menu li a.disabled {
          cursor: default; }
          header.page-header nav .dropdown.menu li a.disabled::after,
          header.page-header nav .accordion-menu.menu li a.disabled::after {
            content: none; }
      header.page-header nav .dropdown.menu li > ul.is-dropdown-submenu,
      header.page-header nav .dropdown.menu li > ul.is-accordion-submenu,
      header.page-header nav .accordion-menu.menu li > ul.is-dropdown-submenu,
      header.page-header nav .accordion-menu.menu li > ul.is-accordion-submenu {
        background-color: rgba(3, 44, 102, 0.8);
        border: none;
        position: fixed;
        width: 100%;
        text-align: center; }
        @media screen and (max-width: 63.99875em) {
          header.page-header nav .dropdown.menu li > ul.is-dropdown-submenu,
          header.page-header nav .dropdown.menu li > ul.is-accordion-submenu,
          header.page-header nav .accordion-menu.menu li > ul.is-dropdown-submenu,
          header.page-header nav .accordion-menu.menu li > ul.is-accordion-submenu {
            background-color: transparent;
            position: static;
            text-align: left; } }
        header.page-header nav .dropdown.menu li > ul.is-dropdown-submenu > li,
        header.page-header nav .dropdown.menu li > ul.is-accordion-submenu > li,
        header.page-header nav .accordion-menu.menu li > ul.is-dropdown-submenu > li,
        header.page-header nav .accordion-menu.menu li > ul.is-accordion-submenu > li {
          width: auto;
          display: inline-block; }
          header.page-header nav .dropdown.menu li > ul.is-dropdown-submenu > li a,
          header.page-header nav .dropdown.menu li > ul.is-accordion-submenu > li a,
          header.page-header nav .accordion-menu.menu li > ul.is-dropdown-submenu > li a,
          header.page-header nav .accordion-menu.menu li > ul.is-accordion-submenu > li a {
            color: #ffffff;
            padding: 2.14286rem 1.42857rem; }
            @media screen and (max-width: 63.99875em) {
              header.page-header nav .dropdown.menu li > ul.is-dropdown-submenu > li a,
              header.page-header nav .dropdown.menu li > ul.is-accordion-submenu > li a,
              header.page-header nav .accordion-menu.menu li > ul.is-dropdown-submenu > li a,
              header.page-header nav .accordion-menu.menu li > ul.is-accordion-submenu > li a {
                padding: 1.42857rem 1.42857rem; } }
      header.page-header nav .dropdown.menu li.is-active ul,
      header.page-header nav .accordion-menu.menu li.is-active ul {
        left: 0 !important;
        right: 0 !important;
        top: 104px !important; }
      header.page-header nav .dropdown.menu li.has-children.about > ul,
      header.page-header nav .accordion-menu.menu li.has-children.about > ul {
        min-width: 120px; }
        @media screen and (max-width: 63.99875em) {
          header.page-header nav .dropdown.menu li.has-children.about > ul,
          header.page-header nav .accordion-menu.menu li.has-children.about > ul {
            min-width: none; } }
      header.page-header nav .dropdown.menu li.has-children.human-resource > ul,
      header.page-header nav .accordion-menu.menu li.has-children.human-resource > ul {
        min-width: 160px; }
        @media screen and (max-width: 63.99875em) {
          header.page-header nav .dropdown.menu li.has-children.human-resource > ul,
          header.page-header nav .accordion-menu.menu li.has-children.human-resource > ul {
            min-width: none; } }
      header.page-header nav .dropdown.menu li.has-children.reform > ul,
      header.page-header nav .accordion-menu.menu li.has-children.reform > ul {
        min-width: 160px; }
        @media screen and (max-width: 63.99875em) {
          header.page-header nav .dropdown.menu li.has-children.reform > ul,
          header.page-header nav .accordion-menu.menu li.has-children.reform > ul {
            min-width: none; } }
      header.page-header nav .dropdown.menu li.has-children.questionnaire > ul,
      header.page-header nav .accordion-menu.menu li.has-children.questionnaire > ul {
        min-width: 160px; }
        @media screen and (max-width: 63.99875em) {
          header.page-header nav .dropdown.menu li.has-children.questionnaire > ul,
          header.page-header nav .accordion-menu.menu li.has-children.questionnaire > ul {
            min-width: none; } }
      header.page-header nav .dropdown.menu li.recruit,
      header.page-header nav .accordion-menu.menu li.recruit {
        margin-right: 1.42857rem; }
        header.page-header nav .dropdown.menu li.recruit a::after,
        header.page-header nav .accordion-menu.menu li.recruit a::after {
          content: '';
          position: absolute;
          width: 11px;
          height: 11px;
          margin-left: 0.35714rem;
          background: url(../img/ico-external-white.svg) no-repeat 0 0; }
      header.page-header nav .dropdown.menu li.entry,
      header.page-header nav .accordion-menu.menu li.entry {
        margin-left: 0.35714rem;
        display: block; }
        @media screen and (max-width: 63.99875em) {
          header.page-header nav .dropdown.menu li.entry,
          header.page-header nav .accordion-menu.menu li.entry {
            margin: 1.42857rem auto 0;
            width: 400px; } }
        header.page-header nav .dropdown.menu li.entry a,
        header.page-header nav .accordion-menu.menu li.entry a {
          background-color: #2db272;
          background-image: none;
          background-size: auto;
          border-radius: 3.57143rem;
          padding: 0.7rem 1.8rem !important;
          margin-top: 1.07143rem;
          font-size: 0.85714rem;
          font-weight: 700;
          display: block; }
          header.page-header nav .dropdown.menu li.entry a::before,
          header.page-header nav .accordion-menu.menu li.entry a::before {
            content: none; }
          header.page-header nav .dropdown.menu li.entry a:hover, header.page-header nav .dropdown.menu li.entry a:active,
          header.page-header nav .accordion-menu.menu li.entry a:hover,
          header.page-header nav .accordion-menu.menu li.entry a:active {
            background-color: #ffffff;
            color: #2db272; }
      body.page header.page-header nav .dropdown.menu li.is-active > a, body.page header.page-header nav .dropdown.menu li.is-dropdown-active > a {
        color: #111111; }
      body.page header.page-header nav .dropdown.menu li a {
        color: #111111; }
        @media screen and (max-width: 63.99875em) {
          body.page header.page-header nav .dropdown.menu li a {
            color: #ffffff;
            background-image: none; } }
        body.page header.page-header nav .dropdown.menu li a::before {
          background-color: #032c66; }
      @media screen and (max-width: 63.99875em) {
        body.page header.page-header nav .dropdown.menu li > ul {
          background-color: transparent; } }
      body.page header.page-header nav .dropdown.menu li > ul a {
        color: #ffffff; }
        body.page header.page-header nav .dropdown.menu li > ul a::before {
          background-color: #ffffff; }
      body.page header.page-header nav .dropdown.menu li.recruit a::after {
        background-image: url(../img/ico-external-black.svg); }
      body.page header.page-header nav .dropdown.menu li.entry a {
        color: #ffffff;
        background-image: none; }
        body.page header.page-header nav .dropdown.menu li.entry a:hover {
          background-color: #111111;
          color: #ffffff; }

footer.page-footer {
  padding-top: 4.28571rem;
  border-top: 1px solid #ccc; }
  @media screen and (max-width: 39.99875em) {
    footer.page-footer {
      padding-top: 2.14286rem; } }
  footer.page-footer #back-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 2;
    display: none; }
    @media screen and (max-width: 63.99875em) {
      footer.page-footer #back-to-top {
        bottom: 10px;
        right: 10px; } }
    footer.page-footer #back-to-top a {
      background-color: #2db272;
      padding: 0.71429rem;
      display: block; }
  footer.page-footer .footer-inner {
    text-align: center;
    width: 1100px;
    margin: auto;
    padding: 0 3.57143rem; }
    @media screen and (max-width: 63.99875em) {
      footer.page-footer .footer-inner {
        width: auto; } }
    @media screen and (max-width: 39.99875em) {
      footer.page-footer .footer-inner {
        padding: 0 1.42857rem; } }
    footer.page-footer .footer-inner .footer-message {
      font-size: 1.85714rem;
      letter-spacing: 2px;
      color: #032c66; }
      @media screen and (max-width: 39.99875em) {
        footer.page-footer .footer-inner .footer-message {
          font-size: 1.42857rem; } }
      footer.page-footer .footer-inner .footer-message .additional {
        font-size: 1rem;
        margin-top: 1.42857rem;
        margin-bottom: 2.85714rem;
        color: #111111; }
        @media screen and (max-width: 39.99875em) {
          footer.page-footer .footer-inner .footer-message .additional {
            letter-spacing: 0; } }
    footer.page-footer .footer-inner .footer-entry {
      margin-bottom: 4.28571rem; }
      footer.page-footer .footer-inner .footer-entry a {
        border-top: 1px solid #032c66;
        border-bottom: 1px solid #032c66;
        padding: 0.71429rem 1.42857rem 2.14286rem;
        display: block;
        -webkit-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out;
        position: relative;
        color: #111111;
        text-decoration: underline; }
        @media screen and (max-width: 39.99875em) {
          footer.page-footer .footer-inner .footer-entry a:nth-child(1) {
            border-bottom: none; } }
        @media screen and (max-width: 63.99875em) {
          footer.page-footer .footer-inner .footer-entry a:nth-child(1), footer.page-footer .footer-inner .footer-entry a:nth-child(2) {
            border-bottom: none; } }
        footer.page-footer .footer-inner .footer-entry a img {
          max-width: 240px;
          display: block;
          margin: auto;
          -webkit-transition: all .4s ease-in-out;
          transition: all .4s ease-in-out; }
  footer.page-footer .copyright {
    background-color: #111111;
    color: #ffffff;
    text-align: center;
    padding: 1.42857rem 0;
    font-size: 0.78571rem; }

@media screen and (max-width: 63.99875em) {
  .readmore-wrap {
    text-align: center; } }

a.readmore {
  border: 1px solid #ffffff;
  border-radius: 3.57143rem;
  color: #ffffff;
  background-color: transparent;
  padding: 1rem 1.5rem;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color; }
  a.readmore:hover, a.readmore:focus, a.readmore:active {
    -webkit-animation-name: hvr-back-pulse-blue;
    animation-name: hvr-back-pulse-blue;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite; }
  a.readmore svg {
    margin-left: 1.42857rem; }

.full-width {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-right: -50vw;
  margin-left: -50vw; }

.content-width {
  width: 1100px;
  margin: auto; }
  @media screen and (max-width: 63.99875em) {
    .content-width {
      width: auto; } }

.bg-grey {
  background-color: #f2f2f2;
  padding: 3.57143rem 1.42857rem 1.42857rem; }
  @media screen and (max-width: 39.99875em) {
    .bg-grey {
      padding-top: 2.14286rem; } }

table.comparison {
  table-layout: fixed;
  margin-bottom: 1.5rem; }
  @media screen and (max-width: 39.99875em) {
    table.comparison {
      table-layout: auto; } }
  table.comparison thead,
  table.comparison tbody,
  table.comparison tr {
    border-color: #cccccc; }
  table.comparison th,
  table.comparison td {
    border-right: 1px solid #cccccc; }
  table.comparison thead th {
    background-color: #f9f9f9;
    color: #111111;
    text-align: center; }
    table.comparison thead th.blue {
      background-color: #032c66; }
  @media screen and (max-width: 39.99875em) {
    table.comparison tbody tr.common th {
      background-color: #f9f9f9;
      color: #111111; } }
  table.comparison tbody tr.better {
    background-color: #deeef9; }
    @media screen and (max-width: 39.99875em) {
      table.comparison tbody tr.better th {
        background-color: #deeef9;
        color: #111111;
        white-space: nowrap; } }
  table.comparison tbody th {
    background-color: #032c66;
    color: #ffffff; }
    @media screen and (max-width: 39.99875em) {
      table.comparison tbody th {
        text-align: left;
        vertical-align: top; } }
  table.comparison tbody td {
    vertical-align: top; }
    table.comparison tbody td.none {
      text-align: center;
      vertical-align: middle; }
      @media screen and (max-width: 39.99875em) {
        table.comparison tbody td.none {
          text-align: left; } }
    table.comparison tbody td ul {
      margin-bottom: 0; }

p.annotation {
  font-size: 0.85714rem !important;
  margin-bottom: 5.71429rem !important;
  font-weight: 400; }
  p.annotation.mt-n60 {
    margin-top: -60px; }
    @media screen and (max-width: 39.99875em) {
      p.annotation.mt-n60 {
        margin-top: 0px; } }
  p.annotation.mb-30 {
    margin-bottom: 30px !important; }
  p.annotation.mb-40 {
    margin-bottom: 40px !important; }

/*
 * トップページ 
 */
body.home .first-view {
  width: 100%;
  height: 100vh;
  background: -webkit-gradient(linear, left top, right top, from(rgba(17, 17, 17, 0.5)), to(rgba(3, 44, 102, 0.5)));
  background: -webkit-linear-gradient(left, rgba(17, 17, 17, 0.5), rgba(3, 44, 102, 0.5));
  background: linear-gradient(to right, rgba(17, 17, 17, 0.5), rgba(3, 44, 102, 0.5)); }
  body.home .first-view .video-wrap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    z-index: -100;
    height: 100vh; }
    body.home .first-view .video-wrap video {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      @media (min-aspect-ratio: 16 / 9) {
        body.home .first-view .video-wrap video {
          height: 300%;
          top: -100%; } }
      @media (max-aspect-ratio: 16 / 9) {
        body.home .first-view .video-wrap video {
          width: 300%;
          left: -100%; } }
  @media screen and (max-aspect-ratio: 16 / 9) and (max-width: 39.99875em) {
    body.home .first-view .video-wrap video {
      width: 400%;
      left: -140%; } }
  body.home .first-view .lead {
    position: absolute;
    font-size: 3.57143rem;
    letter-spacing: 12px;
    color: #ffffff;
    margin: auto;
    width: 1100px;
    left: 0;
    right: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    line-height: 1.3; }
    @media screen and (max-width: 63.99875em) {
      body.home .first-view .lead {
        width: auto;
        margin: auto 1.42857rem; } }
    @media screen and (max-width: 39.99875em) {
      body.home .first-view .lead {
        letter-spacing: 7px;
        line-height: 0.8; } }
    body.home .first-view .lead span {
      margin-right: -0.35714rem; }
    body.home .first-view .lead .kutoten {
      vertical-align: sub; }
    @media screen and (max-width: 39.99875em) {
      body.home .first-view .lead img.t1 {
        max-width: 20.16px; }
      body.home .first-view .lead img.t2 {
        max-width: 22.4px; }
      body.home .first-view .lead img.t3 {
        max-width: 28px; }
      body.home .first-view .lead img.t4 {
        max-width: 28px; }
      body.home .first-view .lead img.t5 {
        max-width: 26.88px; }
      body.home .first-view .lead img.t6 {
        max-width: 7.84px; }
      body.home .first-view .lead img.t7 {
        max-width: 72.8px; }
      body.home .first-view .lead img.t8 {
        max-width: 21.28px; }
      body.home .first-view .lead img.t9 {
        max-width: 25.76px; }
      body.home .first-view .lead img.t10 {
        max-width: 23.52px; }
      body.home .first-view .lead img.t11 {
        max-width: 7.84px; } }
    body.home .first-view .lead .en {
      margin-top: 1.42857rem;
      font-size: 0.71429rem;
      font-weight: 700;
      letter-spacing: 3px; }
  body.home .first-view .to-pt {
    position: absolute;
    right: 0;
    bottom: 15px;
    z-index: 10;
    width: 280px;
    height: 80px; }
    @media screen and (max-width: 39.99875em) {
      body.home .first-view .to-pt {
        bottom: 10.66667vw;
        width: 37.33333vw;
        height: 11.33333vw; } }
    body.home .first-view .to-pt > a {
      -webkit-transition: all .4s ease-out;
      transition: all .4s ease-out;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      width: 100%;
      height: 100%;
      color: #ffffff;
      text-decoration: none; }
      body.home .first-view .to-pt > a > span {
        -webkit-transition: border .4s ease-out;
        transition: border .4s ease-out;
        display: -webkit-inline-box;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        border: 1px solid #ffffff;
        border-radius: 2rem;
        padding: 0.6em 1.8em;
        font-size: 1.5em;
        line-height: 1.0em; }
        @media screen and (max-width: 39.99875em) {
          body.home .first-view .to-pt > a > span {
            font-size: 0.9em;
            padding: 0.6em 1.0em; } }
        body.home .first-view .to-pt > a > span svg {
          margin-left: 1.0em; }
        body.home .first-view .to-pt > a > span polyline {
          -webkit-transition: all .4s ease-out;
          transition: all .4s ease-out; }
      body.home .first-view .to-pt > a:link, body.home .first-view .to-pt > a:visited {
        background-color: #002F7A;
        color: #ffffff;
        text-decoration: none; }
        body.home .first-view .to-pt > a:link > span, body.home .first-view .to-pt > a:visited > span {
          border-color: #ffffff; }
          body.home .first-view .to-pt > a:link > span polyline, body.home .first-view .to-pt > a:visited > span polyline {
            stroke: #ffffff; }
      body.home .first-view .to-pt > a:hover, body.home .first-view .to-pt > a:active {
        background-color: #ffffff;
        color: #002F7A;
        text-decoration: none; }
        body.home .first-view .to-pt > a:hover > span, body.home .first-view .to-pt > a:active > span {
          border-color: #002F7A; }
          body.home .first-view .to-pt > a:hover > span polyline, body.home .first-view .to-pt > a:active > span polyline {
            stroke: #002F7A; }
  body.home .first-view .scroll {
    position: absolute;
    bottom: -60px;
    left: 0;
    right: 0;
    text-align: center;
    color: #ffffff;
    opacity: 1;
    -webkit-transition: opacity .8s ease-out;
    transition: opacity .8s ease-out;
    -webkit-animation: scroll-loop 3s infinite cubic-bezier(0.615, 0.19, 0.305, 0.91);
    animation: scroll-loop 3s infinite cubic-bezier(0.615, 0.19, 0.305, 0.91); }
    body.home .first-view .scroll.scrolled {
      opacity: 0; }
      body.home .first-view .scroll.scrolled a {
        cursor: default; }
    body.home .first-view .scroll a {
      display: inline-block;
      cursor: pointer;
      color: #ffffff; }
      body.home .first-view .scroll a::after {
        content: "";
        display: block;
        height: 104px;
        width: 1px;
        margin: auto;
        margin-top: 20px;
        background-color: #ffffff; }

body.home .inner {
  width: 1100px;
  margin: auto; }
  @media screen and (max-width: 63.99875em) {
    body.home .inner {
      width: auto;
      margin: auto 1.42857rem; } }

body.home > div.about h2,
body.home > div.schedule h2,
body.home > div.interview h2 {
  text-align: center; }
  @media screen and (max-width: 63.99875em) {
    body.home > div.about h2,
    body.home > div.schedule h2,
    body.home > div.interview h2 {
      margin-bottom: 2.85714rem; } }
  body.home > div.about h2 span,
  body.home > div.schedule h2 span,
  body.home > div.interview h2 span {
    font-size: 1.14286rem;
    display: block;
    margin-top: 1.42857rem;
    letter-spacing: 2px; }

body.home > div.message .panel,
body.home > div.woman .panel {
  background-color: #ffffff;
  color: #111111;
  margin-left: 1.42857rem;
  text-align: center; }
  @media screen and (max-width: 63.99875em) {
    body.home > div.message .panel,
    body.home > div.woman .panel {
      margin-left: 0; } }
  body.home > div.message .panel h2 span,
  body.home > div.woman .panel h2 span {
    font-size: 1.14286rem;
    display: block;
    margin-top: 0.71429rem;
    margin-bottom: 2.14286rem;
    letter-spacing: 2px;
    color: #032c66; }
    @media screen and (max-width: 63.99875em) {
      body.home > div.message .panel h2 span,
      body.home > div.woman .panel h2 span {
        letter-spacing: 0; } }

body.home > div.about {
  background: url(../img/bg-about.jpg) no-repeat center center;
  background-size: cover;
  color: #ffffff;
  padding-top: 8.57143rem;
  padding-bottom: 3.57143rem; }
  @media screen and (max-width: 39.99875em) {
    body.home > div.about h2 img {
      width: 128px; } }
  body.home > div.about .lead {
    font-size: 1.85714rem;
    font-weight: 700;
    letter-spacing: 4px;
    margin-bottom: 2.14286rem; }
    @media screen and (max-width: 63.99875em) {
      body.home > div.about .lead {
        font-size: 1.28571rem;
        text-align: center;
        letter-spacing: 0; } }
  body.home > div.about p {
    margin-bottom: 1.42857rem; }
  body.home > div.about a.readmore {
    margin-top: 1.42857rem; }
    body.home > div.about a.readmore:hover, body.home > div.about a.readmore:focus, body.home > div.about a.readmore:active {
      -webkit-animation-name: hvr-back-pulse-white;
      animation-name: hvr-back-pulse-white;
      background-color: #ffffff;
      color: #111111; }
      body.home > div.about a.readmore:hover polyline, body.home > div.about a.readmore:focus polyline, body.home > div.about a.readmore:active polyline {
        stroke: #111111; }

body.home > div.message {
  background: url(../img/bg-message.jpg) no-repeat center center;
  background-size: cover;
  color: #ffffff;
  padding-top: 4.28571rem; }
  body.home > div.message .ceo {
    margin-top: -3.57143rem;
    text-align: center; }
    @media screen and (max-width: 63.99875em) {
      body.home > div.message .ceo {
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2;
        text-align: center;
        position: relative;
        z-index: 1;
        max-width: 200px;
        margin: -3.57143rem auto 0; } }
    body.home > div.message .ceo img {
      max-width: 70%; }
      @media screen and (max-width: 63.99875em) {
        body.home > div.message .ceo img {
          max-width: 100%; } }
  body.home > div.message .panel {
    padding: 2.85714rem;
    position: relative; }
    @media screen and (max-width: 63.99875em) {
      body.home > div.message .panel {
        padding: 2.85714rem 1.42857rem 1.42857rem; } }
    body.home > div.message .panel::before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      margin: auto;
      width: 40px;
      height: 4px;
      background-color: #032c66; }
    body.home > div.message .panel h2 {
      text-align: center; }
      @media screen and (max-width: 39.99875em) {
        body.home > div.message .panel h2 img {
          width: 112px; } }
      body.home > div.message .panel h2 span {
        font-size: 1.14286rem;
        display: block;
        margin-top: 0.71429rem;
        margin-bottom: 2.14286rem;
        letter-spacing: 2px;
        color: #032c66; }
        @media screen and (max-width: 63.99875em) {
          body.home > div.message .panel h2 span {
            letter-spacing: 0; } }
    body.home > div.message .panel p {
      font-size: 1.42857rem;
      letter-spacing: 3px;
      line-height: 2; }
      @media screen and (max-width: 63.99875em) {
        body.home > div.message .panel p {
          margin-bottom: 0; } }
      @media screen and (max-width: 39.99875em) {
        body.home > div.message .panel p {
          letter-spacing: 1px; } }
    body.home > div.message .panel a.readmore {
      margin-top: 1.42857rem;
      border-color: #032c66;
      color: #032c66; }
      body.home > div.message .panel a.readmore polyline {
        stroke: #032c66; }
      body.home > div.message .panel a.readmore:hover, body.home > div.message .panel a.readmore:focus, body.home > div.message .panel a.readmore:active {
        color: #ffffff;
        background-color: #032c66; }
        body.home > div.message .panel a.readmore:hover polyline, body.home > div.message .panel a.readmore:focus polyline, body.home > div.message .panel a.readmore:active polyline {
          stroke: #ffffff; }

body.home > div.schedule {
  text-align: center;
  padding-top: 8rem;
  position: relative;
  overflow: hidden; }
  body.home > div.schedule::before {
    content: "";
    display: block;
    background-color: #f2f2f2;
    width: 100%;
    height: 580px;
    position: absolute;
    z-index: -1;
    bottom: 60px;
    left: 50%; }
    @media screen and (max-width: 63.99875em) {
      body.home > div.schedule::before {
        height: 480px;
        bottom: 40px;
        left: 10%; } }
  @media screen and (max-width: 39.99875em) {
    body.home > div.schedule h2 img {
      width: 197px; } }
  @media screen and (max-width: 63.99875em) {
    body.home > div.schedule h2 + p {
      margin: auto 1.42857rem;
      text-align: left; } }
  body.home > div.schedule h2 span {
    margin-bottom: 1.42857rem;
    color: #032c66; }
  body.home > div.schedule .photo {
    background: url(../img/bnr-top-schedule.jpg) no-repeat 0 0;
    background-size: contain;
    padding: 5.14286rem 0;
    margin-top: 5.71429rem;
    margin-bottom: 7.14286rem; }
    @media screen and (max-width: 63.99875em) {
      body.home > div.schedule .photo {
        background-image: url(../img/bnr-top-schedule-sp.jpg);
        margin-left: -1.42857rem;
        margin-top: 4.28571rem;
        margin-bottom: 3.57143rem;
        padding-bottom: 1.42857rem; } }
    body.home > div.schedule .photo .panel {
      background-color: #111111;
      color: #ffffff;
      padding: 8.57143rem 0;
      text-align: center; }
      @media screen and (max-width: 63.99875em) {
        body.home > div.schedule .photo .panel {
          padding: 2.85714rem 0;
          margin: 10.71429rem -1.42857rem auto 0;
          max-width: 80%; } }
      body.home > div.schedule .photo .panel > div {
        font-size: 1.28571rem;
        font-weight: 700;
        letter-spacing: 2px; }
      body.home > div.schedule .photo .panel a.readmore {
        margin-top: 2.14286rem; }
        body.home > div.schedule .photo .panel a.readmore:hover, body.home > div.schedule .photo .panel a.readmore:focus, body.home > div.schedule .photo .panel a.readmore:active {
          -webkit-animation-name: hvr-back-pulse-white;
          animation-name: hvr-back-pulse-white;
          background-color: #ffffff;
          color: #111111; }
          body.home > div.schedule .photo .panel a.readmore:hover polyline, body.home > div.schedule .photo .panel a.readmore:focus polyline, body.home > div.schedule .photo .panel a.readmore:active polyline {
            stroke: #111111; }

body.home > div.interview {
  position: relative;
  overflow: hidden;
  background: url(../img/txt-interview-bg.svg) no-repeat -55px center;
  background-size: 150px; }
  @media screen and (max-width: 63.99875em) {
    body.home > div.interview {
      background-image: none; } }
  body.home > div.interview::before {
    content: "";
    display: block;
    width: 1100px;
    margin: auto;
    margin-bottom: 4.28571rem;
    border-top: 2px solid #f2f2f2; }
    @media screen and (max-width: 39.99875em) {
      body.home > div.interview::before {
        width: auto;
        margin: auto 1.42857rem 2.85714rem; } }
  body.home > div.interview::after {
    content: "";
    display: block;
    width: 200%;
    height: 730px;
    background-color: #f2f2f2;
    position: absolute;
    z-index: -1;
    bottom: 22%;
    left: -50%;
    -webkit-transform: rotate(-24deg);
    -ms-transform: rotate(-24deg);
    transform: rotate(-24deg); }
    @media screen and (max-width: 39.99875em) {
      body.home > div.interview::after {
        height: 130%;
        width: 920%;
        top: -28%;
        bottom: initial;
        left: -68%;
        -webkit-transform: rotate(65deg);
        -ms-transform: rotate(65deg);
        transform: rotate(65deg); } }
  body.home > div.interview h2 {
    text-align: left; }
    @media screen and (max-width: 39.99875em) {
      body.home > div.interview h2 {
        text-align: center; } }
    @media screen and (max-width: 39.99875em) {
      body.home > div.interview h2 img {
        width: 194px; } }
    body.home > div.interview h2 span {
      margin-bottom: 1.42857rem;
      color: #032c66; }
  body.home > div.interview .card-wrap {
    margin-top: 4.28571rem;
    margin-bottom: 4.28571rem; }
    @media screen and (max-width: 39.99875em) {
      body.home > div.interview .card-wrap {
        margin-top: 2.14286rem;
        margin-bottom: 1.42857rem; } }
    body.home > div.interview .card-wrap > a {
      position: relative;
      overflow: visible;
      letter-spacing: 1px; }
      @media screen and (max-width: 39.99875em) {
        body.home > div.interview .card-wrap > a {
          margin-top: 1.42857rem;
          margin-bottom: 1.42857rem; } }
      body.home > div.interview .card-wrap > a:nth-child(2), body.home > div.interview .card-wrap > a:nth-child(5), body.home > div.interview .card-wrap > a:nth-child(8) {
        position: relative;
        top: -4.28571rem; }
        @media screen and (max-width: 39.99875em) {
          body.home > div.interview .card-wrap > a:nth-child(2), body.home > div.interview .card-wrap > a:nth-child(5), body.home > div.interview .card-wrap > a:nth-child(8) {
            top: 0; } }
      body.home > div.interview .card-wrap > a:nth-child(3), body.home > div.interview .card-wrap > a:nth-child(6), body.home > div.interview .card-wrap > a:nth-child(9) {
        position: relative;
        top: -8.57143rem; }
        @media screen and (max-width: 39.99875em) {
          body.home > div.interview .card-wrap > a:nth-child(3), body.home > div.interview .card-wrap > a:nth-child(6), body.home > div.interview .card-wrap > a:nth-child(9) {
            top: 0; } }
      body.home > div.interview .card-wrap > a .number {
        position: absolute;
        z-index: 1;
        top: -10px;
        left: -10px; }
      body.home > div.interview .card-wrap > a .title {
        background-color: #2db272;
        color: #ffffff;
        position: absolute;
        z-index: 1;
        top: 0;
        right: 0;
        display: inline;
        padding: 0.14286rem 1.07143rem;
        font-size: 0.85714rem; }
      body.home > div.interview .card-wrap > a .image-wrap {
        overflow: hidden; }
        body.home > div.interview .card-wrap > a .image-wrap img {
          -webkit-transition: all .4s ease-in-out;
          transition: all .4s ease-in-out; }
          body.home > div.interview .card-wrap > a:hover .image-wrap img,
          body.interview .content main .card-wrap > a:hover .image-wrap img,
          body main div.interview.full-width .card-wrap > a:hover .image-wrap img,
          body footer.page-footer .footer-inner .footer-entry a:hover img {
            -webkit-transform: scale(1.05);
            -ms-transform: scale(1.05);
            transform: scale(1.05); }
      body.home > div.interview .card-wrap > a h3 {
        font-size: 1.28571rem;
        font-weight: 700;
        line-height: 1.6;
        color: #032c66; }

body.home > div.woman {
  background: url(../img/bg-top-woman.jpg) no-repeat center center;
  background-size: cover;
  padding: 2.14286rem 0 0; }
  body.home > div.woman .ladies {
    margin-top: -6.42857rem;
    text-align: center; }
    @media screen and (max-width: 63.99875em) {
      body.home > div.woman .ladies {
        margin-top: -2.14286rem; } }
    body.home > div.woman .ladies img {
      max-width: 94%; }
      @media screen and (min-width: 40em) and (max-width: 63.99875em) {
        body.home > div.woman .ladies img {
          max-width: 40%; } }
  body.home > div.woman .panel {
    padding: 2.85714rem 1.42857rem 1.42857rem;
    border: 2px solid #e74985; }
    body.home > div.woman .panel h2 {
      text-align: center;
      color: #e74985;
      font-weight: 700;
      letter-spacing: 2px; }
      @media screen and (max-width: 63.99875em) {
        body.home > div.woman .panel h2 {
          font-size: 1.71429rem; } }
      body.home > div.woman .panel h2 span {
        margin: 0.71429rem auto 1.42857rem;
        max-width: 120px; }
        @media screen and (max-width: 63.99875em) {
          body.home > div.woman .panel h2 span {
            max-width: 80px;
            margin-top: 0; } }
    body.home > div.woman .panel p {
      text-align: left;
      letter-spacing: 1px;
      line-height: 1.8; }
    body.home > div.woman .panel a.readmore {
      margin-top: 0.71429rem;
      border-color: transparent;
      color: #111111;
      background-color: #f2f2f2;
      position: relative;
      overflow: hidden; }
      body.home > div.woman .panel a.readmore polyline {
        stroke: #111111; }
      body.home > div.woman .panel a.readmore:hover, body.home > div.woman .panel a.readmore:focus, body.home > div.woman .panel a.readmore:active {
        -webkit-animation-name: hvr-back-pulse-pink;
        animation-name: hvr-back-pulse-pink;
        background-color: #e74985;
        color: #ffffff; }
        body.home > div.woman .panel a.readmore:hover polyline, body.home > div.woman .panel a.readmore:focus polyline, body.home > div.woman .panel a.readmore:active polyline {
          stroke: #ffffff; }

/*
 * 下層ページ共通
 */
body.page .title-area {
  margin-top: 104px;
  height: 400px;
  background: no-repeat center;
  background-size: cover;
  position: relative; }
  @media screen and (max-width: 39.99875em) {
    body.page .title-area {
      margin-top: 80px;
      height: 282px; } }
  body.page .title-area .title-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center; }
    @media screen and (max-width: 39.99875em) {
      body.page .title-area .title-inner {
        left: 0%;
        -webkit-transform: translate(0%, -50%);
        -ms-transform: translate(0%, -50%);
        transform: translate(0%, -50%);
        padding: 0 1.42857rem; } }
    body.page .title-area .title-inner h1 {
      color: #ffffff;
      margin-bottom: 1.42857rem;
      letter-spacing: 4px; }
      body.page .title-area .title-inner h1 span {
        display: block;
        font-size: 0.85714rem;
        letter-spacing: 0; }
    body.page .title-area .title-inner .title-text {
      color: #ffffff;
      font-size: 1rem;
      font-weight: 700;
      line-height: 2; }
      @media screen and (max-width: 39.99875em) {
        body.page .title-area .title-inner .title-text {
          text-align: left; } }

body.page .content main {
  width: 1100px;
  margin: auto; }
  @media screen and (max-width: 63.99875em) {
    body.page .content main {
      width: auto;
      margin: auto 1.42857rem; } }
  body.page .content main .lead {
    margin: 2.14286rem auto;
    padding-bottom: 1.42857rem;
    text-align: center;
    font-weight: 700;
    font-size: 2rem;
    color: #032c66;
    position: relative; }
    @media screen and (max-width: 39.99875em) {
      body.page .content main .lead {
        font-size: 1.42857rem;
        text-align: left; } }
    body.page .content main .lead::after {
      content: '';
      width: 24px;
      height: 1px;
      background-color: #032c66;
      position: absolute;
      bottom: 0;
      left: 50%;
      margin-left: -12px; }
    body.page .content main .lead.description {
      color: #111111; }
      @media screen and (max-width: 39.99875em) {
        body.page .content main .lead.description {
          font-size: 1.85714rem;
          text-align: center;
          margin-bottom: 0;
          padding-bottom: 0; } }
      body.page .content main .lead.description span {
        color: #032c66; }
      body.page .content main .lead.description > div {
        font-size: 1rem;
        font-weight: 400;
        line-height: 2;
        margin-top: 1.42857rem;
        margin-bottom: 4.28571rem; }
        @media screen and (max-width: 39.99875em) {
          body.page .content main .lead.description > div {
            text-align: left;
            margin-bottom: 0; } }
      body.page .content main .lead.description::after {
        content: none; }
  body.page .content main p {
    line-height: 1.8;
    margin-bottom: 1.5rem;
    font-size: 1.14286rem; }

/*
 * 代表メッセージ
 */
body.message .title-area {
  background-image: url(../img/bg-page-message.jpg); }

body.message .content {
  position: relative;
  overflow: hidden; }
  body.message .content::after {
    content: "";
    display: block;
    width: 200%;
    height: 1000px;
    background-color: #f2f2f2;
    position: absolute;
    z-index: -2;
    bottom: -55%;
    left: -50%;
    -webkit-transform: rotate(-20deg);
    -ms-transform: rotate(-20deg);
    transform: rotate(-20deg); }
    @media screen and (max-width: 63.99875em) {
      body.message .content::after {
        bottom: -35%;
        left: -40%; } }
  body.message .content main .lead {
    margin-top: 5.14286rem; }
  body.message .content main p {
    text-align: justify;
    text-justify: inter-ideograph; }
  body.message .content main .signature {
    text-align: right;
    margin-bottom: 4.28571rem; }
    @media screen and (max-width: 63.99875em) {
      body.message .content main .signature {
        text-align: left;
        margin-bottom: 0; } }
  body.message .content main .ceo {
    text-align: center;
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end; }
    @media screen and (max-width: 63.99875em) {
      body.message .content main .ceo {
        text-align: right; } }
    body.message .content main .ceo img {
      max-width: 380px; }
      @media screen and (max-width: 63.99875em) {
        body.message .content main .ceo img {
          max-width: 25%;
          margin-top: -80px; } }

/*
 * 事業紹介
 */
body.business .title-area {
  background-image: url(../img/bg-page-business.jpg); }

body.business .content main {
  padding-bottom: 7.85714rem; }
  @media screen and (max-width: 39.99875em) {
    body.business .content main {
      padding-bottom: 5rem; } }
  body.business .content main .lead {
    margin-top: 5.14286rem; }
    @media screen and (max-width: 39.99875em) {
      body.business .content main .lead {
        margin-top: 3.57143rem !important;
        text-align: center !important; } }
  body.business .content main table.comparison {
    margin-bottom: 5rem; }
  body.business .content main h3 {
    background-color: #f2f2f2;
    border-left: 4px solid #032c66;
    padding: 0.71429rem;
    padding-left: 1.42857rem;
    font-size: 1.57143rem;
    font-weight: 700;
    color: #032c66;
    margin-bottom: 1.42857rem; }
  @media print, screen and (min-width: 40em) {
    body.business .content main .lineup > div {
      margin-bottom: 0; }
      body.business .content main .lineup > div:not(:nth-child(-n+2)) {
        margin-top: 0; } }
  body.business .content main h4 {
    font-size: 1.42857rem;
    font-weight: 700;
    margin-bottom: 1.07143rem; }
  body.business .content main img.lineup-img {
    margin-bottom: 1.07143rem; }

/*
 * インタビュー
 */
body.interview .title-area {
  background-image: url(../img/bg-page-interview.jpg); }
  @media screen and (max-width: 39.99875em) {
    body.interview .title-area {
      background-position: 20% center; } }

body.interview .content {
  position: relative;
  overflow: hidden; }
  body.interview .content::after {
    content: "";
    display: block;
    width: 200%;
    height: 730px;
    background-color: #f2f2f2;
    position: absolute;
    z-index: -1;
    bottom: 16.6%;
    left: -50%;
    -webkit-transform: rotate(-24deg);
    -ms-transform: rotate(-24deg);
    transform: rotate(-24deg); }
    @media screen and (max-width: 39.99875em) {
      body.interview .content::after {
        height: 130%;
        width: 880%;
        top: -21%;
        bottom: initial;
        left: -68%;
        -webkit-transform: rotate(65deg);
        -ms-transform: rotate(65deg);
        transform: rotate(65deg); } }
  body.interview .content main .card-wrap {
    margin-top: 4.28571rem;
    margin-bottom: 4.28571rem; }
    @media screen and (max-width: 39.99875em) {
      body.interview .content main .card-wrap {
        margin-top: 2.14286rem;
        margin-bottom: 1.42857rem; } }
    body.interview .content main .card-wrap > a {
      position: relative;
      overflow: visible;
      letter-spacing: 1px; }
      @media screen and (max-width: 39.99875em) {
        body.interview .content main .card-wrap > a {
          margin-top: 1.42857rem;
          margin-bottom: 1.42857rem; } }
      body.interview .content main .card-wrap > a:nth-child(2), body.interview .content main .card-wrap > a:nth-child(5), body.interview .content main .card-wrap > a:nth-child(8) {
        position: relative;
        top: -4.28571rem; }
        @media screen and (max-width: 39.99875em) {
          body.interview .content main .card-wrap > a:nth-child(2), body.interview .content main .card-wrap > a:nth-child(5), body.interview .content main .card-wrap > a:nth-child(8) {
            top: 0; } }
      body.interview .content main .card-wrap > a:nth-child(3), body.interview .content main .card-wrap > a:nth-child(6), body.interview .content main .card-wrap > a:nth-child(9) {
        position: relative;
        top: -8.57143rem; }
        @media screen and (max-width: 39.99875em) {
          body.interview .content main .card-wrap > a:nth-child(3), body.interview .content main .card-wrap > a:nth-child(6), body.interview .content main .card-wrap > a:nth-child(9) {
            top: 0; } }
      body.interview .content main .card-wrap > a .number {
        position: absolute;
        z-index: 1;
        top: -10px;
        left: -10px; }
      body.interview .content main .card-wrap > a .title {
        background-color: #2db272;
        color: #ffffff;
        position: absolute;
        z-index: 1;
        top: 0;
        right: 0;
        display: inline;
        padding: 0.14286rem 1.07143rem;
        font-size: 0.85714rem; }
      body.interview .content main .card-wrap > a .image-wrap {
        overflow: hidden; }
        body.interview .content main .card-wrap > a .image-wrap img {
          -webkit-transition: all .4s ease-in-out;
          transition: all .4s ease-in-out; }
          body.home > div.interview .card-wrap > a:hover .image-wrap img,
          body.interview .content main .card-wrap > a:hover .image-wrap img,
          body main div.interview.full-width .card-wrap > a:hover .image-wrap img,
          body footer.page-footer .footer-inner .footer-entry a:hover img {
            -webkit-transform: scale(1.05);
            -ms-transform: scale(1.05);
            transform: scale(1.05); }
      body.interview .content main .card-wrap > a h3 {
        font-size: 1.28571rem;
        font-weight: 700;
        line-height: 1.6;
        color: #032c66; }

/*
 * インタビュー 子ページ共通
 */
body.ni .content,
body.sn .content,
body.mn .content,
body.hm .content,
body.jk .content,
body.kk .content,
body.kf .content,
body.tm .content,
body.ys .content,
body.my .content,
body.tk .content,
body.cn .content,
body.na .content,
body.ai .content {
  overflow: hidden; }

body.ni .title-area,
body.sn .title-area,
body.mn .title-area,
body.hm .title-area,
body.jk .title-area,
body.kk .title-area,
body.kf .title-area,
body.tm .title-area,
body.ys .title-area,
body.my .title-area,
body.tk .title-area,
body.cn .title-area,
body.na .title-area,
body.ai .title-area {
  background-size: 75%;
  background-position: right center;
  position: relative;
  z-index: -2;
  height: 42.85714rem;
  margin-bottom: 5rem; }
  @media screen and (max-width: 74.99875em) {
    body.ni .title-area,
    body.sn .title-area,
    body.mn .title-area,
    body.hm .title-area,
    body.jk .title-area,
    body.kk .title-area,
    body.kf .title-area,
    body.tm .title-area,
    body.ys .title-area,
    body.my .title-area,
    body.tk .title-area,
    body.cn .title-area,
    body.na .title-area,
    body.ai .title-area {
      background-size: cover;
      margin-bottom: 2.14286rem; } }
  @media screen and (max-width: 39.99875em) {
    body.ni .title-area,
    body.sn .title-area,
    body.mn .title-area,
    body.hm .title-area,
    body.jk .title-area,
    body.kk .title-area,
    body.kf .title-area,
    body.tm .title-area,
    body.ys .title-area,
    body.my .title-area,
    body.tk .title-area,
    body.cn .title-area,
    body.na .title-area,
    body.ai .title-area {
      background-image: none;
      z-index: 0;
      height: auto; } }
  body.ni .title-area::before,
  body.sn .title-area::before,
  body.mn .title-area::before,
  body.hm .title-area::before,
  body.jk .title-area::before,
  body.kk .title-area::before,
  body.kf .title-area::before,
  body.tm .title-area::before,
  body.ys .title-area::before,
  body.my .title-area::before,
  body.tk .title-area::before,
  body.cn .title-area::before,
  body.na .title-area::before,
  body.ai .title-area::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: -webkit-linear-gradient(10deg, #111111 45%, transparent 45%);
    background-image: linear-gradient(80deg, #111111 45%, transparent 45%); }
    @media screen and (max-width: 39.99875em) {
      body.ni .title-area::before,
      body.sn .title-area::before,
      body.mn .title-area::before,
      body.hm .title-area::before,
      body.jk .title-area::before,
      body.kk .title-area::before,
      body.kf .title-area::before,
      body.tm .title-area::before,
      body.ys .title-area::before,
      body.my .title-area::before,
      body.tk .title-area::before,
      body.cn .title-area::before,
      body.na .title-area::before,
      body.ai .title-area::before {
        background-image: none;
        background-color: #111111; } }
  body.ni .title-area .inner,
  body.sn .title-area .inner,
  body.mn .title-area .inner,
  body.hm .title-area .inner,
  body.jk .title-area .inner,
  body.kk .title-area .inner,
  body.kf .title-area .inner,
  body.tm .title-area .inner,
  body.ys .title-area .inner,
  body.my .title-area .inner,
  body.tk .title-area .inner,
  body.cn .title-area .inner,
  body.na .title-area .inner,
  body.ai .title-area .inner {
    width: 1100px;
    margin: auto;
    left: 0;
    right: 0; }
    @media screen and (max-width: 63.99875em) {
      body.ni .title-area .inner,
      body.sn .title-area .inner,
      body.mn .title-area .inner,
      body.hm .title-area .inner,
      body.jk .title-area .inner,
      body.kk .title-area .inner,
      body.kf .title-area .inner,
      body.tm .title-area .inner,
      body.ys .title-area .inner,
      body.my .title-area .inner,
      body.tk .title-area .inner,
      body.cn .title-area .inner,
      body.na .title-area .inner,
      body.ai .title-area .inner {
        width: auto;
        margin: auto 1.42857rem; } }
    @media screen and (max-width: 39.99875em) {
      body.ni .title-area .inner,
      body.sn .title-area .inner,
      body.mn .title-area .inner,
      body.hm .title-area .inner,
      body.jk .title-area .inner,
      body.kk .title-area .inner,
      body.kf .title-area .inner,
      body.tm .title-area .inner,
      body.ys .title-area .inner,
      body.my .title-area .inner,
      body.tk .title-area .inner,
      body.cn .title-area .inner,
      body.na .title-area .inner,
      body.ai .title-area .inner {
        background-position: 70% center; } }
    body.ni .title-area .inner .number-wrap,
    body.sn .title-area .inner .number-wrap,
    body.mn .title-area .inner .number-wrap,
    body.hm .title-area .inner .number-wrap,
    body.jk .title-area .inner .number-wrap,
    body.kk .title-area .inner .number-wrap,
    body.kf .title-area .inner .number-wrap,
    body.tm .title-area .inner .number-wrap,
    body.ys .title-area .inner .number-wrap,
    body.my .title-area .inner .number-wrap,
    body.tk .title-area .inner .number-wrap,
    body.cn .title-area .inner .number-wrap,
    body.na .title-area .inner .number-wrap,
    body.ai .title-area .inner .number-wrap {
      color: #ffffff;
      padding-top: 2.85714rem;
      font-size: 1.71429rem;
      line-height: 2.85714rem;
      position: relative; }
      @media screen and (max-width: 39.99875em) {
        body.ni .title-area .inner .number-wrap,
        body.sn .title-area .inner .number-wrap,
        body.mn .title-area .inner .number-wrap,
        body.hm .title-area .inner .number-wrap,
        body.jk .title-area .inner .number-wrap,
        body.kk .title-area .inner .number-wrap,
        body.kf .title-area .inner .number-wrap,
        body.tm .title-area .inner .number-wrap,
        body.ys .title-area .inner .number-wrap,
        body.my .title-area .inner .number-wrap,
        body.tk .title-area .inner .number-wrap,
        body.cn .title-area .inner .number-wrap,
        body.na .title-area .inner .number-wrap,
        body.ai .title-area .inner .number-wrap {
          font-size: 1rem;
          padding-top: 1.42857rem;
          margin-bottom: 1.42857rem; } }
      body.ni .title-area .inner .number-wrap::after,
      body.sn .title-area .inner .number-wrap::after,
      body.mn .title-area .inner .number-wrap::after,
      body.hm .title-area .inner .number-wrap::after,
      body.jk .title-area .inner .number-wrap::after,
      body.kk .title-area .inner .number-wrap::after,
      body.kf .title-area .inner .number-wrap::after,
      body.tm .title-area .inner .number-wrap::after,
      body.ys .title-area .inner .number-wrap::after,
      body.my .title-area .inner .number-wrap::after,
      body.tk .title-area .inner .number-wrap::after,
      body.cn .title-area .inner .number-wrap::after,
      body.na .title-area .inner .number-wrap::after,
      body.ai .title-area .inner .number-wrap::after {
        content: "";
        border-bottom: 1px #ffffff solid;
        width: 1.42857rem;
        height: 0.07143rem;
        position: absolute;
        left: 0;
        bottom: -10px; }
        @media screen and (max-width: 39.99875em) {
          body.ni .title-area .inner .number-wrap::after,
          body.sn .title-area .inner .number-wrap::after,
          body.mn .title-area .inner .number-wrap::after,
          body.hm .title-area .inner .number-wrap::after,
          body.jk .title-area .inner .number-wrap::after,
          body.kk .title-area .inner .number-wrap::after,
          body.kf .title-area .inner .number-wrap::after,
          body.tm .title-area .inner .number-wrap::after,
          body.ys .title-area .inner .number-wrap::after,
          body.my .title-area .inner .number-wrap::after,
          body.tk .title-area .inner .number-wrap::after,
          body.cn .title-area .inner .number-wrap::after,
          body.na .title-area .inner .number-wrap::after,
          body.ai .title-area .inner .number-wrap::after {
            bottom: 0; } }
    body.ni .title-area .inner .lead,
    body.sn .title-area .inner .lead,
    body.mn .title-area .inner .lead,
    body.hm .title-area .inner .lead,
    body.jk .title-area .inner .lead,
    body.kk .title-area .inner .lead,
    body.kf .title-area .inner .lead,
    body.tm .title-area .inner .lead,
    body.ys .title-area .inner .lead,
    body.my .title-area .inner .lead,
    body.tk .title-area .inner .lead,
    body.cn .title-area .inner .lead,
    body.na .title-area .inner .lead,
    body.ai .title-area .inner .lead {
      color: #ffffff;
      font-size: 2.85714rem;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
      @media screen and (max-width: 39.99875em) {
        body.ni .title-area .inner .lead,
        body.sn .title-area .inner .lead,
        body.mn .title-area .inner .lead,
        body.hm .title-area .inner .lead,
        body.jk .title-area .inner .lead,
        body.kk .title-area .inner .lead,
        body.kf .title-area .inner .lead,
        body.tm .title-area .inner .lead,
        body.ys .title-area .inner .lead,
        body.my .title-area .inner .lead,
        body.tk .title-area .inner .lead,
        body.cn .title-area .inner .lead,
        body.na .title-area .inner .lead,
        body.ai .title-area .inner .lead {
          position: static;
          top: 0;
          -webkit-transform: initial;
          -ms-transform: initial;
          transform: initial;
          font-size: 1.57143rem;
          margin-bottom: 1.42857rem; } }
    body.ni .title-area .inner h1,
    body.sn .title-area .inner h1,
    body.mn .title-area .inner h1,
    body.hm .title-area .inner h1,
    body.jk .title-area .inner h1,
    body.kk .title-area .inner h1,
    body.kf .title-area .inner h1,
    body.tm .title-area .inner h1,
    body.ys .title-area .inner h1,
    body.my .title-area .inner h1,
    body.tk .title-area .inner h1,
    body.cn .title-area .inner h1,
    body.na .title-area .inner h1,
    body.ai .title-area .inner h1 {
      position: absolute;
      bottom: 40px;
      font-size: 1.14286rem; }
      @media screen and (max-width: 39.99875em) {
        body.ni .title-area .inner h1,
        body.sn .title-area .inner h1,
        body.mn .title-area .inner h1,
        body.hm .title-area .inner h1,
        body.jk .title-area .inner h1,
        body.kk .title-area .inner h1,
        body.kf .title-area .inner h1,
        body.tm .title-area .inner h1,
        body.ys .title-area .inner h1,
        body.my .title-area .inner h1,
        body.tk .title-area .inner h1,
        body.cn .title-area .inner h1,
        body.na .title-area .inner h1,
        body.ai .title-area .inner h1 {
          position: static;
          bottom: initial;
          padding-bottom: 1.42857rem; } }
      body.ni .title-area .inner h1 span,
      body.sn .title-area .inner h1 span,
      body.mn .title-area .inner h1 span,
      body.hm .title-area .inner h1 span,
      body.jk .title-area .inner h1 span,
      body.kk .title-area .inner h1 span,
      body.kf .title-area .inner h1 span,
      body.tm .title-area .inner h1 span,
      body.ys .title-area .inner h1 span,
      body.my .title-area .inner h1 span,
      body.tk .title-area .inner h1 span,
      body.cn .title-area .inner h1 span,
      body.na .title-area .inner h1 span,
      body.ai .title-area .inner h1 span {
        background-color: #ffffff;
        padding: 0.21429rem 0.71429rem;
        display: inline-block;
        margin-bottom: 0.35714rem; }

body.ni main h2,
body.sn main h2,
body.mn main h2,
body.hm main h2,
body.jk main h2,
body.kk main h2,
body.kf main h2,
body.tm main h2,
body.ys main h2,
body.my main h2,
body.tk main h2,
body.cn main h2,
body.na main h2,
body.ai main h2 {
  color: #032c66;
  font-size: 1.71429rem;
  font-weight: 700;
  overflow: hidden;
  padding-top: 1.78571rem;
  margin-bottom: 1.42857rem;
  margin-top: 1.42857rem;
  overflow: visible; }
  body.ni main h2:nth-child(1),
  body.sn main h2:nth-child(1),
  body.mn main h2:nth-child(1),
  body.hm main h2:nth-child(1),
  body.jk main h2:nth-child(1),
  body.kk main h2:nth-child(1),
  body.kf main h2:nth-child(1),
  body.tm main h2:nth-child(1),
  body.ys main h2:nth-child(1),
  body.my main h2:nth-child(1),
  body.tk main h2:nth-child(1),
  body.cn main h2:nth-child(1),
  body.na main h2:nth-child(1),
  body.ai main h2:nth-child(1) {
    margin-top: -1.78571rem; }
  @media screen and (max-width: 39.99875em) {
    body.ni main h2,
    body.sn main h2,
    body.mn main h2,
    body.hm main h2,
    body.jk main h2,
    body.kk main h2,
    body.kf main h2,
    body.tm main h2,
    body.ys main h2,
    body.my main h2,
    body.tk main h2,
    body.cn main h2,
    body.na main h2,
    body.ai main h2 {
      font-size: 1.28571rem;
      margin-left: 2.85714rem; } }
  body.ni main h2::before,
  body.sn main h2::before,
  body.mn main h2::before,
  body.hm main h2::before,
  body.jk main h2::before,
  body.kk main h2::before,
  body.kf main h2::before,
  body.tm main h2::before,
  body.ys main h2::before,
  body.my main h2::before,
  body.tk main h2::before,
  body.cn main h2::before,
  body.na main h2::before,
  body.ai main h2::before {
    content: "";
    background: url(../img/txt-interview-q.svg) no-repeat 0 0;
    background-size: 100%;
    width: 26px;
    height: 43px;
    float: left;
    clear: both;
    margin-top: -0.35714rem;
    margin-right: 1.42857rem; }
    @media screen and (max-width: 39.99875em) {
      body.ni main h2::before,
      body.sn main h2::before,
      body.mn main h2::before,
      body.hm main h2::before,
      body.jk main h2::before,
      body.kk main h2::before,
      body.kf main h2::before,
      body.tm main h2::before,
      body.ys main h2::before,
      body.my main h2::before,
      body.tk main h2::before,
      body.cn main h2::before,
      body.na main h2::before,
      body.ai main h2::before {
        margin-top: -0.71429rem;
        margin-left: -2.85714rem; } }

body.ni main .interview-content,
body.sn main .interview-content,
body.mn main .interview-content,
body.hm main .interview-content,
body.jk main .interview-content,
body.kk main .interview-content,
body.kf main .interview-content,
body.tm main .interview-content,
body.ys main .interview-content,
body.my main .interview-content,
body.tk main .interview-content,
body.cn main .interview-content,
body.na main .interview-content,
body.ai main .interview-content {
  margin-bottom: 5rem; }
  @media screen and (max-width: 39.99875em) {
    body.ni main .interview-content,
    body.sn main .interview-content,
    body.mn main .interview-content,
    body.hm main .interview-content,
    body.jk main .interview-content,
    body.kk main .interview-content,
    body.kf main .interview-content,
    body.tm main .interview-content,
    body.ys main .interview-content,
    body.my main .interview-content,
    body.tk main .interview-content,
    body.cn main .interview-content,
    body.na main .interview-content,
    body.ai main .interview-content {
      margin-bottom: 3.57143rem; } }

@media screen and (max-width: 39.99875em) {
  body.ni main .opposite > div:nth-child(1),
  body.sn main .opposite > div:nth-child(1),
  body.mn main .opposite > div:nth-child(1),
  body.hm main .opposite > div:nth-child(1),
  body.jk main .opposite > div:nth-child(1),
  body.kk main .opposite > div:nth-child(1),
  body.kf main .opposite > div:nth-child(1),
  body.tm main .opposite > div:nth-child(1),
  body.ys main .opposite > div:nth-child(1),
  body.my main .opposite > div:nth-child(1),
  body.tk main .opposite > div:nth-child(1),
  body.cn main .opposite > div:nth-child(1),
  body.na main .opposite > div:nth-child(1),
  body.ai main .opposite > div:nth-child(1) {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1; } }

body.ni main .img-custom-position,
body.sn main .img-custom-position,
body.mn main .img-custom-position,
body.hm main .img-custom-position,
body.jk main .img-custom-position,
body.kk main .img-custom-position,
body.kf main .img-custom-position,
body.tm main .img-custom-position,
body.ys main .img-custom-position,
body.my main .img-custom-position,
body.tk main .img-custom-position,
body.cn main .img-custom-position,
body.na main .img-custom-position,
body.ai main .img-custom-position {
  position: relative;
  max-width: none;
  width: 135%; }
  @media screen and (max-width: 63.99875em) {
    body.ni main .img-custom-position,
    body.sn main .img-custom-position,
    body.mn main .img-custom-position,
    body.hm main .img-custom-position,
    body.jk main .img-custom-position,
    body.kk main .img-custom-position,
    body.kf main .img-custom-position,
    body.tm main .img-custom-position,
    body.ys main .img-custom-position,
    body.my main .img-custom-position,
    body.tk main .img-custom-position,
    body.cn main .img-custom-position,
    body.na main .img-custom-position,
    body.ai main .img-custom-position {
      width: 120%; } }
  @media screen and (max-width: 39.99875em) {
    body.ni main .img-custom-position,
    body.sn main .img-custom-position,
    body.mn main .img-custom-position,
    body.hm main .img-custom-position,
    body.jk main .img-custom-position,
    body.kk main .img-custom-position,
    body.kf main .img-custom-position,
    body.tm main .img-custom-position,
    body.ys main .img-custom-position,
    body.my main .img-custom-position,
    body.tk main .img-custom-position,
    body.cn main .img-custom-position,
    body.na main .img-custom-position,
    body.ai main .img-custom-position {
      width: 110%; } }

body.ni main .message,
body.sn main .message,
body.mn main .message,
body.hm main .message,
body.jk main .message,
body.kk main .message,
body.kf main .message,
body.tm main .message,
body.ys main .message,
body.my main .message,
body.tk main .message,
body.cn main .message,
body.na main .message,
body.ai main .message {
  background: no-repeat center #f2f2f2;
  padding: 2.85714rem 1.42857rem;
  margin-top: 7.14286rem;
  margin-bottom: 5rem; }
  @media screen and (max-width: 63.99875em) {
    body.ni main .message,
    body.sn main .message,
    body.mn main .message,
    body.hm main .message,
    body.jk main .message,
    body.kk main .message,
    body.kf main .message,
    body.tm main .message,
    body.ys main .message,
    body.my main .message,
    body.tk main .message,
    body.cn main .message,
    body.na main .message,
    body.ai main .message {
      background-position: 70% center;
      background-size: cover; } }
  @media screen and (max-width: 39.99875em) {
    body.ni main .message,
    body.sn main .message,
    body.mn main .message,
    body.hm main .message,
    body.jk main .message,
    body.kk main .message,
    body.kf main .message,
    body.tm main .message,
    body.ys main .message,
    body.my main .message,
    body.tk main .message,
    body.cn main .message,
    body.na main .message,
    body.ai main .message {
      background-position: 60% center; } }
  body.ni main .message .cell,
  body.sn main .message .cell,
  body.mn main .message .cell,
  body.hm main .message .cell,
  body.jk main .message .cell,
  body.kk main .message .cell,
  body.kf main .message .cell,
  body.tm main .message .cell,
  body.ys main .message .cell,
  body.my main .message .cell,
  body.tk main .message .cell,
  body.cn main .message .cell,
  body.na main .message .cell,
  body.ai main .message .cell {
    background-color: rgba(255, 255, 255, 0.85);
    padding: 2.14286rem; }
    @media screen and (max-width: 39.99875em) {
      body.ni main .message .cell,
      body.sn main .message .cell,
      body.mn main .message .cell,
      body.hm main .message .cell,
      body.jk main .message .cell,
      body.kk main .message .cell,
      body.kf main .message .cell,
      body.tm main .message .cell,
      body.ys main .message .cell,
      body.my main .message .cell,
      body.tk main .message .cell,
      body.cn main .message .cell,
      body.na main .message .cell,
      body.ai main .message .cell {
        padding: 1.42857rem 1.07143rem; } }
    body.ni main .message .cell p,
    body.sn main .message .cell p,
    body.mn main .message .cell p,
    body.hm main .message .cell p,
    body.jk main .message .cell p,
    body.kk main .message .cell p,
    body.kf main .message .cell p,
    body.tm main .message .cell p,
    body.ys main .message .cell p,
    body.my main .message .cell p,
    body.tk main .message .cell p,
    body.cn main .message .cell p,
    body.na main .message .cell p,
    body.ai main .message .cell p {
      margin-bottom: 0; }
  body.ni main .message.bg-cover,
  body.sn main .message.bg-cover,
  body.mn main .message.bg-cover,
  body.hm main .message.bg-cover,
  body.jk main .message.bg-cover,
  body.kk main .message.bg-cover,
  body.kf main .message.bg-cover,
  body.tm main .message.bg-cover,
  body.ys main .message.bg-cover,
  body.my main .message.bg-cover,
  body.tk main .message.bg-cover,
  body.cn main .message.bg-cover,
  body.na main .message.bg-cover,
  body.ai main .message.bg-cover {
    background-size: cover; }
  body.ni main .message h2,
  body.sn main .message h2,
  body.mn main .message h2,
  body.hm main .message h2,
  body.jk main .message h2,
  body.kk main .message h2,
  body.kf main .message h2,
  body.tm main .message h2,
  body.ys main .message h2,
  body.my main .message h2,
  body.tk main .message h2,
  body.cn main .message h2,
  body.na main .message h2,
  body.ai main .message h2 {
    margin-top: auto;
    padding-top: 0;
    font-size: 1.85714rem; }
    @media screen and (max-width: 39.99875em) {
      body.ni main .message h2,
      body.sn main .message h2,
      body.mn main .message h2,
      body.hm main .message h2,
      body.jk main .message h2,
      body.kk main .message h2,
      body.kf main .message h2,
      body.tm main .message h2,
      body.ys main .message h2,
      body.my main .message h2,
      body.tk main .message h2,
      body.cn main .message h2,
      body.na main .message h2,
      body.ai main .message h2 {
        margin-left: 0;
        text-align: center;
        font-size: 1.28571rem; } }
    body.ni main .message h2::before,
    body.sn main .message h2::before,
    body.mn main .message h2::before,
    body.hm main .message h2::before,
    body.jk main .message h2::before,
    body.kk main .message h2::before,
    body.kf main .message h2::before,
    body.tm main .message h2::before,
    body.ys main .message h2::before,
    body.my main .message h2::before,
    body.tk main .message h2::before,
    body.cn main .message h2::before,
    body.na main .message h2::before,
    body.ai main .message h2::before {
      content: none; }

body.ni main div.interview,
body.sn main div.interview,
body.mn main div.interview,
body.hm main div.interview,
body.jk main div.interview,
body.kk main div.interview,
body.kf main div.interview,
body.tm main div.interview,
body.ys main div.interview,
body.my main div.interview,
body.tk main div.interview,
body.cn main div.interview,
body.na main div.interview,
body.ai main div.interview {
  position: relative;
  overflow: hidden; }
  @media screen and (max-width: 63.99875em) {
    body.ni main div.interview .content-width,
    body.sn main div.interview .content-width,
    body.mn main div.interview .content-width,
    body.hm main div.interview .content-width,
    body.jk main div.interview .content-width,
    body.kk main div.interview .content-width,
    body.kf main div.interview .content-width,
    body.tm main div.interview .content-width,
    body.ys main div.interview .content-width,
    body.my main div.interview .content-width,
    body.tk main div.interview .content-width,
    body.cn main div.interview .content-width,
    body.na main div.interview .content-width,
    body.ai main div.interview .content-width {
      padding-right: 1.42857rem;
      padding-left: 1.42857rem; } }
  body.ni main div.interview > div > div:nth-child(1),
  body.sn main div.interview > div > div:nth-child(1),
  body.mn main div.interview > div > div:nth-child(1),
  body.hm main div.interview > div > div:nth-child(1),
  body.jk main div.interview > div > div:nth-child(1),
  body.kk main div.interview > div > div:nth-child(1),
  body.kf main div.interview > div > div:nth-child(1),
  body.tm main div.interview > div > div:nth-child(1),
  body.ys main div.interview > div > div:nth-child(1),
  body.my main div.interview > div > div:nth-child(1),
  body.tk main div.interview > div > div:nth-child(1),
  body.cn main div.interview > div > div:nth-child(1),
  body.na main div.interview > div > div:nth-child(1),
  body.ai main div.interview > div > div:nth-child(1) {
    font-size: 4.28571rem;
    text-align: center;
    line-height: 1;
    margin-bottom: 7.14286rem; }
    @media screen and (max-width: 63.99875em) {
      body.ni main div.interview > div > div:nth-child(1),
      body.sn main div.interview > div > div:nth-child(1),
      body.mn main div.interview > div > div:nth-child(1),
      body.hm main div.interview > div > div:nth-child(1),
      body.jk main div.interview > div > div:nth-child(1),
      body.kk main div.interview > div > div:nth-child(1),
      body.kf main div.interview > div > div:nth-child(1),
      body.tm main div.interview > div > div:nth-child(1),
      body.ys main div.interview > div > div:nth-child(1),
      body.my main div.interview > div > div:nth-child(1),
      body.tk main div.interview > div > div:nth-child(1),
      body.cn main div.interview > div > div:nth-child(1),
      body.na main div.interview > div > div:nth-child(1),
      body.ai main div.interview > div > div:nth-child(1) {
        font-size: 3.57143rem;
        margin-bottom: 2.85714rem; } }
    body.ni main div.interview > div > div:nth-child(1) span,
    body.sn main div.interview > div > div:nth-child(1) span,
    body.mn main div.interview > div > div:nth-child(1) span,
    body.hm main div.interview > div > div:nth-child(1) span,
    body.jk main div.interview > div > div:nth-child(1) span,
    body.kk main div.interview > div > div:nth-child(1) span,
    body.kf main div.interview > div > div:nth-child(1) span,
    body.tm main div.interview > div > div:nth-child(1) span,
    body.ys main div.interview > div > div:nth-child(1) span,
    body.my main div.interview > div > div:nth-child(1) span,
    body.tk main div.interview > div > div:nth-child(1) span,
    body.cn main div.interview > div > div:nth-child(1) span,
    body.na main div.interview > div > div:nth-child(1) span,
    body.ai main div.interview > div > div:nth-child(1) span {
      font-size: 1.14286rem;
      display: block;
      margin-top: 1.42857rem;
      letter-spacing: 2px;
      color: #032c66; }
  body.ni main div.interview::after,
  body.sn main div.interview::after,
  body.mn main div.interview::after,
  body.hm main div.interview::after,
  body.jk main div.interview::after,
  body.kk main div.interview::after,
  body.kf main div.interview::after,
  body.tm main div.interview::after,
  body.ys main div.interview::after,
  body.my main div.interview::after,
  body.tk main div.interview::after,
  body.cn main div.interview::after,
  body.na main div.interview::after,
  body.ai main div.interview::after {
    content: "";
    display: block;
    width: 200%;
    height: 730px;
    background-color: #f2f2f2;
    position: absolute;
    z-index: -1;
    bottom: 24%;
    left: -50%;
    -webkit-transform: rotate(-24deg);
    -ms-transform: rotate(-24deg);
    transform: rotate(-24deg); }
    @media screen and (max-width: 39.99875em) {
      body.ni main div.interview::after,
      body.sn main div.interview::after,
      body.mn main div.interview::after,
      body.hm main div.interview::after,
      body.jk main div.interview::after,
      body.kk main div.interview::after,
      body.kf main div.interview::after,
      body.tm main div.interview::after,
      body.ys main div.interview::after,
      body.my main div.interview::after,
      body.tk main div.interview::after,
      body.cn main div.interview::after,
      body.na main div.interview::after,
      body.ai main div.interview::after {
        height: 130%;
        width: 920%;
        top: -28%;
        bottom: initial;
        left: -68%;
        -webkit-transform: rotate(65deg);
        -ms-transform: rotate(65deg);
        transform: rotate(65deg); } }

body.ni main .card-wrap,
body.sn main .card-wrap,
body.mn main .card-wrap,
body.hm main .card-wrap,
body.jk main .card-wrap,
body.kk main .card-wrap,
body.kf main .card-wrap,
body.tm main .card-wrap,
body.ys main .card-wrap,
body.my main .card-wrap,
body.tk main .card-wrap,
body.cn main .card-wrap,
body.na main .card-wrap,
body.ai main .card-wrap {
  margin-top: 4.28571rem;
  margin-bottom: 4.28571rem; }
  @media screen and (max-width: 39.99875em) {
    body.ni main .card-wrap,
    body.sn main .card-wrap,
    body.mn main .card-wrap,
    body.hm main .card-wrap,
    body.jk main .card-wrap,
    body.kk main .card-wrap,
    body.kf main .card-wrap,
    body.tm main .card-wrap,
    body.ys main .card-wrap,
    body.my main .card-wrap,
    body.tk main .card-wrap,
    body.cn main .card-wrap,
    body.na main .card-wrap,
    body.ai main .card-wrap {
      margin-top: 2.14286rem;
      margin-bottom: 1.42857rem; } }
  body.ni main .card-wrap > a,
  body.sn main .card-wrap > a,
  body.mn main .card-wrap > a,
  body.hm main .card-wrap > a,
  body.jk main .card-wrap > a,
  body.kk main .card-wrap > a,
  body.kf main .card-wrap > a,
  body.tm main .card-wrap > a,
  body.ys main .card-wrap > a,
  body.my main .card-wrap > a,
  body.tk main .card-wrap > a,
  body.cn main .card-wrap > a,
  body.na main .card-wrap > a,
  body.ai main .card-wrap > a {
    position: relative;
    overflow: visible;
    letter-spacing: 1px; }
    @media screen and (max-width: 39.99875em) {
      body.ni main .card-wrap > a,
      body.sn main .card-wrap > a,
      body.mn main .card-wrap > a,
      body.hm main .card-wrap > a,
      body.jk main .card-wrap > a,
      body.kk main .card-wrap > a,
      body.kf main .card-wrap > a,
      body.tm main .card-wrap > a,
      body.ys main .card-wrap > a,
      body.my main .card-wrap > a,
      body.tk main .card-wrap > a,
      body.cn main .card-wrap > a,
      body.na main .card-wrap > a,
      body.ai main .card-wrap > a {
        margin-top: 1.42857rem;
        margin-bottom: 1.42857rem; } }
    body.ni main .card-wrap > a:nth-child(2), body.ni main .card-wrap > a:nth-child(5), body.ni main .card-wrap > a:nth-child(8),
    body.sn main .card-wrap > a:nth-child(2),
    body.sn main .card-wrap > a:nth-child(5),
    body.sn main .card-wrap > a:nth-child(8),
    body.mn main .card-wrap > a:nth-child(2),
    body.mn main .card-wrap > a:nth-child(5),
    body.mn main .card-wrap > a:nth-child(8),
    body.hm main .card-wrap > a:nth-child(2),
    body.hm main .card-wrap > a:nth-child(5),
    body.hm main .card-wrap > a:nth-child(8),
    body.jk main .card-wrap > a:nth-child(2),
    body.jk main .card-wrap > a:nth-child(5),
    body.jk main .card-wrap > a:nth-child(8),
    body.kk main .card-wrap > a:nth-child(2),
    body.kk main .card-wrap > a:nth-child(5),
    body.kk main .card-wrap > a:nth-child(8),
    body.kf main .card-wrap > a:nth-child(2),
    body.kf main .card-wrap > a:nth-child(5),
    body.kf main .card-wrap > a:nth-child(8),
    body.tm main .card-wrap > a:nth-child(2),
    body.tm main .card-wrap > a:nth-child(5),
    body.tm main .card-wrap > a:nth-child(8),
    body.ys main .card-wrap > a:nth-child(2),
    body.ys main .card-wrap > a:nth-child(5),
    body.ys main .card-wrap > a:nth-child(8),
    body.my main .card-wrap > a:nth-child(2),
    body.my main .card-wrap > a:nth-child(5),
    body.my main .card-wrap > a:nth-child(8),
    body.tk main .card-wrap > a:nth-child(2),
    body.tk main .card-wrap > a:nth-child(5),
    body.tk main .card-wrap > a:nth-child(8),
    body.cn main .card-wrap > a:nth-child(2),
    body.cn main .card-wrap > a:nth-child(5),
    body.cn main .card-wrap > a:nth-child(8),
    body.na main .card-wrap > a:nth-child(2),
    body.na main .card-wrap > a:nth-child(5),
    body.na main .card-wrap > a:nth-child(8),
    body.ai main .card-wrap > a:nth-child(2),
    body.ai main .card-wrap > a:nth-child(5),
    body.ai main .card-wrap > a:nth-child(8) {
      position: relative;
      top: -4.28571rem; }
      @media screen and (max-width: 39.99875em) {
        body.ni main .card-wrap > a:nth-child(2), body.ni main .card-wrap > a:nth-child(5), body.ni main .card-wrap > a:nth-child(8),
        body.sn main .card-wrap > a:nth-child(2),
        body.sn main .card-wrap > a:nth-child(5),
        body.sn main .card-wrap > a:nth-child(8),
        body.mn main .card-wrap > a:nth-child(2),
        body.mn main .card-wrap > a:nth-child(5),
        body.mn main .card-wrap > a:nth-child(8),
        body.hm main .card-wrap > a:nth-child(2),
        body.hm main .card-wrap > a:nth-child(5),
        body.hm main .card-wrap > a:nth-child(8),
        body.jk main .card-wrap > a:nth-child(2),
        body.jk main .card-wrap > a:nth-child(5),
        body.jk main .card-wrap > a:nth-child(8),
        body.kk main .card-wrap > a:nth-child(2),
        body.kk main .card-wrap > a:nth-child(5),
        body.kk main .card-wrap > a:nth-child(8),
        body.kf main .card-wrap > a:nth-child(2),
        body.kf main .card-wrap > a:nth-child(5),
        body.kf main .card-wrap > a:nth-child(8),
        body.tm main .card-wrap > a:nth-child(2),
        body.tm main .card-wrap > a:nth-child(5),
        body.tm main .card-wrap > a:nth-child(8),
        body.ys main .card-wrap > a:nth-child(2),
        body.ys main .card-wrap > a:nth-child(5),
        body.ys main .card-wrap > a:nth-child(8),
        body.my main .card-wrap > a:nth-child(2),
        body.my main .card-wrap > a:nth-child(5),
        body.my main .card-wrap > a:nth-child(8),
        body.tk main .card-wrap > a:nth-child(2),
        body.tk main .card-wrap > a:nth-child(5),
        body.tk main .card-wrap > a:nth-child(8),
        body.cn main .card-wrap > a:nth-child(2),
        body.cn main .card-wrap > a:nth-child(5),
        body.cn main .card-wrap > a:nth-child(8),
        body.na main .card-wrap > a:nth-child(2),
        body.na main .card-wrap > a:nth-child(5),
        body.na main .card-wrap > a:nth-child(8),
        body.ai main .card-wrap > a:nth-child(2),
        body.ai main .card-wrap > a:nth-child(5),
        body.ai main .card-wrap > a:nth-child(8) {
          top: 0; } }
    body.ni main .card-wrap > a:nth-child(3), body.ni main .card-wrap > a:nth-child(6), body.ni main .card-wrap > a:nth-child(9),
    body.sn main .card-wrap > a:nth-child(3),
    body.sn main .card-wrap > a:nth-child(6),
    body.sn main .card-wrap > a:nth-child(9),
    body.mn main .card-wrap > a:nth-child(3),
    body.mn main .card-wrap > a:nth-child(6),
    body.mn main .card-wrap > a:nth-child(9),
    body.hm main .card-wrap > a:nth-child(3),
    body.hm main .card-wrap > a:nth-child(6),
    body.hm main .card-wrap > a:nth-child(9),
    body.jk main .card-wrap > a:nth-child(3),
    body.jk main .card-wrap > a:nth-child(6),
    body.jk main .card-wrap > a:nth-child(9),
    body.kk main .card-wrap > a:nth-child(3),
    body.kk main .card-wrap > a:nth-child(6),
    body.kk main .card-wrap > a:nth-child(9),
    body.kf main .card-wrap > a:nth-child(3),
    body.kf main .card-wrap > a:nth-child(6),
    body.kf main .card-wrap > a:nth-child(9),
    body.tm main .card-wrap > a:nth-child(3),
    body.tm main .card-wrap > a:nth-child(6),
    body.tm main .card-wrap > a:nth-child(9),
    body.ys main .card-wrap > a:nth-child(3),
    body.ys main .card-wrap > a:nth-child(6),
    body.ys main .card-wrap > a:nth-child(9),
    body.my main .card-wrap > a:nth-child(3),
    body.my main .card-wrap > a:nth-child(6),
    body.my main .card-wrap > a:nth-child(9),
    body.tk main .card-wrap > a:nth-child(3),
    body.tk main .card-wrap > a:nth-child(6),
    body.tk main .card-wrap > a:nth-child(9),
    body.cn main .card-wrap > a:nth-child(3),
    body.cn main .card-wrap > a:nth-child(6),
    body.cn main .card-wrap > a:nth-child(9),
    body.na main .card-wrap > a:nth-child(3),
    body.na main .card-wrap > a:nth-child(6),
    body.na main .card-wrap > a:nth-child(9),
    body.ai main .card-wrap > a:nth-child(3),
    body.ai main .card-wrap > a:nth-child(6),
    body.ai main .card-wrap > a:nth-child(9) {
      position: relative;
      top: -8.57143rem; }
      @media screen and (max-width: 39.99875em) {
        body.ni main .card-wrap > a:nth-child(3), body.ni main .card-wrap > a:nth-child(6), body.ni main .card-wrap > a:nth-child(9),
        body.sn main .card-wrap > a:nth-child(3),
        body.sn main .card-wrap > a:nth-child(6),
        body.sn main .card-wrap > a:nth-child(9),
        body.mn main .card-wrap > a:nth-child(3),
        body.mn main .card-wrap > a:nth-child(6),
        body.mn main .card-wrap > a:nth-child(9),
        body.hm main .card-wrap > a:nth-child(3),
        body.hm main .card-wrap > a:nth-child(6),
        body.hm main .card-wrap > a:nth-child(9),
        body.jk main .card-wrap > a:nth-child(3),
        body.jk main .card-wrap > a:nth-child(6),
        body.jk main .card-wrap > a:nth-child(9),
        body.kk main .card-wrap > a:nth-child(3),
        body.kk main .card-wrap > a:nth-child(6),
        body.kk main .card-wrap > a:nth-child(9),
        body.kf main .card-wrap > a:nth-child(3),
        body.kf main .card-wrap > a:nth-child(6),
        body.kf main .card-wrap > a:nth-child(9),
        body.tm main .card-wrap > a:nth-child(3),
        body.tm main .card-wrap > a:nth-child(6),
        body.tm main .card-wrap > a:nth-child(9),
        body.ys main .card-wrap > a:nth-child(3),
        body.ys main .card-wrap > a:nth-child(6),
        body.ys main .card-wrap > a:nth-child(9),
        body.my main .card-wrap > a:nth-child(3),
        body.my main .card-wrap > a:nth-child(6),
        body.my main .card-wrap > a:nth-child(9),
        body.tk main .card-wrap > a:nth-child(3),
        body.tk main .card-wrap > a:nth-child(6),
        body.tk main .card-wrap > a:nth-child(9),
        body.cn main .card-wrap > a:nth-child(3),
        body.cn main .card-wrap > a:nth-child(6),
        body.cn main .card-wrap > a:nth-child(9),
        body.na main .card-wrap > a:nth-child(3),
        body.na main .card-wrap > a:nth-child(6),
        body.na main .card-wrap > a:nth-child(9),
        body.ai main .card-wrap > a:nth-child(3),
        body.ai main .card-wrap > a:nth-child(6),
        body.ai main .card-wrap > a:nth-child(9) {
          top: 0; } }
    body.ni main .card-wrap > a .number,
    body.sn main .card-wrap > a .number,
    body.mn main .card-wrap > a .number,
    body.hm main .card-wrap > a .number,
    body.jk main .card-wrap > a .number,
    body.kk main .card-wrap > a .number,
    body.kf main .card-wrap > a .number,
    body.tm main .card-wrap > a .number,
    body.ys main .card-wrap > a .number,
    body.my main .card-wrap > a .number,
    body.tk main .card-wrap > a .number,
    body.cn main .card-wrap > a .number,
    body.na main .card-wrap > a .number,
    body.ai main .card-wrap > a .number {
      position: absolute;
      z-index: 1;
      top: -10px;
      left: -10px; }
    body.ni main .card-wrap > a .title,
    body.sn main .card-wrap > a .title,
    body.mn main .card-wrap > a .title,
    body.hm main .card-wrap > a .title,
    body.jk main .card-wrap > a .title,
    body.kk main .card-wrap > a .title,
    body.kf main .card-wrap > a .title,
    body.tm main .card-wrap > a .title,
    body.ys main .card-wrap > a .title,
    body.my main .card-wrap > a .title,
    body.tk main .card-wrap > a .title,
    body.cn main .card-wrap > a .title,
    body.na main .card-wrap > a .title,
    body.ai main .card-wrap > a .title {
      background-color: #2db272;
      color: #ffffff;
      position: absolute;
      z-index: 1;
      top: 0;
      right: 0;
      display: inline;
      padding: 0.14286rem 1.07143rem;
      font-size: 0.85714rem; }
    body.ni main .card-wrap > a .image-wrap,
    body.sn main .card-wrap > a .image-wrap,
    body.mn main .card-wrap > a .image-wrap,
    body.hm main .card-wrap > a .image-wrap,
    body.jk main .card-wrap > a .image-wrap,
    body.kk main .card-wrap > a .image-wrap,
    body.kf main .card-wrap > a .image-wrap,
    body.tm main .card-wrap > a .image-wrap,
    body.ys main .card-wrap > a .image-wrap,
    body.my main .card-wrap > a .image-wrap,
    body.tk main .card-wrap > a .image-wrap,
    body.cn main .card-wrap > a .image-wrap,
    body.na main .card-wrap > a .image-wrap,
    body.ai main .card-wrap > a .image-wrap {
      overflow: hidden; }
      body.ni main .card-wrap > a .image-wrap img,
      body.sn main .card-wrap > a .image-wrap img,
      body.mn main .card-wrap > a .image-wrap img,
      body.hm main .card-wrap > a .image-wrap img,
      body.jk main .card-wrap > a .image-wrap img,
      body.kk main .card-wrap > a .image-wrap img,
      body.kf main .card-wrap > a .image-wrap img,
      body.tm main .card-wrap > a .image-wrap img,
      body.ys main .card-wrap > a .image-wrap img,
      body.my main .card-wrap > a .image-wrap img,
      body.tk main .card-wrap > a .image-wrap img,
      body.cn main .card-wrap > a .image-wrap img,
      body.na main .card-wrap > a .image-wrap img,
      body.ai main .card-wrap > a .image-wrap img {
        -webkit-transition: all .4s ease-in-out;
        transition: all .4s ease-in-out; }
        body.home > div.interview .card-wrap > a:hover .image-wrap img,
        body.interview .content main .card-wrap > a:hover .image-wrap img,
        body main div.interview.full-width .card-wrap > a:hover .image-wrap img,
        body footer.page-footer .footer-inner .footer-entry a:hover img {
          -webkit-transform: scale(1.05);
          -ms-transform: scale(1.05);
          transform: scale(1.05); }
    body.ni main .card-wrap > a h3,
    body.sn main .card-wrap > a h3,
    body.mn main .card-wrap > a h3,
    body.hm main .card-wrap > a h3,
    body.jk main .card-wrap > a h3,
    body.kk main .card-wrap > a h3,
    body.kf main .card-wrap > a h3,
    body.tm main .card-wrap > a h3,
    body.ys main .card-wrap > a h3,
    body.my main .card-wrap > a h3,
    body.tk main .card-wrap > a h3,
    body.cn main .card-wrap > a h3,
    body.na main .card-wrap > a h3,
    body.ai main .card-wrap > a h3 {
      font-size: 1.28571rem;
      font-weight: 700;
      line-height: 1.6;
      color: #032c66; }

/*
 * インタビュー 各ページ
 */
body.ni .title-area {
  background-image: url("../img/bg-page-ni.jpg"); }

body.ni main .message {
  background-image: url("../img/bg-page-ni-message.jpg"); }

body.sn .title-area {
  background-image: url("../img/bg-page-sn.jpg"); }

body.sn main .message {
  background-image: url("../img/bg-page-sn-message.jpg"); }

body.mn .title-area {
  background-image: url("../img/bg-page-mn.jpg"); }

body.mn main .message {
  background-image: url("../img/bg-page-mn-message.jpg"); }

body.hm .title-area {
  background-image: url("../img/bg-page-hm.jpg"); }

body.hm main .message {
  background-image: url("../img/bg-page-hm-message.jpg"); }

body.jk .title-area {
  background-image: url("../img/bg-page-jk.jpg"); }

body.jk main .message {
  background-image: url("../img/bg-page-jk-message.jpg"); }

body.kk .title-area {
  background-image: url("../img/bg-page-kk.jpg"); }

body.kk main .message {
  background-image: url("../img/bg-page-kk-message.jpg"); }

body.kf .title-area {
  background-image: url("../img/bg-page-kf.jpg"); }

body.kf main .message {
  background-image: url("../img/bg-page-kf-message.jpg"); }

body.tm .title-area {
  background-image: url("../img/bg-page-tm.jpg"); }

body.tm main .message {
  background-image: url("../img/bg-page-tm-message.jpg"); }

body.ys .title-area {
  background-image: url("../img/bg-page-ys.jpg"); }

body.ys main .message {
  background-image: url("../img/bg-page-ys-message.jpg"); }

body.my .title-area {
  background-image: url("../img/bg-page-my.jpg"); }

body.my main .message {
  background-image: url("../img/bg-page-my-message.jpg"); }

body.tk .title-area {
  background-image: url("../img/bg-page-tk.jpg"); }

body.tk main .message {
  background-image: url("../img/bg-page-tk-message.jpg"); }

body.cn .title-area {
  background-image: url("../img/bg-page-cn.jpg"); }

body.cn main .message {
  background-image: url("../img/bg-page-cn-message.jpg"); }

body.na .title-area {
  background-image: url("../img/bg-page-na.jpg"); }

body.na main .message {
  background-image: url("../img/bg-page-na-message.jpg"); }

body.ai .title-area {
  background-image: url("../img/bg-page-ai.jpg"); }

body.ai main .message {
  background-image: url("../img/bg-page-ai-message.jpg"); }

/*
 * 女性社員の働き方
 */
body.talk .content {
  overflow: hidden;
  margin-bottom: 4.28571rem; }

body.talk .title-area {
  background-image: url(../img/bg-page-talk.jpg);
  height: 542px;
  overflow: hidden; }
  @media screen and (max-width: 63.99875em) {
    body.talk .title-area {
      height: 100%; } }
  @media screen and (max-width: 39.99875em) {
    body.talk .title-area {
      background-position: 20% center; } }
  body.talk .title-area .inner {
    width: 1100px;
    margin: auto;
    position: relative; }
    @media screen and (max-width: 63.99875em) {
      body.talk .title-area .inner {
        width: auto;
        margin: auto 1.42857rem; } }
    @media screen and (max-width: 39.99875em) {
      body.talk .title-area .inner {
        background-position: 70% center; } }
    body.talk .title-area .inner .title-inner {
      -webkit-transform: none;
      -ms-transform: none;
      transform: none;
      left: 0;
      text-align: left;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
      @media screen and (max-width: 39.99875em) {
        body.talk .title-area .inner .title-inner {
          position: static;
          top: initial;
          -webkit-transform: none;
          -ms-transform: none;
          transform: none;
          margin-top: 1.42857rem;
          padding: 0; } }
      body.talk .title-area .inner .title-inner .label {
        background-color: #e74985;
        font-size: 1.14286rem;
        padding-left: 0.71429rem;
        padding-right: 0.71429rem;
        margin-bottom: 1.07143rem;
        letter-spacing: 2px; }
        @media screen and (max-width: 39.99875em) {
          body.talk .title-area .inner .title-inner .label {
            margin-bottom: 0.35714rem; } }
      body.talk .title-area .inner .title-inner h1 {
        color: #e74985; }
        body.talk .title-area .inner .title-inner h1 span {
          background-color: #ffffff;
          display: inline-block;
          font-size: 4.28571rem;
          letter-spacing: 6px;
          margin-bottom: 1.07143rem;
          padding: 0.35714rem 1.42857rem;
          font-weight: 700; }
          @media screen and (max-width: 39.99875em) {
            body.talk .title-area .inner .title-inner h1 span {
              font-size: 2rem;
              margin-bottom: -0.07143rem;
              padding: 0 0.35714rem; } }
    body.talk .title-area .inner .ladies {
      margin-top: 2.85714rem;
      position: relative; }
      @media screen and (max-width: 63.99875em) {
        body.talk .title-area .inner .ladies {
          margin-top: 0; } }
      @media screen and (max-width: 39.99875em) {
        body.talk .title-area .inner .ladies {
          margin-top: -3.57143rem;
          text-align: center; } }
      body.talk .title-area .inner .ladies img.main {
        max-width: 110%; }
        @media screen and (max-width: 39.99875em) {
          body.talk .title-area .inner .ladies img.main {
            max-width: 90%;
            margin-top: 30px; } }
      body.talk .title-area .inner .ladies .fresh,
      body.talk .title-area .inner .ladies .senior {
        position: absolute;
        bottom: 30px; }
        body.talk .title-area .inner .ladies .fresh .label,
        body.talk .title-area .inner .ladies .senior .label {
          padding: 0.35714rem 1.42857rem;
          display: inline;
          border-radius: 3.57143rem;
          vertical-align: middle;
          margin-right: 0.71429rem; }
          @media screen and (max-width: 39.99875em) {
            body.talk .title-area .inner .ladies .fresh .label,
            body.talk .title-area .inner .ladies .senior .label {
              padding: 0.35714rem 0.71429rem; } }
      body.talk .title-area .inner .ladies .fresh {
        left: 10px; }
        @media screen and (max-width: 63.99875em) {
          body.talk .title-area .inner .ladies .fresh {
            left: 0; } }
        body.talk .title-area .inner .ladies .fresh .label {
          background-color: #e74985; }
      body.talk .title-area .inner .ladies .senior {
        right: 100px; }
        @media screen and (max-width: 63.99875em) {
          body.talk .title-area .inner .ladies .senior {
            right: 20px; } }
        @media screen and (max-width: 39.99875em) {
          body.talk .title-area .inner .ladies .senior {
            right: 0; } }

body.talk .lead {
  background-color: #f2f6fc;
  text-align: center;
  padding: 2.85714rem 1.42857rem; }
  @media screen and (max-width: 39.99875em) {
    body.talk .lead {
      padding: 1.42857rem 1.42857rem; } }
  body.talk .lead > span {
    display: block;
    padding-bottom: 1.42857rem;
    font-weight: 700;
    font-size: 2rem;
    color: #032c66;
    position: relative; }
    @media screen and (max-width: 39.99875em) {
      body.talk .lead > span {
        font-size: 1.42857rem;
        text-align: left; } }
  body.talk .lead > div {
    margin-bottom: 2.14286rem; }
    @media screen and (max-width: 39.99875em) {
      body.talk .lead > div {
        text-align: left; } }
  body.talk .lead .info {
    position: relative;
    text-align: left; }
    body.talk .lead .info dd {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      padding-left: 1.42857rem; }
    body.talk .lead .info .name {
      font-weight: 700; }
      body.talk .lead .info .name span {
        font-size: 0.92857rem; }
  body.talk .lead a.readmore {
    margin-top: 1.42857rem;
    padding-right: 2.14286rem;
    border-color: #032c66;
    color: #032c66;
    min-width: 260px;
    background-color: #ffffff; }
    body.talk .lead a.readmore:hover, body.talk .lead a.readmore:focus, body.talk .lead a.readmore:active {
      -webkit-animation-name: hvr-back-pulse-blue;
      animation-name: hvr-back-pulse-blue;
      background-color: #032c66;
      color: #ffffff; }
      body.talk .lead a.readmore:hover polyline, body.talk .lead a.readmore:focus polyline, body.talk .lead a.readmore:active polyline {
        stroke: #ffffff; }
      body.talk .lead a.readmore:hover::after, body.talk .lead a.readmore:focus::after, body.talk .lead a.readmore:active::after {
        background-image: url(../img/ico-external-white.svg); }
    body.talk .lead a.readmore::after {
      content: '';
      position: absolute;
      width: 10px;
      height: 10px;
      margin-left: 0.35714rem;
      background: url(../img/ico-external-black.svg) no-repeat 0 0; }

body.talk main .title {
  position: relative;
  margin-top: 3.57143rem;
  margin-bottom: 2.14286rem;
  font-weight: 700;
  line-height: 1; }
  @media screen and (max-width: 39.99875em) {
    body.talk main .title {
      text-align: center;
      margin-top: 5rem; } }
  @media screen and (max-width: 63.99875em) {
    body.talk main .title span {
      margin-bottom: 0.35714rem;
      display: inline-block; } }
  @media screen and (max-width: 39.99875em) {
    body.talk main .title span {
      padding-bottom: 1.07143rem;
      padding-left: 0.28571rem;
      padding-right: 0.42857rem;
      border-bottom: 1px solid; } }
  body.talk main .title span img {
    vertical-align: middle; }
    @media screen and (max-width: 63.99875em) {
      body.talk main .title span img {
        vertical-align: sub; }
        body.talk main .title span img:nth-child(1) {
          width: 42px; }
        body.talk main .title span img:nth-child(2) {
          width: 49px; }
        body.talk main .title span img:nth-child(3) {
          width: 51.8px; } }
  body.talk main .title h2 {
    font-size: 1.71429rem;
    font-weight: 700;
    display: inline-block;
    margin-bottom: 0;
    margin-left: 2.14286rem;
    padding-left: 2.14286rem;
    border-left: 1px solid;
    line-height: 1; }
    @media screen and (max-width: 63.99875em) {
      body.talk main .title h2 {
        display: inline; } }
    @media screen and (max-width: 39.99875em) {
      body.talk main .title h2 {
        margin-top: 1.42857rem;
        padding-top: 1.07143rem;
        margin-left: 0;
        padding-left: 0;
        border-left: none;
        text-align: left;
        line-height: normal;
        font-size: 1.14286rem;
        display: block; } }
  body.talk main .title::before {
    content: '';
    width: 1200px;
    height: 430px;
    position: absolute;
    top: 160px;
    right: -200px;
    z-index: -1;
    background-color: #f7f7f7; }
    @media screen and (max-width: 63.99875em) {
      body.talk main .title::before {
        width: 800px; } }
    @media screen and (max-width: 39.99875em) {
      body.talk main .title::before {
        content: none; } }
  body.talk main .title::after {
    content: '';
    width: 560px;
    height: 110px;
    position: absolute;
    top: 10px;
    right: -180px;
    background: url(../img/txt-talk-bg.svg);
    z-index: -1; }
    @media screen and (max-width: 39.99875em) {
      body.talk main .title::after {
        content: none; } }
  body.talk main .title.title-2 {
    margin-top: 0; }
    body.talk main .title.title-2::before {
      top: 140px;
      right: initial;
      left: -600px; }
      @media screen and (max-width: 63.99875em) {
        body.talk main .title.title-2::before {
          left: -400px; } }
    body.talk main .title.title-2::after {
      top: 600px;
      right: initial;
      left: -730px; }
  body.talk main .title.title-3::before {
    top: 300px;
    height: 830px; }
  body.talk main .title.title-3::after {
    content: none; }

body.talk main .content-2 {
  margin-top: 3.57143rem; }

body.talk main .big-pic {
  margin-bottom: 3.57143rem; }

body.talk main dl dt.int-1,
body.talk main dl dt.int-2 {
  float: left;
  clear: both;
  line-height: 2; }

body.talk main dl dt.int-1 {
  color: #032c66; }

body.talk main dl dt.int-2 {
  color: #e74985; }

body.talk main dl dd {
  margin-left: 3.57143rem;
  margin-bottom: 1.42857rem;
  line-height: 2; }

body.talk main .content-2 > div:nth-child(1) {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2; }
  @media screen and (max-width: 39.99875em) {
    body.talk main .content-2 > div:nth-child(1) {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
      -ms-flex-order: 1;
      order: 1; } }

body.talk main .content-2 > div:nth-child(2) {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1; }
  @media screen and (max-width: 39.99875em) {
    body.talk main .content-2 > div:nth-child(2) {
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
      -ms-flex-order: 2;
      order: 2; } }

/*
 * 求める人材
 */
body.talent .title-area {
  background-image: url(../img/bg-page-talent.jpg); }
  @media screen and (max-width: 39.99875em) {
    body.talent .title-area {
      background-position: 70% center;
      background-image: url(../img/bg-page-talent-sp.jpg); } }

body.talent .lead {
  margin-top: 5.14286rem !important; }
  body.talent .lead + p {
    text-align: center; }
    @media screen and (max-width: 39.99875em) {
      body.talent .lead + p {
        text-align: left; } }

body.talent .characteristic {
  margin-top: 3.57143rem; }
  body.talent .characteristic .panel {
    background-color: #ffffff;
    padding: 1.42857rem;
    border-top: 2px solid #032c66; }
    body.talent .characteristic .panel .title-wrap {
      margin-bottom: 0.71429rem; }
      body.talent .characteristic .panel .title-wrap span {
        color: #d7e1e1;
        font-size: 3.57143rem;
        line-height: 1; }
      body.talent .characteristic .panel .title-wrap h2 {
        font-size: 1.57143rem;
        font-weight: 700;
        margin-bottom: 0; }
        body.talent .characteristic .panel .title-wrap h2 div {
          font-size: 0.85714rem;
          font-weight: 400;
          color: #032c66; }
    body.talent .characteristic .panel ul {
      margin-bottom: 0; }
      body.talent .characteristic .panel ul li {
        line-height: 2; }
  body.talent .characteristic a.readmore {
    background-color: #032c66; }

/*
 * 教育研修カリキュラム
 */
body.training .title-area {
  background-image: url(../img/bg-page-training.jpg); }
  @media screen and (max-width: 39.99875em) {
    body.training .title-area {
      background-position: 70% center;
      background-image: url(../img/bg-page-training-sp.jpg); } }

body.training .lead {
  margin-top: 5.71429rem !important; }
  @media screen and (max-width: 39.99875em) {
    body.training .lead {
      margin-top: 2.14286rem !important;
      text-align: center !important; } }
  body.training .lead:nth-child(1) {
    margin-top: 5.14286rem !important; }

body.training .schedule dl {
  margin-bottom: 2.14286rem; }
  body.training .schedule dl:last-of-type dt::before {
    content: none; }
  body.training .schedule dl dt {
    background-color: #2db272;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    color: #ffffff;
    text-align: center;
    height: 5.71429rem;
    line-height: 5.71429rem;
    margin-bottom: 0.71429rem;
    position: relative; }
    @media screen and (max-width: 63.99875em) {
      body.training .schedule dl dt {
        height: auto;
        line-height: normal;
        border-top-right-radius: 0;
        border-bottom-left-radius: 3px; } }
    body.training .schedule dl dt::before {
      content: '';
      position: absolute;
      height: 4px;
      width: 100%;
      background-color: #2db272;
      top: 38px;
      z-index: -1; }
      @media screen and (max-width: 63.99875em) {
        body.training .schedule dl dt::before {
          height: 100%;
          width: 3px;
          top: 50%;
          left: 50%;
          margin-left: -1px; } }
    body.training .schedule dl dt::after {
      content: '';
      position: absolute;
      top: 0;
      right: -59px;
      width: 0;
      height: 0;
      border: 40px solid transparent;
      border-left: 20px solid #2db272; }
      @media screen and (max-width: 63.99875em) {
        body.training .schedule dl dt::after {
          border: none;
          right: 0;
          top: initial;
          left: 50%;
          bottom: -36px;
          -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
          width: 100%;
          height: 25px;
          background-color: #2db272;
          -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
          padding-bottom: 10%;
          z-index: -1; } }
    body.training .schedule dl dt span {
      font-size: 1.71429rem; }
    body.training .schedule dl dt img {
      padding-top: 0.71429rem; }
  body.training .schedule dl dd {
    font-size: 0.85714rem; }
    body.training .schedule dl dd div {
      background-color: #f2f2f2;
      color: #032c66;
      text-align: center;
      font-weight: 700;
      font-size: 1rem;
      padding: 0.28571rem 0.71429rem;
      margin-bottom: 0.71429rem;
      display: table;
      height: 3.57143rem;
      width: 100%; }
      body.training .schedule dl dd div > span {
        display: table-cell;
        vertical-align: middle; }
    body.training .schedule dl dd span {
      font-weight: 700; }

body.training .panel {
  background-color: #f2f2f2;
  padding: 1.42857rem;
  margin-bottom: 2.85714rem;
  position: relative; }
  @media screen and (max-width: 39.99875em) {
    body.training .panel {
      margin-bottom: 1.42857rem; } }
  body.training .panel::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20px;
    width: 2.28571rem;
    border-top: 3px solid #032c66; }
  body.training .panel h3 {
    font-size: 1.42857rem;
    font-weight: 700;
    margin-bottom: 1.07143rem; }
    body.training .panel h3 div {
      font-size: 0.85714rem;
      font-weight: 400;
      color: #032c66; }
  body.training .panel > div {
    line-height: 2; }

body.training .usami {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto; }
  body.training .usami > div {
    margin-bottom: 0.71429rem; }

body.training table {
  margin-bottom: 4.28571rem; }
  body.training table thead th,
  body.training table thead td,
  body.training table tbody th,
  body.training table tbody td {
    text-align: center;
    width: 33%;
    border-right: 1px solid #ededed; }
  @media screen and (max-width: 39.99875em) {
    body.training table thead td,
    body.training table tbody td {
      text-align: left;
      vertical-align: top; } }

/*
 * 先輩社員の1日
 */
body.schedule .content {
  position: relative;
  overflow: hidden;
  background: url(../img/txt-schedule-bg.svg) no-repeat 101% 880px;
  background-size: 150px;
  z-index: 0; }
  @media screen and (max-width: 63.99875em) {
    body.schedule .content {
      background-size: 100px;
      background-position: 105% 770px; } }
  @media screen and (max-width: 39.99875em) {
    body.schedule .content {
      background-position: 105% 680px; } }
  body.schedule .content::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #f2f2f2;
    position: absolute;
    z-index: -1;
    top: 700px;
    left: -35%;
    -webkit-transform: rotate(-30deg);
    -ms-transform: rotate(-30deg);
    transform: rotate(-30deg); }
    @media screen and (max-width: 63.99875em) {
      body.schedule .content::before {
        width: 200%;
        left: -60%;
        -webkit-transform: rotate(-30deg);
        -ms-transform: rotate(-30deg);
        transform: rotate(-30deg); } }
    @media screen and (max-width: 39.99875em) {
      body.schedule .content::before {
        width: 300%;
        top: 1000px;
        left: -100%;
        -webkit-transform: rotate(10deg);
        -ms-transform: rotate(10deg);
        transform: rotate(10deg); } }

body.schedule .title-area {
  background-image: url(../img/bg-page-schedule.jpg);
  height: 42.85714rem;
  margin-bottom: 5rem; }
  @media screen and (max-width: 63.99875em) {
    body.schedule .title-area {
      background-size: cover;
      margin-bottom: 2.14286rem; } }
  @media screen and (max-width: 39.99875em) {
    body.schedule .title-area {
      background-size: 180%;
      background-position: 55% top;
      height: 39.28571rem; } }
  body.schedule .title-area .inner {
    width: 1100px;
    height: 42.85714rem;
    margin: auto;
    position: relative; }
    @media screen and (max-width: 63.99875em) {
      body.schedule .title-area .inner {
        width: auto;
        margin: auto 1.42857rem; } }
    @media screen and (max-width: 39.99875em) {
      body.schedule .title-area .inner {
        height: 39.28571rem; } }
    body.schedule .title-area .inner .title-inner {
      width: 28.57143rem;
      background-color: #111111;
      color: #ffffff;
      padding: 6.28571rem 2.85714rem;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none;
      left: 0;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
      @media screen and (max-width: 39.99875em) {
        body.schedule .title-area .inner .title-inner {
          bottom: 10px;
          left: -20px;
          right: 40px;
          top: initial;
          margin-top: 0;
          padding: 2.85714rem 1.42857rem;
          -webkit-transform: none;
          -ms-transform: none;
          transform: none;
          width: auto; } }
      body.schedule .title-area .inner .title-inner h1 {
        letter-spacing: 0;
        font-size: 2.85714rem; }
        @media screen and (max-width: 39.99875em) {
          body.schedule .title-area .inner .title-inner h1 {
            text-align: left;
            font-size: 1.85714rem; } }
      body.schedule .title-area .inner .title-inner .title-text {
        text-align: left; }

body.schedule main .information {
  line-height: 2; }
  body.schedule main .information span {
    font-weight: 700; }

body.schedule main .name {
  font-size: 1.71429rem;
  font-weight: 700;
  color: #032c66;
  position: relative; }
  @media screen and (max-width: 39.99875em) {
    body.schedule main .name {
      margin-bottom: 3.57143rem; } }
  body.schedule main .name span {
    font-size: 3.42857rem; }
  body.schedule main .name::after {
    content: "";
    border-bottom: 2px #032c66 solid;
    width: 3.14286rem;
    height: 0.14286rem;
    position: absolute;
    left: 0;
    bottom: -10px; }
    @media screen and (max-width: 39.99875em) {
      body.schedule main .name::after {
        bottom: 0; } }

body.schedule main .circle {
  position: relative; }
  body.schedule main .circle::before, body.schedule main .circle::after {
    content: "";
    position: absolute;
    width: 0.07143rem;
    height: 15px;
    background-color: #cacaca;
    top: 28px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
    @media screen and (max-width: 63.99875em) {
      body.schedule main .circle::before, body.schedule main .circle::after {
        left: 12px; } }
  body.schedule main .circle::before {
    height: 15px;
    top: 28px; }
  body.schedule main .circle::after {
    height: 100%;
    top: 43px; }
  body.schedule main .circle.last-child::before, body.schedule main .circle.last-child::after {
    content: none; }
  @media screen and (max-width: 63.99875em) {
    body.schedule main .circle circle {
      cx: 12; } }
  body.schedule main .circle.last-child svg {
    height: 40px; }

body.schedule main .time {
  font-size: 1.57143rem;
  font-weight: 700; }
  body.schedule main .time span {
    font-size: 1.71429rem;
    color: #032c66; }
    body.schedule main .time span::after {
      content: "|";
      padding-right: 1.42857rem;
      margin-left: 1.42857rem;
      display: inline-block; }
  body.schedule main .time.no-title span::after {
    content: none; }

body.schedule main .summary {
  font-weight: 700;
  padding-bottom: 2.85714rem;
  margin-top: -1.42857rem; }
  @media screen and (max-width: 39.99875em) {
    body.schedule main .summary {
      padding-bottom: 1.42857rem; } }

/*
 * 社員アンケート
 */
body.questionnaire .title-area {
  background-image: url(../img/bg-page-questionnaire.jpg); }
  @media screen and (max-width: 39.99875em) {
    body.questionnaire .title-area {
      background-position: 70% center;
      background-image: url(../img/bg-page-questionnaire-sp.jpg); } }

body.questionnaire main {
  overflow: hidden;
  width: auto !important; }
  @media screen and (max-width: 63.99875em) {
    body.questionnaire main {
      margin: auto !important; } }
  body.questionnaire main .question-inner {
    width: 1100px;
    margin: auto; }
    @media screen and (max-width: 63.99875em) {
      body.questionnaire main .question-inner {
        width: auto; } }
    body.questionnaire main .question-inner:nth-child(2n) {
      width: auto;
      background-color: #f2f2fc;
      position: relative;
      z-index: -1; }
      body.questionnaire main .question-inner:nth-child(2n) .question-width {
        width: 1100px;
        margin: auto; }
        @media screen and (max-width: 63.99875em) {
          body.questionnaire main .question-inner:nth-child(2n) .question-width {
            width: auto; } }
    body.questionnaire main .question-inner > div > div {
      padding: 2.85714rem 1.42857rem;
      position: relative; }
      body.questionnaire main .question-inner > div > div .question {
        position: relative;
        height: 180px;
        margin-bottom: 2.85714rem; }
        @media screen and (max-width: 39.99875em) {
          body.questionnaire main .question-inner > div > div .question {
            height: 140px; } }
        body.questionnaire main .question-inner > div > div .question .number {
          position: absolute;
          z-index: -1; }
          body.questionnaire main .question-inner > div > div .question .number img {
            height: 180px;
            width: auto; }
            @media screen and (max-width: 39.99875em) {
              body.questionnaire main .question-inner > div > div .question .number img {
                height: 140px; } }
        body.questionnaire main .question-inner > div > div .question h2 {
          font-size: 2.57143rem;
          font-weight: 700;
          position: absolute;
          top: 50%;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
          @media screen and (max-width: 39.99875em) {
            body.questionnaire main .question-inner > div > div .question h2 {
              font-size: 1.71429rem; } }
          body.questionnaire main .question-inner > div > div .question h2 span {
            font-size: 1.28571rem;
            font-weight: 400;
            display: block; }
      body.questionnaire main .question-inner > div > div .comment {
        background-color: #dcf0fa;
        padding: 1.42857rem; }
        body.questionnaire main .question-inner > div > div .comment dt {
          color: #032c66;
          margin-bottom: 1.42857rem; }
        body.questionnaire main .question-inner > div > div .comment dd {
          background-color: #ffffff;
          padding: 1.07143rem;
          position: relative; }
          body.questionnaire main .question-inner > div > div .comment dd::before {
            content: "";
            position: absolute;
            border: 10px transparent solid;
            border-bottom-color: #ffffff;
            border-left-width: 8px;
            border-right-width: 8px;
            top: -19px;
            left: 20px; }
          body.questionnaire main .question-inner > div > div .comment dd div {
            color: #032c66;
            font-weight: 700;
            margin-bottom: 0.35714rem; }
      @media screen and (max-width: 63.99875em) {
        body.questionnaire main .question-inner > div > div > div:nth-child(2) {
          text-align: center; } }
      body.questionnaire main .question-inner > div > div > div:nth-child(2) img {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        max-width: 45%;
        max-height: 80%; }
        body.questionnaire main .question-inner > div > div > div:nth-child(2) img.questionnaire-5 {
          max-height: 90%; }
        @media screen and (max-width: 63.99875em) {
          body.questionnaire main .question-inner > div > div > div:nth-child(2) img {
            position: static;
            top: 0;
            -webkit-transform: initial;
            -ms-transform: initial;
            transform: initial;
            max-width: 100%;
            max-height: 100%;
            width: 600px;
            margin-top: 2.14286rem; } }

/*
 * SNSシェアボタン
 */
.sns-buttons {
  font-weight: bold;
  margin-top: 60px;
  margin-bottom: 60px; }
  .sns-buttons .nsnsbutttonlist svg {
    width: 20px;
    height: 20px; }
  @media screen and (max-width: 39.99875em) {
    .sns-buttons {
      margin-top: 2.14286rem;
      margin-bottom: 2.14286rem; }
      .sns-buttons .nsnsbutttonlist svg {
        width: 32px;
        height: 32px; } }

/*
 * 性格別営業タイプ診断
 */
body.personalitytest .title-area {
  position: relative;
  width: 100%;
  height: auto;
  background-image: url(../img/bg-page-pt.jpg); }
  body.personalitytest .title-area:before {
    content: "";
    display: block;
    padding-top: 41.1666666666667%; }
  @media screen and (max-width: 39.99875em) {
    body.personalitytest .title-area {
      background-position: center center;
      background-image: url(../img/bg-page-pt-sp.jpg); }
      body.personalitytest .title-area:before {
        padding-top: 111.7333333333333%; } }

body.personalitytest .pt-title-inner {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 6.66667vw; }
  body.personalitytest .pt-title-inner .pt-title-lead {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    font-size: 3.88889vw;
    line-height: 1;
    font-weight: bold;
    color: #ffffff;
    margin-bottom: 1.38889vw; }
  body.personalitytest .pt-title-inner .pt-title-main {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    font-size: 2.88889vw;
    line-height: 1;
    font-weight: bold;
    letter-spacing: 0.05em;
    background-color: #002F7A;
    color: #ffffff;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 1.05556vw 1.66667vw 1vw; }
  @media screen and (max-width: 39.99875em) {
    body.personalitytest .pt-title-inner {
      padding-top: 28vw; }
      body.personalitytest .pt-title-inner .pt-title-lead {
        font-size: 7.46667vw;
        margin-bottom: 31.33333vw; }
      body.personalitytest .pt-title-inner .pt-title-main {
        font-size: 5.6vw;
        padding: 2.4vw 2.13333vw 2.13333vw; } }

body.personalitytest .pt-results-lead {
  margin-bottom: 0;
  -webkit-transition: opacity .4s ease-out;
  transition: opacity .4s ease-out;
  visibility: hidden;
  opacity: 0;
  position: relative;
  margin-top: 104px;
  padding: 3.11111vw 0 1.66667vw;
  text-align: center;
  font-size: 3.11111vw;
  line-height: 1.0em;
  font-weight: bold;
  letter-spacing: 0.05em; }
  body.personalitytest .pt-results-lead.show {
    visibility: visible;
    opacity: 1.0; }
  body.personalitytest .pt-results-lead > span {
    display: inline-block;
    background-color: #002F7A;
    color: #ffffff;
    padding: 0.83333vw 1.33333vw 0.72222vw;
    margin-left: 0.1em;
    margin-right: 0.1em; }
  @media screen and (max-width: 39.99875em) {
    body.personalitytest .pt-results-lead {
      margin-top: 80px;
      padding: 2.66667vw 0 3.2vw;
      font-size: 6.8vw;
      line-height: 1.6em; }
      body.personalitytest .pt-results-lead > span {
        line-height: 1.0em;
        padding: 2.26667vw 2.26667vw 1.73333vw;
        margin-left: 0; } }

body.personalitytest .content main .pt-inner {
  padding-top: 4.66667vw;
  padding-bottom: 6.66667vw; }
  @media screen and (max-width: 39.99875em) {
    body.personalitytest .content main .pt-inner {
      padding-top: 6.66667vw;
      padding-bottom: 10.66667vw; } }
  body.personalitytest .content main .pt-inner .sns-buttons {
    margin-bottom: 0; }

body.personalitytest .content main .pt-lead {
  text-align: center;
  margin-bottom: 2.22222vw; }
  @media screen and (max-width: 39.99875em) {
    body.personalitytest .content main .pt-lead {
      margin-bottom: 5.86667vw; } }
  body.personalitytest .content main .pt-lead p {
    font-size: 1.61111vw;
    line-height: 1.6em;
    font-weight: bold;
    margin-bottom: 1.6em; }
    body.personalitytest .content main .pt-lead p:nth-last-child(1) {
      margin-bottom: 0; }
    @media screen and (max-width: 39.99875em) {
      body.personalitytest .content main .pt-lead p {
        font-size: 3.2vw; } }

body.personalitytest .content main .pt-question-number {
  text-align: center;
  margin-bottom: 2.22222vw;
  font-size: 2vw;
  line-height: 1.0em;
  font-weight: bold;
  color: #002F7A; }
  @media screen and (max-width: 39.99875em) {
    body.personalitytest .content main .pt-question-number {
      font-size: 4.26667vw;
      margin-bottom: 4.26667vw; } }

body.personalitytest .content main .pt-question-current {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 2.22222vw; }
  @media screen and (max-width: 39.99875em) {
    body.personalitytest .content main .pt-question-current {
      display: none; } }
  body.personalitytest .content main .pt-question-current > span {
    display: block;
    width: 1.55556vw;
    height: 1.55556vw;
    text-align: left;
    text-indent: -9000px;
    overflow: hidden;
    border-radius: 50%;
    margin: 0 2.22222vw;
    background-color: #D1D1D1;
    -webkit-transition: all .4s ease-out;
    transition: all .4s ease-out; }
    body.personalitytest .content main .pt-question-current > span.current {
      background-color: #002F7A; }

body.personalitytest .content main .pt-question-outer {
  position: relative;
  margin: 0 calc(0px - 1.42857rem); }
  body.personalitytest .content main .pt-question-outer .pt-question-item {
    display: none; }
    body.personalitytest .content main .pt-question-outer .pt-question-item#pt-q1 {
      display: block; }
    body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-box {
      border-top: 0.44444vw solid #002F7A;
      background-color: #EAEAEA;
      padding: 1.66667vw 2.77778vw 2.77778vw;
      text-align: center; }
      @media screen and (max-width: 39.99875em) {
        body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-box {
          border-top-width: 1.06667vw;
          padding: 2.66667vw 2.66667vw 6.66667vw; } }
      body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-box .pt-question-head {
        font-family: Arial, Helvetica, "sans-serif";
        font-size: 2.77778vw;
        line-height: 1.0em;
        font-weight: bold;
        color: #002F7A;
        margin-bottom: 1.77778vw; }
        @media screen and (max-width: 39.99875em) {
          body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-box .pt-question-head {
            font-size: 6.13333vw;
            margin-bottom: 4.8vw; } }
      body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-box .pt-question-body {
        font-size: 2.77778vw;
        line-height: 1.0em;
        font-weight: bold;
        color: #111111; }
        @media screen and (max-width: 39.99875em) {
          body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-box .pt-question-body {
            font-size: 6.13333vw; } }
    body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno {
      list-style-type: none;
      margin: 3.88889vw 0 0;
      padding: 0;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      @media screen and (max-width: 39.99875em) {
        body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno {
          width: 76.26667vw;
          margin: 0 auto;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
          -ms-flex-pack: center;
          justify-content: center;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -webkit-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column; } }
      body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li {
        display: block;
        margin: 0;
        padding: 0;
        width: 46%;
        height: 6.22222vw; }
        @media screen and (max-width: 39.99875em) {
          body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li {
            width: 100%;
            height: 12.8vw;
            margin-top: 7.46667vw; } }
        body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li > a {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
          -ms-flex-pack: center;
          justify-content: center;
          -webkit-box-align: center;
          -webkit-align-items: center;
          -ms-flex-align: center;
          align-items: center;
          width: 100%;
          height: 100%;
          color: #ffffff;
          font-family: Arial, Helvetica, "sans-serif";
          font-size: 2.33333vw;
          line-height: 1.0em;
          font-weight: bold;
          -webkit-transition: opacity .4s ease-out;
          transition: opacity .4s ease-out; }
          @media screen and (max-width: 39.99875em) {
            body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li > a {
              font-size: 5.06667vw; } }
          body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li > a:link, body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li > a:visited {
            color: #ffffff;
            text-decoration: none;
            opacity: 1.0; }
          body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li > a:hover, body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li > a:active {
            color: #ffffff;
            text-decoration: none;
            opacity: 0.7; }
        body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li.yes > a:link, body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li.yes > a:visited {
          background-color: #002F7A; }
        body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li.yes > a:hover, body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li.yes > a:active {
          background-color: #002F7A; }
        body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li.no > a:link, body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li.no > a:visited {
          background-color: #797979; }
        body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li.no > a:hover, body.personalitytest .content main .pt-question-outer .pt-question-item .pt-question-yesno > li.no > a:active {
          background-color: #797979; }

body.personalitytest .content main .pt-results-outer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-transition: opacity .4s ease-out;
  transition: opacity .4s ease-out;
  visibility: hidden;
  opacity: 0; }
  @media screen and (max-width: 39.99875em) {
    body.personalitytest .content main .pt-results-outer {
      margin-left: calc(0px - 1.42857rem);
      margin-right: calc(0px - 1.42857rem); } }
  body.personalitytest .content main .pt-results-outer.show {
    visibility: visible;
    opacity: 1.0; }
  body.personalitytest .content main .pt-results-outer .pt-results-item {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    opacity: 0.5;
    border-top: 0.72222vw solid transparent;
    border-left: 2.5vw solid transparent;
    background-clip: padding-box;
    background-color: #F2F2F2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 15.72222vw;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 2vw 3.88889vw 2vw 20.88889vw;
    margin-top: 1.77778vw; }
    @media screen and (max-width: 39.99875em) {
      body.personalitytest .content main .pt-results-outer .pt-results-item {
        border-top-width: 23.73333vw;
        border-left-width: 5.6vw;
        padding: 17.6vw 5.33333vw 5.33333vw 5.33333vw;
        margin-top: 5.86667vw; } }
    body.personalitytest .content main .pt-results-outer .pt-results-item .pt-results-image {
      position: absolute;
      left: -2.5vw;
      top: -0.72222vw;
      width: 20.38889vw;
      height: 14vw;
      -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
      box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); }
      body.personalitytest .content main .pt-results-outer .pt-results-item .pt-results-image img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: 50% 50%;
        object-position: 50% 50%; }
      @media screen and (max-width: 39.99875em) {
        body.personalitytest .content main .pt-results-outer .pt-results-item .pt-results-image {
          left: -5.6vw;
          top: -23.73333vw;
          width: 54.93333vw;
          height: 37.6vw; } }
    body.personalitytest .content main .pt-results-outer .pt-results-item .pt-results-heading {
      font-size: 1.88889vw;
      line-height: 1.0em;
      font-weight: bold;
      margin-bottom: 1.33333vw; }
      body.personalitytest .content main .pt-results-outer .pt-results-item .pt-results-heading > span {
        display: inline-block;
        background-color: #002F7A;
        color: #ffffff;
        padding: 0.44444vw 0.66667vw 0.33333vw;
        margin-left: 0.1em;
        margin-right: 0.1em; }
      body.personalitytest .content main .pt-results-outer .pt-results-item .pt-results-heading br {
        display: none; }
      @media screen and (max-width: 39.99875em) {
        body.personalitytest .content main .pt-results-outer .pt-results-item .pt-results-heading {
          font-size: 4.8vw;
          line-height: 1.6em;
          margin-bottom: 4.26667vw; }
          body.personalitytest .content main .pt-results-outer .pt-results-item .pt-results-heading > span {
            line-height: 1.0em;
            padding: 1.33333vw 1.86667vw 1.33333vw;
            margin-left: 0; }
          body.personalitytest .content main .pt-results-outer .pt-results-item .pt-results-heading br {
            display: block; } }
    body.personalitytest .content main .pt-results-outer .pt-results-item .pt-results-text {
      font-size: 1.22222vw;
      line-height: 1.6em;
      font-weight: bold;
      margin-bottom: 0; }
      @media screen and (max-width: 39.99875em) {
        body.personalitytest .content main .pt-results-outer .pt-results-item .pt-results-text {
          font-size: 2.93333vw; }
          body.personalitytest .content main .pt-results-outer .pt-results-item .pt-results-text br {
            display: none; } }
    body.personalitytest .content main .pt-results-outer .pt-results-item.show {
      opacity: 1;
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
      -ms-flex-order: 1;
      order: 1;
      margin-top: 0;
      margin-bottom: 5.55556vw;
      border-top: 1.44444vw solid transparent;
      min-height: 20.88889vw;
      padding: 1.44444vw 2.44444vw 2.66667vw 25.55556vw; }
      @media screen and (max-width: 39.99875em) {
        body.personalitytest .content main .pt-results-outer .pt-results-item.show {
          margin-bottom: 5.33333vw;
          border-top-width: 39.06667vw;
          padding: 14.66667vw 5.33333vw 5.33333vw 5.33333vw; } }
      body.personalitytest .content main .pt-results-outer .pt-results-item.show:before {
        content: "";
        display: block;
        width: 100%;
        height: 0.33333vw;
        background-color: #002F7A;
        position: absolute;
        left: 0;
        bottom: 0; }
        @media screen and (max-width: 39.99875em) {
          body.personalitytest .content main .pt-results-outer .pt-results-item.show:before {
            height: 1.06667vw; } }
      body.personalitytest .content main .pt-results-outer .pt-results-item.show .pt-results-image {
        position: absolute;
        top: -1.44444vw;
        width: 25.61111vw;
        height: 19.27778vw; }
        @media screen and (max-width: 39.99875em) {
          body.personalitytest .content main .pt-results-outer .pt-results-item.show .pt-results-image {
            top: -39.06667vw;
            width: 66vw;
            height: 48.53333vw; } }
      body.personalitytest .content main .pt-results-outer .pt-results-item.show .pt-results-heading {
        font-size: 2vw;
        line-height: 1.6em;
        margin-bottom: 1.55556vw; }
        body.personalitytest .content main .pt-results-outer .pt-results-item.show .pt-results-heading > span {
          line-height: 1.0em;
          padding: 0.44444vw 1vw 0.44444vw;
          margin-left: 0; }
        body.personalitytest .content main .pt-results-outer .pt-results-item.show .pt-results-heading br {
          display: block; }
        @media screen and (max-width: 39.99875em) {
          body.personalitytest .content main .pt-results-outer .pt-results-item.show .pt-results-heading {
            font-size: 5.6vw;
            margin-bottom: 4.26667vw; }
            body.personalitytest .content main .pt-results-outer .pt-results-item.show .pt-results-heading > span {
              padding: 1.73333vw 1.86667vw 1.33333vw; } }

body.personalitytest .content main .pt-tohome {
  margin-top: 4.44444vw;
  text-align: center; }
  @media screen and (max-width: 39.99875em) {
    body.personalitytest .content main .pt-tohome {
      margin-top: 2.14286rem; } }
  body.personalitytest .content main .pt-tohome > a {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    color: #ffffff;
    font-size: 2.33333vw;
    line-height: 1.0em;
    font-weight: bold;
    -webkit-transition: all .4s ease-out;
    transition: all .4s ease-out;
    padding: 0.6em 2.0em; }
    @media screen and (max-width: 39.99875em) {
      body.personalitytest .content main .pt-tohome > a {
        font-size: 5.06667vw; } }
    body.personalitytest .content main .pt-tohome > a:link, body.personalitytest .content main .pt-tohome > a:visited {
      background-color: #2db272;
      color: #ffffff;
      text-decoration: none; }
    body.personalitytest .content main .pt-tohome > a:hover, body.personalitytest .content main .pt-tohome > a:active {
      background-color: #111111;
      color: #ffffff;
      text-decoration: none; }

/*
 * 働き方改革
 */
body.reform .title-area {
  position: relative;
  width: 100%;
  height: auto;
  background-image: url(../img/bg-page-reform.jpg); }
  body.reform .title-area:before {
    content: "";
    display: block;
    padding-top: 41.1666666666667%; }
  @media screen and (max-width: 39.99875em) {
    body.reform .title-area {
      background-position: center center;
      background-image: url(../img/bg-page-reform-sp.jpg); }
      body.reform .title-area:before {
        padding-top: 111.7333333333333%; } }

body.reform .pt-title-inner {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 2.22222vw; }
  body.reform .pt-title-inner .pt-title-lead {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    font-size: 2.22222vw;
    line-height: 1;
    font-weight: bold;
    color: #ffffff;
    margin-bottom: 1.38889vw; }
  body.reform .pt-title-inner .pt-title-main {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    font-size: 4.44444vw;
    line-height: 1;
    font-weight: bold;
    letter-spacing: 0.05em;
    background-color: #002259;
    color: #ffffff;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 1.05556vw 1.66667vw 1vw; }
  @media screen and (max-width: 39.99875em) {
    body.reform .pt-title-inner {
      padding-top: 10.66667vw; }
      body.reform .pt-title-inner .pt-title-lead {
        font-size: 4.26667vw;
        margin-bottom: 1.6vw; }
      body.reform .pt-title-inner .pt-title-main {
        text-align: center;
        font-size: 7.46667vw;
        line-height: 1.5em;
        padding: 2.4vw 2.13333vw 2.13333vw; } }

body.reform .content main {
  width: auto; }
  @media screen and (max-width: 63.99875em) {
    body.reform .content main {
      margin: 0; } }
  @media screen and (max-width: 39.99875em) {
    body.reform .content main {
      margin: 0; } }
  body.reform .content main .reform-lead {
    padding-top: 4.44444vw;
    padding-bottom: 5.55556vw;
    width: 66.66667vw;
    padding-left: 1.42857rem;
    padding-right: 1.42857rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (max-width: 39.99875em) {
      body.reform .content main .reform-lead {
        padding-top: 6.66667vw;
        padding-bottom: 6.66667vw; } }
    @media screen and (max-width: 63.99875em) {
      body.reform .content main .reform-lead {
        width: 88.88889vw; } }
    @media screen and (max-width: 39.99875em) {
      body.reform .content main .reform-lead {
        width: auto;
        margin: 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center; } }
    body.reform .content main .reform-lead .text {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: calc(100% - 1.11111vw - 12.77778vw);
      font-size: 1.11111vw;
      line-height: 2.5em;
      font-weight: bold;
      border-left: 0.33333vw solid #002F7A;
      padding-left: 1.55556vw; }
      @media screen and (max-width: 63.99875em) {
        body.reform .content main .reform-lead .text {
          width: calc(100% - 1.11111vw - 15.55556vw);
          font-size: 1.44444vw; } }
      @media screen and (max-width: 39.99875em) {
        body.reform .content main .reform-lead .text {
          width: auto;
          font-size: 2.93333vw;
          line-height: 2.0em;
          border-left: 0.53333vw solid #002F7A;
          padding-left: 2.13333vw; } }
    body.reform .content main .reform-lead .people {
      width: 12.77778vw;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center; }
      @media screen and (max-width: 63.99875em) {
        body.reform .content main .reform-lead .people {
          width: 15.55556vw; } }
      @media screen and (max-width: 39.99875em) {
        body.reform .content main .reform-lead .people {
          margin-top: 4.26667vw;
          width: 34.66667vw;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
          -ms-flex-pack: center;
          justify-content: center; } }
      body.reform .content main .reform-lead .people .image {
        width: 60%;
        margin: 0; }
        @media screen and (max-width: 39.99875em) {
          body.reform .content main .reform-lead .people .image {
            margin-right: 3.2vw; } }
      body.reform .content main .reform-lead .people .caption {
        font-size: 1vw;
        line-height: 2.0em;
        font-weight: bold;
        margin: 0; }
        body.reform .content main .reform-lead .people .caption > span {
          color: #002259; }
        @media screen and (max-width: 63.99875em) {
          body.reform .content main .reform-lead .people .caption {
            font-size: 1.33333vw; } }
        @media screen and (max-width: 39.99875em) {
          body.reform .content main .reform-lead .people .caption {
            font-size: 2.66667vw; } }
  body.reform .content main .reform-sec-outer {
    padding-bottom: 6.66667vw; }
    @media screen and (max-width: 39.99875em) {
      body.reform .content main .reform-sec-outer {
        padding-bottom: 10.66667vw; } }
    body.reform .content main .reform-sec-outer .reform-sec {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      @media screen and (max-width: 39.99875em) {
        body.reform .content main .reform-sec-outer .reform-sec {
          display: block; } }
      body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main {
        position: relative;
        z-index: 2;
        width: 50%;
        margin: 0;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding-top: 3.88889vw;
        padding-bottom: 2.77778vw; }
        @media screen and (max-width: 39.99875em) {
          body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main {
            display: block;
            width: auto;
            padding-top: 7.33333vw;
            padding-bottom: 0;
            padding-left: 4vw;
            padding-right: 0; } }
        body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main h2, body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main h3, body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main p {
          margin: 0; }
        body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main .heading {
          font-family: "Inter", sans-serif;
          font-optical-sizing: auto;
          font-weight: 500;
          font-style: normal;
          font-variation-settings: "slnt" 0;
          border-bottom-width: 0.16667vw;
          border-bottom-style: solid;
          font-size: 4vw;
          line-height: 1.0em;
          padding-bottom: 1.11111vw;
          margin-bottom: 1.77778vw; }
          @media screen and (max-width: 39.99875em) {
            body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main .heading {
              display: inline-block;
              font-size: 7.73333vw;
              margin-left: -4vw;
              padding-left: 4vw;
              padding-right: 4vw;
              padding-bottom: 1.06667vw;
              border-bottom-width: 0.4vw;
              margin-bottom: 4.26667vw; } }
        body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main .question {
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          position: relative;
          z-index: 2;
          background-color: #002259;
          color: #ffffff;
          font-size: 1.44444vw;
          line-height: 1.5em;
          font-weight: bold;
          padding: 1.22222vw 1.55556vw 1.11111vw; }
          @media screen and (max-width: 39.99875em) {
            body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main .question {
              font-size: 3.2vw;
              padding: 2.93333vw 3.73333vw 2.66667vw; } }
        body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main .answer {
          position: relative;
          z-index: 1;
          margin-top: -2.77778vw;
          padding: 4.44444vw 1.55556vw 1.66667vw;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex; }
          @media screen and (max-width: 39.99875em) {
            body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main .answer {
              margin-top: -6.66667vw;
              padding: 9.33333vw 4vw 2.66667vw; } }
          body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main .answer .name {
            font-size: 0.88889vw;
            line-height: 2.0em;
            font-weight: bold;
            white-space: nowrap;
            color: #002259; }
            @media screen and (max-width: 39.99875em) {
              body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main .answer .name {
                font-size: 2.93333vw;
                line-height: 2.0em; } }
          body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main .answer .text {
            font-size: 0.88889vw;
            line-height: 2.0em;
            font-weight: bold; }
            @media screen and (max-width: 39.99875em) {
              body.reform .content main .reform-sec-outer .reform-sec .reform-sec-main .answer .text {
                font-size: 2.93333vw;
                line-height: 2.0em; } }
      body.reform .content main .reform-sec-outer .reform-sec .reform-sec-image {
        position: relative;
        z-index: 1;
        width: 50%;
        min-height: 30.44444vw;
        margin: 0; }
        @media screen and (max-width: 39.99875em) {
          body.reform .content main .reform-sec-outer .reform-sec .reform-sec-image {
            width: calc(100% - 8vw);
            min-height: 46.66667vw;
            margin-left: auto;
            margin-top: -2.66667vw; } }
        body.reform .content main .reform-sec-outer .reform-sec .reform-sec-image img {
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
          object-fit: cover;
          -o-object-position: 50% 0%;
          object-position: 50% 0%; }
      body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(odd) {
        background-color: #E6E6E6; }
        body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(odd) .reform-sec-main {
          padding-left: calc((100vw - 1200px) / 2); }
          @media screen and (max-width: 63.99875em) {
            body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(odd) .reform-sec-main {
              padding-left: 1.42857rem; } }
          @media screen and (max-width: 39.99875em) {
            body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(odd) .reform-sec-main {
              padding-left: 4vw; } }
          body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(odd) .reform-sec-main .heading {
            color: #ffffff;
            border-bottom-color: #ffffff; }
          body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(odd) .reform-sec-main .question {
            margin-right: -5vw; }
            @media screen and (max-width: 39.99875em) {
              body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(odd) .reform-sec-main .question {
                margin-right: 4vw; } }
          body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(odd) .reform-sec-main .answer {
            background-color: rgba(255, 255, 255, 0.9);
            margin-right: -6.11111vw; }
            @media screen and (max-width: 39.99875em) {
              body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(odd) .reform-sec-main .answer {
                margin-right: 0; } }
        @media screen and (max-width: 39.99875em) {
          body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(odd) .reform-sec-image {
            margin-bottom: -23.33333vw; } }
        @media screen and (max-width: 39.99875em) {
          body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(odd):nth-last-of-type(1) .reform-sec-image {
            margin-bottom: 0; } }
      body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(even) {
        background-color: #ffffff; }
        body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(even) .reform-sec-main {
          -webkit-box-ordinal-group: 3;
          -webkit-order: 2;
          -ms-flex-order: 2;
          order: 2;
          padding-right: calc((100vw - 1200px) / 2); }
          @media screen and (max-width: 63.99875em) {
            body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(even) .reform-sec-main {
              padding-right: 1.42857rem;
              padding-top: 30.66667vw; } }
          @media screen and (max-width: 39.99875em) {
            body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(even) .reform-sec-main {
              padding-left: 4vw;
              padding-right: 0; } }
          body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(even) .reform-sec-main .heading {
            text-align: right;
            color: rgba(0, 34, 89, 0.15);
            border-bottom-color: rgba(0, 34, 89, 0.15); }
          body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(even) .reform-sec-main .question {
            margin-left: -7.22222vw;
            margin-right: 1.11111vw; }
            @media screen and (max-width: 39.99875em) {
              body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(even) .reform-sec-main .question {
                margin-left: 0;
                margin-right: 4vw; } }
          body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(even) .reform-sec-main .answer {
            background-color: rgba(234, 234, 234, 0.9);
            margin-left: -7.22222vw; }
            @media screen and (max-width: 39.99875em) {
              body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(even) .reform-sec-main .answer {
                margin-left: 0;
                margin-right: 0; } }
        body.reform .content main .reform-sec-outer .reform-sec:nth-of-type(even) .reform-sec-main {
          -webkit-box-ordinal-group: 2;
          -webkit-order: 1;
          -ms-flex-order: 1;
          order: 1; }

/*
 * 豊トラスティ証券採用チャンネル
 */
body.channel .title-area {
  background-image: url(../img/bg-page-channel.jpg?t=2024052201); }
  body.channel .title-area .title-inner .title-text {
    text-align: center; }
  @media screen and (max-width: 39.99875em) {
    body.channel .title-area {
      background-image: url(../img/bg-page-channel-sp.jpg?t=2024052201); } }
  body.channel .title-area .title-area-yt {
    position: absolute;
    z-index: 10;
    width: 100%;
    max-width: 1100px;
    left: 0;
    right: 0;
    bottom: 20px;
    margin: 0 auto;
    text-align: center; }
    body.channel .title-area .title-area-yt .yt-button {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      display: -webkit-inline-box;
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex;
      border-radius: 20px;
      background-color: #ea3323;
      color: #ffffff !important;
      text-decoration: none !important;
      padding: 8px 24px;
      font-size: 16px;
      line-height: 1.0em;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center; }
      body.channel .title-area .title-area-yt .yt-button:hover {
        opacity: 0.7; }
      body.channel .title-area .title-area-yt .yt-button:before {
        content: "";
        display: block;
        width: 26px;
        height: 18px;
        background-image: url(../img/ic_youtube_fff.png);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: 100% auto;
        margin-right: 0.8em; }
    @media screen and (max-width: 39.99875em) {
      body.channel .title-area .title-area-yt {
        bottom: 4vw;
        margin: 0 auto;
        text-align: center; }
        body.channel .title-area .title-area-yt .yt-button {
          border-radius: 4vw;
          padding: 2vw 6vw;
          font-size: 14px;
          line-height: 1.0em; }
          body.channel .title-area .title-area-yt .yt-button:before {
            width: 20px;
            height: 14px; } }

body.channel #yt-outer {
  padding-top: 4.44444vw;
  padding-bottom: 5.55556vw; }
  @media screen and (max-width: 39.99875em) {
    body.channel #yt-outer {
      padding-top: 6.66667vw;
      padding-bottom: 6.66667vw; } }

body.channel #yt-list {
  position: relative;
  min-height: 11.11111vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media screen and (max-width: 39.99875em) {
    body.channel #yt-list {
      min-height: 26.66667vw; } }
  body.channel #yt-list .yt-overlay {
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    visibility: visible;
    opacity: 1.0;
    z-index: 2; }
  body.channel #yt-list .yt-item {
    position: relative;
    z-index: 1;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: calc(33.3333% - 1.66667vw);
    margin: 0 0.83333vw 2.22222vw;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #ffffff;
    -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15);
    border-radius: 1.11111vw;
    overflow: hidden;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    visibility: hidden;
    opacity: 0; }
  body.channel #yt-list.loaded .yt-overlay {
    visibility: hidden;
    opacity: 0; }
  body.channel #yt-list.loaded .yt-item {
    visibility: visible;
    opacity: 1.0; }
  body.channel #yt-list .title {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    background-color: #002259;
    color: #ffffff;
    font-size: 1.22222vw;
    line-height: 1.5em;
    font-weight: bold;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: left;
    padding: 1.11111vw 0.83333vw;
    margin-bottom: 1.66667vw;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1; }
  body.channel #yt-list .description {
    padding: 1.66667vw 1.11111vw; }
    body.channel #yt-list .description p {
      margin: 0;
      font-size: 1vw;
      line-height: 1.75em; }
      body.channel #yt-list .description p:empty {
        display: none; }
  body.channel #yt-list .youtube {
    display: block;
    position: relative;
    cursor: pointer;
    border-radius: 1.11111vw;
    overflow: hidden; }
  body.channel #yt-list .youtube:hover {
    opacity: 0.7; }
  body.channel #yt-list .youtube:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background-image: url(../img/ico-short.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: auto 3.55556vw; }
  body.channel #yt-list .youtube img {
    width: 13.33333vw;
    height: 23.66667vw;
    -o-object-fit: cover;
    object-fit: cover; }
  @media screen and (max-width: 39.99875em) {
    body.channel #yt-list {
      display: block; }
      body.channel #yt-list .yt-item {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        min-width: 90%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 8vw;
        border-radius: 2.66667vw;
        display: block; }
        body.channel #yt-list .yt-item .title {
          font-size: 4vw;
          line-height: 1.5em;
          padding: 2.66667vw 2vw;
          margin-bottom: 4vw; }
        body.channel #yt-list .yt-item .description {
          padding: 4vw 2.66667vw; }
          body.channel #yt-list .yt-item .description p {
            font-size: 2.93333vw;
            line-height: 1.75em; }
        body.channel #yt-list .yt-item .youtube {
          width: 60vw;
          margin-left: auto;
          margin-right: auto;
          border-radius: 2.66667vw;
          text-align: center; }
        body.channel #yt-list .yt-item .youtube:after {
          background-size: auto 17.06667vw; }
      body.channel #yt-list .yt-item.short iframe {
        margin-left: auto;
        margin-right: auto;
        width: 60vw;
        height: 125vw; }
      body.channel #yt-list .yt-item.short img {
        margin-left: auto;
        margin-right: auto;
        width: 60vw;
        height: 107vw; } }

body.channel .modal-video {
  background-color: rgba(0, 0, 0, 0.85); }

body.channel .modal-video-inner {
  width: 50% !important; }

body.channel .modal-video-movie-wrap {
  padding-bottom: 177.77% !important; }

@media screen and (max-width: 39.99875em) {
  body.channel .modal-video-inner {
    width: 70% !important; }
  body.channel .modal-video-close-btn {
    top: auto;
    bottom: -45px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto; } }

.loader {
  display: block;
  font-size: 10px;
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  margin: auto;
  text-align: left;
  overflow: hidden;
  text-indent: -9000px;
  border-top: 0.5em solid rgba(0, 0, 0, 0.2);
  border-right: 0.5em solid rgba(0, 0, 0, 0.2);
  border-bottom: 0.5em solid rgba(0, 0, 0, 0.2);
  border-left: 0.5em solid #000000;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: loading 1.1s infinite linear;
  animation: loading 1.1s infinite linear; }

@-webkit-keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.loader,
.loader:after {
  border-radius: 50%;
  width: 50px;
  height: 50px; }
  @media screen and (max-width: 39.99875em) {
    .loader,
    .loader:after {
      width: 10.66667vw;
      height: 10.66667vw; } }

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted; }

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

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

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

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

body {
  margin: 0;
  padding: 0;
  background: transparent;
  font-family: YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #111111;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

pre {
  overflow: auto; }

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

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

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 2.78571rem;
  margin: 0 0 1.14286rem;
  padding: 0.57143rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  -webkit-box-shadow: inset 0 1px 2px rgba(17, 17, 17, 0.1);
  box-shadow: inset 0 1px 2px rgba(17, 17, 17, 0.1);
  font-family: inherit;
  font-size: 1.14286rem;
  font-weight: normal;
  line-height: 1.5;
  color: #111111;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #ffffff;
    -webkit-box-shadow: 0 0 5px #cacaca;
    box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

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

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

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

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

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

::-moz-placeholder {
  color: #cacaca; }

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

::placeholder {
  color: #cacaca; }

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

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

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

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

label {
  display: block;
  margin: 0;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.8;
  color: #111111; }
  label.middle {
    margin: 0 0 1.14286rem;
    padding: 0.64286rem 0; }

.help-text {
  margin-top: -0.57143rem;
  font-size: 0.92857rem;
  font-style: italic;
  color: #111111; }

.input-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1.14286rem;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch; }
  .input-group > :first-child, .input-group > :first-child.input-group-button > * {
    border-radius: 0 0 0 0; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

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

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

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

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

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

.fieldset {
  margin: 1.28571rem 0;
  padding: 1.42857rem;
  border: 1px solid #cacaca; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.21429rem;
    padding: 0 0.21429rem; }

select {
  height: 2.78571rem;
  margin: 0 0 1.14286rem;
  padding: 0.57143rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  font-family: inherit;
  font-size: 1.14286rem;
  font-weight: normal;
  line-height: 1.5;
  color: #111111;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1.14286rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.71429rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #ffffff;
    -webkit-box-shadow: 0 0 5px #cacaca;
    box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  select:disabled {
    background-color: #f2f2f2;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #e74985;
  background-color: #fdedf3; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #e74985; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #e74985; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #e74985; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #e74985; }

.is-invalid-label {
  color: #e74985; }

.form-error {
  display: none;
  margin-top: -0.57143rem;
  margin-bottom: 1.14286rem;
  font-size: 0.85714rem;
  font-weight: bold;
  color: #e74985; }
  .form-error.is-visible {
    display: block; }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3.42857rem; }
  h2, .h2 {
    font-size: 2.85714rem; }
  h3, .h3 {
    font-size: 2.21429rem; }
  h4, .h4 {
    font-size: 1.78571rem; }
  h5, .h5 {
    font-size: 1.42857rem; }
  h6, .h6 {
    font-size: 1.14286rem; } }

a {
  line-height: inherit;
  color: #032c66;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #032658; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.64286rem 1.42857rem 0 1.35714rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.75;
    color: #8a8a8a; }

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

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

figure {
  margin: 0; }

code {
  padding: 0.14286rem 0.35714rem 0.07143rem;
  border: 1px solid #cacaca;
  background-color: #f2f2f2;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #111111; }

kbd {
  margin: 0;
  padding: 0.14286rem 0.28571rem 0;
  background-color: #f2f2f2;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #111111; }

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

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

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

@media print {
  * {
    background: transparent !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

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

.grid-x {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap; }

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

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

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

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

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

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

.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto; }

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto; }
  .grid-x > .medium-shrink {
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto; }
  .grid-x > .large-shrink {
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

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

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

.grid-margin-x {
  margin-left: -0.71429rem;
  margin-right: -0.71429rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -1.42857rem;
      margin-right: -1.42857rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 1.42857rem);
    margin-left: 0.71429rem;
    margin-right: 0.71429rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 2.85714rem);
      margin-left: 1.42857rem;
      margin-right: 1.42857rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1.42857rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1.42857rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.42857rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1.42857rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1.42857rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.42857rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1.42857rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1.42857rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.42857rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1.42857rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1.42857rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.42857rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 2.85714rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 2.85714rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 2.85714rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 2.85714rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 2.85714rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 2.85714rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 2.85714rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 2.85714rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 2.85714rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 2.85714rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 2.85714rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 2.85714rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 2.85714rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 2.85714rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 2.85714rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 2.85714rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 2.85714rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 2.85714rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 2.85714rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 2.85714rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 2.85714rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 2.85714rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 2.85714rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 2.85714rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 2.85714rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 2.85714rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 2.85714rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 2.85714rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 2.85714rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 2.85714rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 2.85714rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 2.85714rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 2.85714rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 2.85714rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 2.85714rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 2.85714rem); } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }

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

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

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

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

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

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 1.42857rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 1.42857rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 1.42857rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 1.42857rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 1.42857rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 1.42857rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 1.42857rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 1.42857rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 1.42857rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 1.42857rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 1.42857rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 1.42857rem); } }

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 1.42857rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 1.42857rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 1.42857rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 1.42857rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 1.42857rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 1.42857rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 1.42857rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 1.42857rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 1.42857rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 1.42857rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 1.42857rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 1.42857rem); } }

.grid-y {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column nowrap;
  -ms-flex-flow: column nowrap;
  flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto;
    max-width: none; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
    flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
      flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
      flex-basis: auto; } }
  .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto; }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }

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

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

.grid-margin-y {
  margin-top: -0.71429rem;
  margin-bottom: -0.71429rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -1.42857rem;
      margin-bottom: -1.42857rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.42857rem);
    margin-top: 0.71429rem;
    margin-bottom: 0.71429rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 2.85714rem);
      margin-top: 1.42857rem;
      margin-bottom: 1.42857rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.42857rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.42857rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.42857rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.42857rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.42857rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.42857rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.42857rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.42857rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.42857rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.42857rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.42857rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.42857rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 2.85714rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 2.85714rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 2.85714rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 2.85714rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 2.85714rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 2.85714rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 2.85714rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 2.85714rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 2.85714rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 2.85714rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 2.85714rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 2.85714rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 2.85714rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 2.85714rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 2.85714rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 2.85714rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 2.85714rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 2.85714rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 2.85714rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 2.85714rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 2.85714rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 2.85714rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 2.85714rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 2.85714rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 2.85714rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 2.85714rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 2.85714rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 2.85714rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 2.85714rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 2.85714rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 2.85714rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 2.85714rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 2.85714rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 2.85714rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 2.85714rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 2.85714rem); } }

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-margin-y {
  margin-top: -0.71429rem;
  margin-bottom: -0.71429rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -1.42857rem;
      margin-bottom: -1.42857rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.42857rem);
    margin-top: 0.71429rem;
    margin-bottom: 0.71429rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 2.85714rem);
      margin-top: 1.42857rem;
      margin-bottom: 1.42857rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.42857rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.42857rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.42857rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.42857rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.42857rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.42857rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.42857rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.42857rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.42857rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.42857rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.42857rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.42857rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 2.85714rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 2.85714rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 2.85714rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 2.85714rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 2.85714rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 2.85714rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 2.85714rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 2.85714rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 2.85714rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 2.85714rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 2.85714rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 2.85714rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 2.85714rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 2.85714rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 2.85714rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 2.85714rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 2.85714rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 2.85714rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 2.85714rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 2.85714rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 2.85714rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 2.85714rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 2.85714rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 2.85714rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 2.85714rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 2.85714rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 2.85714rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 2.85714rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 2.85714rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 2.85714rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 2.85714rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 2.85714rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 2.85714rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 2.85714rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 2.85714rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 2.85714rem); } }

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

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

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

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-transition: inherit;
  transition: inherit;
  font-family: inherit;
  font-size: 0.9rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #032c66;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #032557;
    color: #ffffff; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #032c66;
    color: #ffffff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #022352;
      color: #ffffff; }
  .button.secondary {
    background-color: #767676;
    color: #ffffff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #ffffff; }
  .button.success {
    background-color: #2db272;
    color: #111111; }
    .button.success:hover, .button.success:focus {
      background-color: #248e5b;
      color: #111111; }
  .button.warning {
    background-color: #ffae00;
    color: #111111; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #111111; }
  .button.alert {
    background-color: #e74985;
    color: #111111; }
    .button.alert:hover, .button.alert:focus {
      background-color: #d71c63;
      color: #111111; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #032c66;
      color: #ffffff; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #032c66;
        color: #ffffff; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #767676;
        color: #ffffff; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #2db272;
        color: #111111; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #111111; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #e74985;
        color: #111111; }
  .button.hollow {
    border: 1px solid #032c66;
    color: #032c66; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #021633;
      color: #021633; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #032c66;
        color: #032c66; }
    .button.hollow.primary {
      border: 1px solid #032c66;
      color: #032c66; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #021633;
        color: #021633; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #032c66;
          color: #032c66; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .button.hollow.success {
      border: 1px solid #2db272;
      color: #2db272; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #175939;
        color: #175939; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #2db272;
          color: #2db272; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #e74985;
      color: #e74985; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #86123e;
        color: #86123e; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #e74985;
          color: #e74985; }
  .button.clear {
    border: 1px solid #032c66;
    color: #032c66; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #021633;
      color: #021633; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #032c66;
        color: #032c66; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #032c66;
      color: #032c66; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #021633;
        color: #021633; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #032c66;
          color: #032c66; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #2db272;
      color: #2db272; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #175939;
        color: #175939; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #2db272;
          color: #2db272; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #e74985;
      color: #e74985; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #86123e;
        color: #86123e; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #e74985;
          color: #e74985; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #ffffff transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, .button.dropdown.clear::after {
    border-top-color: #032c66; }
  .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
    border-top-color: #032c66; }
  .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
    border-top-color: #2db272; }
  .button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
    border-top-color: #e74985; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

.button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #032c66;
    color: #ffffff; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #022352;
      color: #ffffff; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #ffffff; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #ffffff; }
  .button-group.success .button {
    background-color: #2db272;
    color: #111111; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #248e5b;
      color: #111111; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #111111; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #111111; }
  .button-group.alert .button {
    background-color: #e74985;
    color: #111111; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #d71c63;
      color: #111111; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
      flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
    .button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
      flex: 1 1 0px; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.99875em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }
  @media screen and (max-width: 63.99875em) {
    .button-group.stacked-for-medium.expanded {
      display: block; }
      .button-group.stacked-for-medium.expanded .button {
        display: block;
        margin-right: 0; } }

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #032c66;
  color: #ffffff; }
  .label.primary {
    background: #032c66;
    color: #ffffff; }
  .label.secondary {
    background: #767676;
    color: #ffffff; }
  .label.success {
    background: #2db272;
    color: #111111; }
  .label.warning {
    background: #ffae00;
    color: #111111; }
  .label.alert {
    background: #e74985;
    color: #111111; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #032c66; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #2db272; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #e74985; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #032c66; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ffffff;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #f2f2f2;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: none;
  touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #032c66;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
  touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #032557; }
  .slider-handle.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 1rem;
  font-weight: bold;
  color: #ffffff;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #ffffff;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #032c66; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.71429rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.85714rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1.14286rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #ededed;
    background-color: #f9f9f9; }
  caption {
    padding: 1.42857rem 0.71429rem;
    font-weight: bold; }
  thead {
    background: #032c66;
    color: #ffffff; }
  tfoot {
    background: #ededed;
    color: #111111; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 1.42857rem 0.71429rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 1.42857rem 0.71429rem; }
  tbody tr {
    border-bottom: 0;
    border-bottom: 1px solid #ededed;
    background-color: #f9f9f9; }
  table.striped tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #ededed; }

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

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

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

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

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

table.hover.striped tr:nth-of-type(even):hover {
  background-color: #e7e7e7; }

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

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #032c66;
  color: #ffffff; }
  .badge.primary {
    background: #032c66;
    color: #ffffff; }
  .badge.secondary {
    background: #767676;
    color: #ffffff; }
  .badge.success {
    background: #2db272;
    color: #111111; }
  .badge.warning {
    background: #ffae00;
    color: #111111; }
  .badge.alert {
    background: #e74985;
    color: #111111; }

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

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

.card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-bottom: 1rem;
  border: none;
  border-radius: 0;
  background: #ffffff;
  -webkit-box-shadow: none;
  box-shadow: none;
  overflow: hidden;
  color: #111111; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  padding: 1.5rem;
  background: #f2f2f2; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  padding: 1.5rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.card-image {
  min-height: 1px; }

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

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

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

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

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.07143rem;
    border-radius: 0;
    font-size: 1rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.21429rem 0.71429rem;
    border-radius: 0;
    color: #111111; }
    .pagination a:hover,
    .pagination button:hover {
      background: #f2f2f2; }
  .pagination .current {
    padding: 0.21429rem 0.71429rem;
    background: #032c66;
    color: #ffffff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.21429rem 0.71429rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.21429rem 0.71429rem;
    content: '\2026';
    color: #111111; }

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

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

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #111111;
  font-size: 80%;
  color: #ffffff; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #111111;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #111111 transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #111111;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #111111 transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

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

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

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

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

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

.media-object {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 39.99875em) {
    .media-object.stack-for-small {
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }

.media-object-section {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  @media screen and (max-width: 39.99875em) {
    .stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
      max-width: 100%; }
      .stack-for-small .media-object-section img {
        width: 100%; } }
  .media-object-section.main-section {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px; }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%;
  position: absolute; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(17, 17, 17, 0.5);
  color: #ffffff; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #ffffff; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(17, 17, 17, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

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

.tabs {
  margin: 0;
  border: 1px solid #f2f2f2;
  background: #ffffff;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1; }
  .tabs::after {
    clear: both; }

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

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

.tabs.primary {
  background: #032c66; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #04347a; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.85714rem;
    line-height: 1;
    color: #032c66; }
    [data-whatinput='mouse'] .tabs-title > a {
      outline: 0; }
    .tabs-title > a:hover {
      background: #ffffff;
      color: #032658; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #f2f2f2;
      color: #032c66; }

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

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

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: 4px solid #ffffff;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 1px rgba(17, 17, 17, 0.2);
  box-shadow: 0 0 0 1px rgba(17, 17, 17, 0.2);
  line-height: 0; }

a.thumbnail {
  -webkit-transition: -webkit-box-shadow 200ms ease-out;
  transition: -webkit-box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    -webkit-box-shadow: 0 0 6px 1px rgba(3, 44, 102, 0.5);
    box-shadow: 0 0 6px 1px rgba(3, 44, 102, 0.5); }
  a.thumbnail image {
    -webkit-box-shadow: none;
    box-shadow: none; }

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

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

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

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

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

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0.7rem 1rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

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

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  right: 1rem;
  left: auto; }

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

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

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  cursor: pointer; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #032c66 transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
  -ms-transform: scaleY(-1);
  transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

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

.drilldown a {
  padding: 0.7rem 1rem;
  background: #ffffff; }

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

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

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

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

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

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

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

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

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

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

.dropdown.menu > li > a {
  padding: 0.7rem 0.5rem; }

.dropdown.menu > li.is-active > a {
  background: transparent;
  color: #032c66; }

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

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

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

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

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 100px;
  border: 1px solid #cacaca;
  background: rgba(255, 255, 255, 0.6); }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 0.5rem; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

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

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(255, 255, 255, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

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

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

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

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

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

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

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

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

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

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

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

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: hidden; }
  html.is-reveal-open.zf-has-scroll {
    overflow-y: scroll; }
  html.is-reveal-open body {
    overflow-y: hidden; }

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

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

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

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

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

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

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

.top-bar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0.5rem;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #f2f2f2; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }
  @media print, screen and (min-width: 40em) {
    .top-bar {
      -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        margin-left: auto; } }
  @media screen and (max-width: 63.99875em) {
    .top-bar.stacked-for-medium {
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 74.99875em) {
    .top-bar.stacked-for-large {
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%; } }

.top-bar-title {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0; }

.top-bar-left,
.top-bar-right {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto; }

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

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

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

.clearfix::before, .clearfix::after {
  display: table;
  content: ' ';
  -webkit-flex-basis: 0;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1; }

.clearfix::after {
  clear: both; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJfbm9ybWFsaXplLnNjc3MiLCJfc3R5bGUuc2NzcyIsImFwcC5zY3NzIiwidXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCJfaWNvbmljLWZvdW5kYXRpb24uc2NzcyIsInNldHRpbmdzL19zZXR0aW5ncy5zY3NzIiwidXRpbC9fdW5pdC5zY3NzIiwidXRpbC9fbWl4aW5zLnNjc3MiLCJ4eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCJ1dGlsL19jb2xvci5zY3NzIiwidmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiX2dsb2JhbC5zY3NzIiwiZm9ybXMvX3RleHQuc2NzcyIsImZvcm1zL19jaGVja2JveC5zY3NzIiwiZm9ybXMvX2xhYmVsLnNjc3MiLCJmb3Jtcy9faGVscC10ZXh0LnNjc3MiLCJmb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsImZvcm1zL19maWVsZHNldC5zY3NzIiwiZm9ybXMvX3NlbGVjdC5zY3NzIiwiZm9ybXMvX2Vycm9yLnNjc3MiLCJ0eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCJ0eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCJ0eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsInR5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCJ4eS1ncmlkL19jbGFzc2VzLnNjc3MiLCJ4eS1ncmlkL19ncmlkLnNjc3MiLCJ4eS1ncmlkL19jZWxsLnNjc3MiLCJ4eS1ncmlkL19sYXlvdXQuc2NzcyIsInh5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCJ4eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwieHktZ3JpZC9fZnJhbWUuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCJjb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCJjb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsImNvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCJjb21wb25lbnRzL190YWJsZS5zY3NzIiwiY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJjb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCJjb21wb25lbnRzL19jYXJkLnNjc3MiLCJjb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJjb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsImNvbXBvbmVudHMvX29yYml0LnNjc3MiLCJjb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCJ1dGlsL19tYXRoLnNjc3MiLCJjb21wb25lbnRzL190YWJzLnNjc3MiLCJjb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsImNvbXBvbmVudHMvX21lbnUuc2NzcyIsImNvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsImNvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCJjb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsImNvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsImNvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCJjb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCJtb3Rpb24vdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwibW90aW9uL19jbGFzc2VzLnNjc3MiLCJtb3Rpb24vX3NldHRpbmdzLnNjc3MiLCJtb3Rpb24vdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIm1vdGlvbi90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIm1vdGlvbi90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwibW90aW9uL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCJtb3Rpb24vdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCJtb3Rpb24vdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIm1vdGlvbi90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwibW90aW9uL3V0aWwvX2FuaW1hdGlvbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQiw0RUFBNEU7QUFFNUU7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQ05ILHlGQUFZO0FEUVo7RUFDRSxrQkFBaUI7RUFBRSxPQUFPO0VBQzFCLCtCQUE4QjtFQUFFLE9BQU8sRUFDeEM7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUg7RUFDRSxVQUFTLEVBQ1Y7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLGVBQWM7RUFDZCxpQkFBZ0IsRUFDakI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIO0VBQ0UsZ0NBQXVCO0VBQXZCLHdCQUF1QjtFQUFFLE9BQU87RUFDaEMsVUFBUztFQUFFLE9BQU87RUFDbEIsa0JBQWlCO0VBQUUsT0FBTyxFQUMzQjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLGtDQUFpQztFQUFFLE9BQU87RUFDMUMsZUFBYztFQUFFLE9BQU8sRUFDeEI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUg7RUFDRSw4QkFBNkIsRUFDOUI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxvQkFBbUI7RUFBRSxPQUFPO0VBQzVCLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsMENBQWlDO0VBQWpDLGtDQUFpQztFQUFFLE9BQU8sRUFDM0M7O0FBRUQ7O0dBRUc7QUFFSDs7RUFFRSxvQkFBbUIsRUFDcEI7O0FBRUQ7OztHQUdHO0FBRUg7OztFQUdFLGtDQUFpQztFQUFFLE9BQU87RUFDMUMsZUFBYztFQUFFLE9BQU8sRUFDeEI7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RUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsaUJBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZSxFQUNoQjs7QUFFRDtFQUNFLGlCQUFlLEVBQ2hCOztBSmgzQ0Q7O0dBRUc7QUFLc0MsVUFBVTtBQUNULFVBQVU7QUFDWCxV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Z0I7RUFBaEIsaUJBQWdCO0VBQ2hCLDBCYmtEbUI7RWFqRG5CLGlCYjhEZTtFYTdEZiwwQmJtRGE7RWFqRGIscUJiaVp5QjtFYWhaekIsc0JadUR1RDtFWXREdkQsb0JidUQyQjtFYXREM0IsaUJia0NxQjtFYWpDckIsZWI0Q2E7RUVzRWIseU9BQXlOO0VXOUd2TiwrQkFBOEI7RUFDOUIsOENBQTBEO0VBQzFELDZCQUE0QjtFQUM1Qix5QkFBd0I7RUFFeEIsMEJBQXVEO0VBSXZELDRFYjZZOEQ7RWE3WTlELG9FYjZZOEQ7RWE3WTlELDREYjZZOEQ7RWE3WTlELHFGYjZZOEQsRWExVy9EO0VYb0VEO0lJd0NBO01KckNJLHdXQUF1VyxFV3ZFMVcsRUFBQTtFQS9CRDtJQUNFLGNBQWE7SUFDYiwwQmJ3QmU7SWF2QmYsMEJieUJXO0lheEJYLG9DYnFCaUI7SWFyQmpCLDRCYnFCaUI7SWFsQmYsNEVia1k0RDtJYWxZNUQsb0Via1k0RDtJYWxZNUQsNERia1k0RDtJYWxZNUQscUZia1k0RCxFYWhZL0Q7RUFHRDtJQUNFLDBCYldnQjtJYVZoQixvQmIwWCtCLEVhelhoQztFQUdEO0lBQ0UsY0FBYSxFQUNkO0VBRUQ7SUFDRSxhQUFZO0lBQ1osdUJBQXNCLEVBQ3ZCOztBQ2xDRDtFQUNFLHNCZDhCWTtFYzdCWiwwQkFBK0QsRUFLaEU7RUFIQztJQUNFLGVkMEJVLEVjekJYO0VBRkQ7SUFDRSxlZDBCVSxFY3pCWDtFQUZEO0lBQ0UsZWQwQlUsRWN6Qlg7RUFGRDtJQUNFLGVkMEJVLEVjekJYOztBQXlCRDtFQUNFLGVkRFUsRWNFWDs7QUFJSDtFQXpCQSxjQUFhO0VBQ2Isd0JBQWdDO0VBQ2hDLDBCYjhCdUQ7RWE1QnZELHNCYjRCdUQ7RWEzQnZELGtCZDZCdUI7RWM1QnZCLGVkYWMsRWNZYjtFQU5EO0lBSUksZUFBYyxFQUNmOztBQ3lLSDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxVQUFTO0VBQ1QsV0FBVSxFQUNYOztBQUdEO0VBQ0Usb0JmdEgwQjtFZXdIMUIsbUJBQWtCO0VBQ2xCLGtCZjFIdUI7RWUySHZCLG1DZnpIeUMsRWUwSDFDOztBQUdEOztFQUVFLG1CQUFrQjtFQUNsQixxQkFBb0IsRUFDckI7O0FBR0Q7O0VBRUUsa0JmL01xQjtFZWdOckIscUJBQW9CLEVBQ3JCOztBckJ4TEg7RXFCNExJLGVmaEppQjtFZWlKakIscUJBQW9CLEVBQ3JCOztBQUdEOzs7Ozs7RUFNRSx3SmZ0TzZJO0VldU83SSxtQmZwTHNCO0VlcUx0QixvQmZuT3lCO0Vlb096QixlZnBMa0I7RWVxTGxCLG1DZmhLc0MsRWVzS3ZDO0VBaEJEOzs7Ozs7SUFhSSxlQUFjO0lBQ2QsZWZwUGUsRWVxUGhCOztBQVFHO0VBSUksc0JkdlA2QztFY21RN0MsaUJmak5XO0VleU5YLGNBQWE7RUFPYixzQmYvTmlCLEVlaU9wQjs7QUFqQ0Q7RUFJSSxzQmR2UDZDO0VjbVE3QyxpQmZqTlc7RWV5TlgsY0FBYTtFQU9iLHNCZi9OaUIsRWVpT3BCOztBQWpDRDtFQUlJLHNCZHZQNkM7RWNtUTdDLGlCZmpOVztFZXlOWCxjQUFhO0VBT2Isc0JmL05pQixFZWlPcEI7O0FBakNEO0VBSUksc0JkdlA2QztFY21RN0MsaUJmak5XO0VleU5YLGNBQWE7RUFPYixzQmYvTmlCLEVlaU9wQjs7QUFqQ0Q7RUFJSSxzQmR2UDZDO0VjbVE3QyxpQmZqTlc7RWV5TlgsY0FBYTtFQU9iLHNCZi9OaUIsRWVpT3BCOztBQWpDRDtFQUlJLHNCZHZQNkM7RWNtUTdDLGlCZmpOVztFZXlOWCxjQUFhO0VBT2Isc0JmL05pQixFZWlPcEI7O0FsQnRNSDtFa0JxS0U7SUFJSSxzQmR2UDZDLEVjb1JoRDtFQWpDRDtJQUlJLHNCZHZQNkMsRWNvUmhEO0VBakNEO0lBSUksc0JkdlA2QyxFY29SaEQ7RUFqQ0Q7SUFJSSxzQmR2UDZDLEVjb1JoRDtFQWpDRDtJQUlJLHNCZHZQNkMsRWNvUmhEO0VBakNEO0lBSUksc0JkdlA2QyxFY29SaEQsRUFBQTs7QXJCalNUO0VxQndTSSxxQkFBb0I7RUFDcEIsZWY3U2M7RWU4U2Qsc0Jmek15QjtFZTJNekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlZmhOMkQsRWVvTjVEO0VBYkg7SUFnQkksVUFBUyxFQUNWOztBckIvVUw7RXFCb1ZJLFlBQVc7RUFFWCx1QmRsVHFEO0VjbVRyRCxVQUFTO0VBQ1Qsd0JmNU55QjtFZThOekIsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsaUNmbFVpQjtFZW1VakIsZUFBYyxFQUNmOztBQUdEOzs7RUFHRSxvQmZ0UDBCO0VldVAxQiw2QmZyT3lCO0Vlc096QixrQmZ6UHVCLEVlMFB4Qjs7QUFHRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFHRDtFQUNFLHFCZi9Pc0I7RWVnUHRCLHNCZmxQa0IsRWVtUG5COztBQUdEO0VBQ0UscUJmclBzQixFZXNQdkI7O0FBR0Q7RUFFSSxxQmYxUDJCO0VlMlAzQixpQkFBZ0IsRUFDakI7O0FBSUg7RUFDRSxvQmZoUXlCLEVlc1ExQjtFQVBEO0lBSUksc0JmalE4QjtJZWtROUIsa0JmaldtQixFZWtXcEI7O0FBSUg7RUFDRSxpQmYvUjBCO0VlZ1MxQiw0Q2QxV3FEO0VjMldyRCwrQmZyWGlCLEVlMlhsQjtFQVREO0lBTUksa0JmclNxQjtJZXNTckIsZWZ4WGEsRWV5WGQ7O0FBSUg7RUFDRSxlQUFjO0VBQ2Qsc0JkdFhxRDtFY3VYckQsZWZoWWUsRWVxWWhCO0VBUkQ7SUFNSSxjZm5SNkIsRUFBQTs7QWV3UmpDO0VBQ0Usa0NmeFlXO0VleVlYLGFBQVk7RUFDWixzQkFBcUIsRUFDdEI7O0FBR0Q7RUFDRSxVQUFTLEVBQ1Y7O0FBR0Q7RUFDRSwwQ2Q1WXFEO0VjOFlyRCwwQmZ4WmlCO0VleVpqQiwwQmYxWmdCO0VlNFpoQiw2RGZqV21FO0Vla1duRSxvQmZqWnlCO0Vla1p6QixlZjNaVyxFZTRaWjs7QUFHRDtFQUNFLFVBQVM7RUFDVCxpQ2RwWlM7RWNzWlQsMEJmdGFnQjtFZXdhaEIsNkRmN1dtRTtFZThXbkUsZWZ0YVcsRWUyYVo7O0FDNWNEO0VBQ0UsbUJoQitKeUI7RWdCOUp6QixzQmhCK0o0QjtFZ0I3SjVCLG9CaEJzQ3lCO0VnQnJDekIsaUJoQndKc0I7RWdCdkp0QixlaEIwQmUsRWdC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QUZEO0lFbkNBLG9DQURnSCxFRnNDL0c7RUFGRDtJRW5DQSw4QkFEZ0gsRUZzQy9HO0VBRkQ7SUVuQ0Esb0NBRGdILEVGc0MvRztFQUZEO0lFbkNBLG9DQURnSCxFRnNDL0c7RUFGRDtJRW5DQSwrQkFEZ0gsRUZzQy9HO0V0QnVDQztJc0JyREo7TUUvQkUsWUFBbUIsRUZpQ3BCO0lBRUQ7TUUvQkUsWUFBbUIsRUZpQ3BCO0lBTUM7TUVuQ0EsbUNBRGdILEVGc0MvRztJQUZEO01FbkNBLG9DQURnSCxFRnNDL0c7SUFGRDtNRW5DQSw4QkFEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0Esb0NBRGdILEVGc0MvRztJQUZEO01FbkNBLG9DQURnSCxFRnNDL0c7SUFGRDtNRW5DQSw4QkFEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0Esb0NBRGdILEVGc0MvRztJQUZEO01FbkNBLG9DQURnSCxFRnNDL0c7SUFGRDtNRW5DQSw4QkFEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0Esb0NBRGdILEVGc0MvRztJQUZEO01FbkNBLG9DQURnSCxFRnNDL0c7SUFGRDtNRW5DQSwrQkFEZ0gsRUZzQy9HO0lBZEg7TUUvQkUsWUFBbUIsRUZpQ3BCO0lBRUQ7TUUvQkUsWUFBbUIsRUZpQ3BCO0lBTUM7TUVuQ0EsbUNBRGdILEVGc0MvRztJQUZEO01FbkNBLG9DQURnSCxFRnNDL0c7SUFGRDtNRW5DQSw4QkFEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0Esb0NBRGdILEVGc0MvRztJQUZEO01FbkNBLG9DQURnSCxFRnNDL0c7SUFGRDtNRW5DQSw4QkFEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0Esb0NBRGdILEVGc0MvRztJQUZEO01FbkNBLG9DQURnSCxFRnNDL0c7SUFGRDtNRW5DQSw4QkFEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0Esb0NBRGdILEVGc0MvRztJQUZEO01FbkNBLG9DQURnSCxFRnNDL0c7SUFGRDtNRW5DQSwrQkFEZ0gsRUZzQy9HLEVBQUE7RXRCdUNDO0lzQnJESjtNRS9CRSxZQUFtQixFRmlDcEI7SUFFRDtNRS9CRSxZQUFtQixFRmlDcEI7SUFNQztNRW5DQSxtQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0Esb0NBRGdILEVGc0MvRztJQUZEO01FbkNBLDhCQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxvQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0Esb0NBRGdILEVGc0MvRztJQUZEO01FbkNBLDhCQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxvQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0Esb0NBRGdILEVGc0MvRztJQUZEO01FbkNBLDhCQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxvQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0Esb0NBRGdILEVGc0MvRztJQUZEO01FbkNBLCtCQURnSCxFRnNDL0csRUFBQTs7QUE4Q0g7RWhCN0lNLDBCQUE2RDtFQUE3RCx5QkFBNkQsRWdCa0poRTtFdEJaQztJc0JPSjtNaEI3SU0sMEJBQTZEO01BQTdELHlCQUE2RCxFZ0JrSmhFLEVBQUE7O0FBSUQ7RWhCdEpJLDBCQUE2RDtFQUE3RCx5QkFBNkQsRWdCd0poRTtFdEJsQkM7SXNCZ0JGO01oQnRKSSwwQkFBNkQ7TUFBN0QseUJBQTZELEVnQndKaEUsRUFBQTs7QUFYSDtFaEI3SU0sMEJBQTZEO0VBQTdELHlCQUE2RCxFZ0I2SmhFO0V0QnZCQztJc0JPSjtNaEI3SU0sMEJBQTZEO01BQTdELHlCQUE2RCxFZ0I2SmhFLEVBQUE7O0FHL0pIO0VENERFLFlBRG9ELEVDekRyRDs7QUFGRDtFRDRERSxXQURvRCxFQ3pEckQ7O0FBRkQ7RUQ0REUsaUJBRG9ELEVDekRyRDs7QUFGRDtFRDRERSxXQURvRCxFQ3pEckQ7O0FBRkQ7RUQ0REUsV0FEb0QsRUN6RHJEOztBQUZEO0VENERFLGlCQURvRCxFQ3pEckQ7O0FBRkQ7RUQ0REUsaUJBRG9ELEVDekRyRDs7QUFGRDtFRDRERSxhQURvRCxFQ3pEckQ7O0F6QnNJRztFeUJ4SUo7SUQ0REUsWUFEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsV0FEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsaUJBRG9ELEVDekRyRDtFQUZEO0lENERFLFdBRG9ELEVDekRyRDtFQUZEO0lENERFLFdBRG9ELEVDekRyRDtFQUZEO0lENERFLGlCQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxpQkFEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsYUFEb0QsRUN6RHJELEVBQUE7O0F6QnNJRztFeUJ4SUo7SUQ0REUsWUFEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsV0FEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsaUJBRG9ELEVDekRyRDtFQUZEO0lENERFLFdBRG9ELEVDekRyRDtFQUZEO0lENERFLFdBRG9ELEVDekRyRDtFQUZEO0lENERFLGlCQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxpQkFEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsYUFEb0QsRUN6RHJELEVBQUE7O0FBRkQ7RUQ0REUsK0JBRGdILEVDekRqSDs7QUFGRDtFRDRERSw4QkFEZ0gsRUN6RGpIOztBQUZEO0VENERFLG9DQURnSCxFQ3pEakg7O0FBRkQ7RUQ0REUsOEJBRGdILEVDekRqSDs7QUFGRDtFRDRERSw4QkFEZ0gsRUN6RGpIOztBQUZEO0VENERFLG9DQURnSCxFQ3pEakg7O0FBRkQ7RUQ0REUsb0NBRGdILEVDekRqSDs7QUFGRDtFRDRERSxnQ0FEZ0gsRUN6RGpIOztBekJzSUc7RXlCeElKO0lENERFLCtCQURnSCxFQ3pEakg7RUFGRDtJRDRERSw4QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsb0NBRGdILEVDekRqSDtFQUZEO0lENERFLDhCQURnSCxFQ3pEakg7RUFGRDtJRDRERSw4QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsb0NBRGdILEVDekRqSDtFQUZEO0lENERFLG9DQURnSCxFQ3pEakg7RUFGRDtJRDRERSxnQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsK0JBRGdILEVDekRqSDtFQUZEO0lENERFLDhCQURnSCxFQ3pEakg7RUFGRDtJRDRERSxvQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsOEJBRGdILEVDekRqSDtFQUZEO0lENERFLDhCQURnSCxFQ3pEakg7RUFGRDtJRDRERSxvQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsb0NBRGdILEVDekRqSDtFQUZEO0lENERFLGdDQURnSCxFQ3pEakgsRUFBQTs7QXpCc0lHO0V5QnhJSjtJRDRERSwrQkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsOEJBRGdILEVDekRqSDtFQUZEO0lENERFLG9DQURnSCxFQ3pEakg7RUFGRDtJRDRERSw4QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsOEJBRGdILEVDekRqSDtFQUZEO0lENERFLG9DQURnSCxFQ3pEakg7RUFGRDtJRDRERSxvQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsZ0NBRGdILEVDekRqSCxFQUFBOztBSHlNRztFSWhORSxnQkFBMEI7RUFBMUIsZUFBMEIsRUprTjNCO0VJL01EO0lBRUksZ0JBQTBCO0lBQTFCLGVBQTBCLEVBRTdCO0VBb0JLO0lGc0NSLGdCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsWUFEb0QsRUVuQzNDO0UxQmdIUDtJMEJsSE07TUZzQ1IsZ0JBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixXQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLFdBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsV0FEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtN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LGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFlBRG9ELEVFNUMzQyxFQUFBOztBMUJ5SFA7RTBCM0hNO0lGK0NSLGdCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsWUFEb0QsRUU1QzNDLEVBQUE7O0ExQnlIUDtFMEJsSE07SUZzQ1IsZ0JBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixZQURvRCxFRW5DM0MsRUFBQTs7QTFCZ0hQO0VzQnlFQTtJSS9LRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUppTDNCO0lJOUtEO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBSnNMRDtFS2hPRixnQkFBNkIsRUxrTzFCOztBQUVEO0VLcE9GLG1DQUE2QixFTHNPMUI7O0FBTkQ7RUtoT0Ysc0JBQTZCLEVMa08xQjs7QUFFRDtFS3BPRix5Q0FBNkIsRUxzTzFCOztBQU5EO0VLaE9GLHVCQUE2QixFTGtPMUI7O0FBRUQ7RUtwT0YsMENBQTZCLEVMc08xQjs7QUFORDtFS2hPRixpQkFBNkIsRUxrTzFCOztBQUVEO0VLcE9GLG9DQUE2QixFTHNPMUI7O0FBTkQ7RUtoT0YsdUJBQTZCLEVMa08xQjs7QUFFRDtFS3BPRiwwQ0FBNkIsRUxzTzFCOztBQU5EO0VLaE9GLHVCQUE2QixFTGtPMUI7O0FBRUQ7RUtwT0YsMENBQTZCLEVMc08xQjs7QUFORDtFS2hPRixpQkFBNkIsRUxrTzFCOztBQUVEO0VLcE9GLG9DQUE2QixFTHNPMUI7O0FBTkQ7RUtoT0YsdUJBQTZCLEVMa08xQjs7QUFFRDtFS3BPRiwwQ0FBNkIsRUxzTzFCOztBQU5EO0VLaE9GLHVCQUE2QixFTGtPMUI7O0FBRUQ7RUtwT0YsMENBQTZCLEVMc08xQjs7QUFORDtFS2hPRixpQkFBNkIsRUxrTzFCOztBQUVEO0VLcE9GLG9DQUE2QixFTHNPMUI7O0FBTkQ7RUtoT0YsdUJBQTZCLEVMa08xQjs7QUFFRDtFS3BPRiwwQ0FBNkIsRUxzTzFCOztBQU5EO0VLaE9GLHVCQUE2QixFTGtPMUI7O0FBRUQ7RUtwT0YsMENBQTZCLEVMc08xQjs7QXRCN0ZEO0VzQnVGQTtJS2hPRixnQkFBNkIsRUxrTzFCO0VBRUQ7SUtwT0YsbUNBQTZCLEVMc08xQjtFQU5EO0lLaE9GLHNCQUE2QixFTGtPMUI7RUFFRDtJS3BPRix5Q0FBNkIsRUxzTzFCO0VBTkQ7SUtoT0YsdUJBQTZCLEVMa08xQjtFQUVEO0lLcE9GLDBDQUE2QixFTHNPMUI7RUFORDtJS2hPRixpQkFBNkIsRUxrTzFCO0VBRUQ7SUtwT0Ysb0NBQTZCLEVMc08xQjtFQU5EO0lLaE9GLHVCQUE2QixFTGtPMUI7RUFFRDtJS3BPRiwwQ0FBNkIsRUxzTzFCO0VBTkQ7SUtoT0YsdUJBQTZCLEVMa08xQjtFQUVEO0lLcE9GLDBDQUE2QixFTHNPMUI7RUFORDtJS2hPRixpQkFBNkIsRUxrTzFCO0VBRUQ7SUtwT0Ysb0NBQTZCLEVMc08xQjtFQU5EO0lLaE9GLHVCQUE2QixFTGtPMUI7RUFFRDtJS3BPRiwwQ0FBNkIsRUxzTzFCO0VBTkQ7SUtoT0YsdUJBQTZCLEVMa08xQjtFQUVEO0lLcE9GLDBDQUE2QixFTHNPMUI7RUFORDtJS2hPRixpQkFBNkIsRUxrTzFCO0VBRUQ7SUtwT0Ysb0NBQTZCLEVMc08xQjtFQU5EO0lLaE9GLHVCQUE2QixFTGtPMUI7RUFFRDtJS3BPRiwwQ0FBNkIsRUxzTzFCO0VBTkQ7SUtoT0YsdUJBQTZCLEVMa08xQjtFQUVEO0lLcE9GLDBDQUE2QixFTHNPMUIsRUFBQTs7QXRCN0ZEO0VzQnVGQTtJS2hPRixnQkFBNkIsRUxrTzFCO0VBRUQ7SUtwT0YsbUNBQTZCLEVMc08xQjtFQU5EO0lLaE9GLHNCQUE2QixFTGtPMUI7RUFFRDtJS3BPRix5Q0FBNkIsRUxzTzFCO0VBTkQ7SUtoT0YsdUJBQTZCLEVMa08xQjtFQUVEO0lLcE9GLDBDQUE2QixFTHNPMUI7RUFORDtJS2hPRixpQkFBNkIsRUxrTzFCO0VBRUQ7SUtwT0Ysb0NBQTZCLEVMc08xQjtFQU5EO0lLaE9GLHVCQUE2QixFTGtPMUI7RUFFRDtJS3BPRiwwQ0FBNkIsRUxzTzFCO0VBTkQ7SUtoT0YsdUJBQTZCLEVMa08xQjtFQUVEO0lLcE9GLDBDQUE2QixFTHNPMUI7RUFORDtJS2hPRixpQkFBNkIsRUxrTzFCO0VBRUQ7SUtwT0Ysb0NBQTZCLEVMc08xQjtFQU5EO0lLaE9GLHVCQUE2QixFTGtPMUI7RUFFRDtJS3BPRiwwQ0FBNkIsRUxzTzFCO0VBTkQ7SUtoT0YsdUJBQTZCLEVMa08xQjtFQUVEO0lLcE9GLDBDQUE2QixFTHNPMUI7RUFORDtJS2hPRixpQkFBNkIsRUxrTzFCO0VBRUQ7SUtwT0Ysb0NBQTZCLEVMc08xQjtFQU5EO0lLaE9GLHVCQUE2QixFTGtPMUI7RUFFRDtJS3BPRiwwQ0FBNkIsRUxzTzFCO0VBTkQ7SUtoT0YsdUJBQTZCLEVMa08xQjtFQUVEO0lLcE9GLDBDQUE2QixFTHNPMUIsRUFBQTs7QUF6SlM7RUN6RWQscUJB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RWdCNlQ5RDtFdEJ2TEQ7SXNCOEtGO01oQnBUSSx3QkFBNkQ7TUFBN0QsMkJBQTZELEVnQjZUOUQsRUFBQTs7QUFwTkw7RWhCekdNLHdCQUE2RDtFQUE3RCwyQkFBNkQsRWdCd0lsRTtFdEJGRztJc0I3Qko7TWhCekdNLHdCQUE2RDtNQUE3RCwyQkFBNkQsRWdCd0lsRSxFQUFBO0VBL0JEO0lFMURFLGdDQUQ0RTtJbEJyQzFFLHVCQUE2RDtJQUE3RCwwQkFBNkQsRWdCc0c5RDtFdEJ1QkM7SXNCN0JKO01FMURFLGdDQUQ0RTtNbEJyQzFFLHVCQUE2RDtNQUE3RCwwQkFBNkQsRWdCNkcxRCxFQUFBO0VBckNQO0lFL0JFLGFBQW1CLEVGaUNwQjtFQUVEO0lFL0JFLGFBQW1CLEVGaUNwQjtFQU1DO0lFbkNBLG9DQURnSCxFRnNDL0c7RUFGRDtJRW5DQSxxQ0FEZ0gsRUZzQy9HO0VBRkQ7SUVuQ0EsK0JBRGdILEVGc0MvRztFQUZEO0lFbkNBLHFDQURnSCxFRnNDL0c7RUFGRDtJRW5DQSxxQ0FEZ0gsRUZzQy9HO0VBRkQ7SUVuQ0EsK0JBRGdILEVGc0MvRztFQUZEO0lFbkNBLHFDQURnSCxFRnNDL0c7RUFGRDtJRW5DQSxxQ0FEZ0gsRUZzQy9HO0VBRkQ7SUVuQ0EsK0JBRGdILEVGc0MvRztFQUZEO0lFbkNBLHFDQURnSCxFRnNDL0c7RUFGRDtJRW5DQSxxQ0FEZ0gsRUZzQy9HO0VBRkQ7SUVuQ0EsZ0NBRGdILEVGc0MvRztFdEJ1Q0M7SXNCckRKO01FL0JFLGFBQW1CLEVGaUNwQjtJQUVEO01FL0JFLGFBQW1CLEVGaUNwQjtJQU1DO01FbkNBLG9DQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxxQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0EsK0JBRGdILEVGc0MvRztJQUZEO01FbkNBLHFDQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxxQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0EsK0JBRGdILEVGc0MvRztJQUZEO01FbkNBLHFDQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxxQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0EsK0JB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SCxFRnNDL0c7SUFGRDtNRW5DQSxxQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0EscUNBRGdILEVGc0MvRztJQUZEO01FbkNBLCtCQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxxQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0EscUNBRGdILEVGc0MvRztJQUZEO01FbkNBLCtCQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxxQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0EscUNBRGdILEVGc0MvRztJQUZEO01FbkNBLGdDQURnSCxFRnNDL0c7SUFkSDtNRS9CRSxhQUFtQixFRmlDcEI7SUFFRDtNRS9CRSxhQUFtQixFRmlDcEI7SUFNQztNRW5DQSxvQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0EscUNBRGdILEVGc0MvRztJQUZEO01FbkNBLCtCQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxxQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0EscUNBRGdILEVGc0MvRztJQUZEO01FbkNBLCtCQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxxQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0EscUNBRGdILEVGc0MvRztJQUZEO01FbkNBLCtCQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxxQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0EscUNBRGdILEVGc0MvRztJQUZEO01FbkNBLGdDQURnSCxFRnNDL0csRUFBQTtFdEJ1Q0M7SXNCckRKO01FL0JFLGFBQW1CLEVGaUNwQjtJQUVEO01FL0JFLGFBQW1CLEVGaUNwQjtJQU1DO01FbkNBLG9DQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxxQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0EsK0JBRGdILEVGc0MvRztJQUZEO01FbkNBLHFDQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxxQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0EsK0JBRGdILEVGc0MvRztJQUZEO01FbkNBLHFDQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxxQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0EsK0JBRGdILEVGc0MvRztJQUZEO01FbkNBLHFDQURnSCxFRnNDL0c7SUFGRDtNRW5DQSxxQ0FEZ0gsRUZzQy9HO0lBRkQ7TUVuQ0EsZ0NBRGdILEVGc0MvRyxFQUFBOztBQW1URDtFTS9ZSSxpQ0FBbUMsRU5pWnRDO0V0QjlRQztJc0I0UUY7TU0vWUksaUNBQW1DLEVOaVp0QyxFQUFBO0V0QjlRQztJc0I0UUY7TU0vWUksaUNBQW1DLEVOaVp0QyxFQUFBOztBdEI5UUM7RXNCZ1JBO0lNblpFLGlDQUFtQyxFTnFacEMsRUFBQTs7QXRCbFJEO0VzQmdSQTtJTW5aRSxpQ0FBbUMsRU5xWnBDLEVBQUE7O0FPL0tMO0VBaExBLHNCQUFxQjtFQUNyQix1QkFBc0I7RUFDdEIsbUIxQmdNa0M7RTBCdExoQyxvQjFCcUx1QjtFMEJsTHpCLDhCQUE2QjtFQUM3QixpQjFCZGU7RTBCZWYsNEIxQm1NeUI7RTBCbk16QixvQjFCbU15QjtFMEJsTXpCLHFCMUI4SzBCO0UwQjdLMUIsa0IxQjBMZTtFMEJ6TGYseUJBQXdCO0VBQ3hCLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsZ0JBQWU7RUFxQ2YsMEIxQjlFZ0I7RTBCK0VoQixlMUJyRWEsRTBCbVVaO0VqQ3d1T0Q7SVNsN09FLFdBQVUsRUFDWDtFd0JuREQ7SUFDRSwwQjFCcUl1RTtJMEJwSXZFLGUxQnpFVyxFMEIwRVo7RUE4R0Q7SUFNTSxrQjFCcUJNLEUwQnBCUDtFQVBMO0lBTU0sbUIxQnNCUSxFMEJyQlQ7RUFQTDtJQU1NLG1CMUJ3QlEsRTBCdkJUO0VBUEw7SUFsSkUsZUFBYztJQUNkLFlBQVc7SUFDWCxnQkFBZTtJQUNmLGVBQWMsRUF5SnlCO0VBVnpDO0lBcEhBLDBCMUI5RWdCO0kwQitFaEIsZTFCckVhLEUwQmdPTjtJQXpKUDtNQUNFLDBCQVBvRjtNQVFwRixlMUJ6RVcsRTBCMEVaO0VBOEdEO0lBcEhBLDBCMUI3RWtCO0kwQjhFbEIsZTFCckVhLEUwQmdPTjtJQXpKUDtNQUNFLDBCQVBvRjtNQVFwRixlMUJ6RVcsRTBCMEVaO0VBOEdEO0lBcEhBLDBCMUI1RWdCO0kwQjZFaEIsZTFCdEVhLEUwQmlPTjtJQXpKUDtNQUNFLDBCQVBvRjtNQVFwRixlMUIxRVcsRTBCMkVaO0VBOEdEO0lBcEhBLDBCMUIzRWdCO0kwQjRFaEIsZTFCdEVhLEUwQmlPTjtJQXpKUDtNQUNFLDBCQVBvRjtNQVFwRixlMUIxRVcsRTBCMkVaO0VBOEdEO0lBcEhBLDBCMUIxRWM7STBCMkVkLGUxQnRFYSxFMEJpT047SUF6SlA7TUFDRSwwQkFQb0Y7TUFRcEYsZTFCMUVXLEUwQjJFWjtFQThHRDtJQTFEQSxjMUIyRjRCO0kwQjFGNUIsb0JBQW1CLEVBd0hoQjtJQXRISDtNQUNFLDBCMUI1SWM7TTBCNklkLGUxQm5JVyxFMEJvSVo7SUFvREQ7TUExREEsYzFCMkY0QjtNMEIxRjVCLG9CQUFtQixFQXNIWjtNQXBIUDtRQUNFLDBCMUI1SWM7UTBCNklkLGUxQm5JVyxFMEJvSVo7SUFvREQ7TUExREEsYzFCMkY0QjtNMEIxRjVCLG9CQUFtQixFQXNIWjtNQXBIUDtRQUNFLDBCMUIzSWdCO1EwQjRJaEIsZTFCbklXLEUwQm9JWjtJQW9ERDtNQTFEQSxjMUIyRjRCO00wQjFGNUIsb0JBQW1CLEVBc0haO01BcEhQO1FBQ0UsMEIxQjFJYztRMEIySWQsZTFCcElXLEUwQnFJWjtJQW9ERDtNQTFEQSxjMUIyRjRCO00wQjFGNUIsb0JBQW1CLEVBc0haO01BcEhQO1FBQ0UsMEIxQnpJYztRMEIwSWQsZTFCcElXLEUwQnFJWjtJQW9ERDtNQTFEQSxjMUIyRjRCO00wQjFGNUIsb0JBQW1CLEVBc0haO01BcEhQO1FBQ0UsMEIxQnhJWTtRMEJ5SVosZTFCcElXLEUwQnFJWjtFQW9ERDtJQW5GQSwwQjFCL0dnQjtJMEJnSGhCLGUxQmhIZ0IsRTBCOFFYO0lBckxMO01BR0UsOEJBQTZCLEVBQzlCO0lBSUM7TUFFRSw4QkFBNkIsRUFDOUI7SUFjSDtNQUNFLHNCQU42RDtNQU83RCxlQVA2RCxFQWE5RDtNQUxDO1FBRUUsMEIxQnZIWTtRMEJ3SFosZTFCeEhZLEUwQnlIYjtJQXlFSDtNQW5GQSwwQjFCL0dnQjtNMEJnSGhCLGUxQmhIZ0IsRTBCNFFQO01BMUpUO1FBQ0Usc0JBTjZEO1FBTzdELGVBUDZELEVBYTlEO1FBTEM7VUFFRSwwQjFCdkhZO1UwQndIWixlMUJ4SFksRTBCeUhiO0lBeUVIO01BbkZBLDBCMUI5R2tCO00wQitHbEIsZTFCL0drQixFMEIyUVQ7TUExSlQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCMUJ0SGM7VTBCdUhkLGUxQnZIYyxFMEJ3SGY7SUF5RUg7TUFuRkEsMEIxQjdHZ0I7TTBCOEdoQixlMUI5R2dCLEUwQjBRUDtNQTFKVDtRQUNFLHNCQU42RDtRQU83RCxlQVA2RCxFQWE5RDtRQUxDO1VBRUUsMEIxQnJIWTtVMEJzSFosZTFCdEhZLEUwQnVIYjtJQXlFSDtNQW5GQSwwQjFCNUdnQjtNMEI2R2hCLGUxQjdHZ0IsRTBCeVFQO01BMUpUO1FBQ0Usc0JBTjZEO1FBTzdELGVBUDZELEVBYTlEO1FBTEM7VUFFRSwwQjFCcEhZO1UwQnFIWixlMUJySFksRTBCc0hiO0lBeUVIO01BbkZBLDBCMUIzR2M7TTBCNEdkLGUxQjVHYyxFMEJ3UUw7TUExSlQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCMUJuSFU7VTBCb0hWLGUxQnBIVSxFMEJxSFg7RUF5RUg7SUFuRkEsMEIxQi9HZ0I7STBCZ0hoQixlMUJoSGdCLEUwQjJTWDtJQWxOTDtNQUdFLDhCQUE2QixFQUM5QjtJQUlDO01BRUUsOEJBQTZCLEVBQzlCO0lBY0g7TUFDRSxzQkFONkQ7TUFPN0QsZUFQNkQsRUFhOUQ7TUFMQztRQUVFLDBCMUJ2SFk7UTBCd0haLGUxQnhIWSxFMEJ5SGI7SUF5RUg7TUF1RlUsMEJBQXlCLEVBQzFCO0lBeEZUO01BbkZBLDBCMUIvR2dCO00wQmdIaEIsZTFCaEhnQixFMEJ5U1A7TUF2TFQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCMUJ2SFk7VTBCd0haLGUxQnhIWSxFMEJ5SGI7TUF5RUg7UUFvR2MsMEJBQXlCLEVBQzFCO0lBckdiO01BbkZBLDBCMUI5R2tCO00wQitHbEIsZTFCL0drQixFMEJ3U1Q7TUF2TFQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCMUJ0SGM7VTBCdUhkLGUxQnZIYyxFMEJ3SGY7TUF5RUg7UUFvR2MsMEJBQXlCLEVBQzFCO0lBckdiO01BbkZBLDBCMUI3R2dCO00wQjhHaEIsZTFCOUdnQixFMEJ1U1A7TUF2TFQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCMUJySFk7VTBCc0haLGUxQnRIWSxFMEJ1SGI7TUF5RUg7UUFvR2MsMEJBQXlCLEVBQzFCO0lBckdiO01BbkZBLDBCMUI1R2dCO00wQjZHaEIsZTFCN0dnQixFMEJzU1A7TUF2TFQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCMUJwSFk7VTBCcUhaLGUxQnJIWSxFMEJzSGI7TUF5RUg7UUFvR2MsMEJBQXlCLEVBQzFCO0lBckdiO01BbkZBLDBCMUIzR2M7TTBCNEdkLGUxQjVHYyxFMEJxU0w7TUF2TFQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCMUJuSFU7VTBCb0hWLGUxQnBIVSxFMEJxSFg7TUF5RUg7UUFvR2MsMEJBQXlCLEVBQzFCO0VBN0liO0l4QnZMQSxlQUFjO0lBQ2QsU0FBUTtJQUNSLFVBQVM7SUFFVCxvQndCK0tZO0l4QjdLWixZQUFXO0lBR1QsdUJBQXNCO0lBQ3RCLHdCQUF1QjtJQUN2Qiw4Q0FBcUQ7SXdCOEtyRCxtQkFBa0I7SUFDbEIsV0FBVTtJQUVWLHNCQUFxQjtJQUNyQixhQUFPO0lBQ1AsaUIxQmtEdUIsRTBCakR4QjtFQWdDRDtJQXdIUSwwQjFCMVRRLEUwQjJUVDtFQXpIUDtJQThIWSwwQjFCaFVJLEUwQmlVTDtFQS9IWDtJQThIWSwwQjFCL1RNLEUwQmdVUDtFQS9IWDtJQThIWSwwQjFCOVRJLEUwQitUTDtFQS9IWDtJQThIWSwwQjFCN1RJLEUwQjhUTDtFQS9IWDtJQThIWSwwQjFCNVRFLEUwQjZUSDtFQS9IWDtJQXVJSSxZQUFXO0lBQ1gsWUFBVztJQUNYLGVBQWdDLEVBQ2pDOztBQUdIO0VBR0ksc0JBQXFCLEVBQ3RCOztBQ3JOSDtFQWpLQSxvQjNCK1F1QjtFMkI1UXJCLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwwQkFBaUI7RUFBakIsc0JBQWlCO0VBQWpCLGtCQUFpQjtFQUNqQiwyQkFBb0I7RUFBcEIsNkJBQW9CO0VBQXBCLHdCQUFvQjtFQUFwQixxQkFBb0IsRUFxT3JCO0V6QnJHRDtJQUVFLGVBQWM7SUFDZCxhQUFZO0lBR1Ysc0JBQWE7SUFBYiwyQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFBUTtJQUFSLGlCQUFRO0lBQVIsa0JBQVE7SUFBUixTQUFRLEVBRVg7RUFFRDtJQUNFLFlBQVcsRUFDWjtFeUJ2SUQ7SUFDRSxVQUFTO0lBQ1Qsa0IzQm1RcUI7STJCbFFyQixtQjNCa1FxQjtJMkJqUXJCLGtCM0JtUGE7STJCaFBYLG9CQUFjO0lBQWQsdUJBQWM7SUFBZCxtQkFBYztJQUFkLGVBQWMsRUFxQmpCO0lBbEJDO01BQ0UsZ0JBQWlDLEVBQ2xDO0VBMElIO0lBTU0sa0IzQnlGTSxFMkJ4RlA7RUFQTDtJQU1NLG1CM0IwRlEsRTJCekZUO0VBUEw7SUFNTSxtQjNCNEZRLEUyQjNGVDtFQTdHTDtJQUVJLG9CQUFhO0lBQWIsc0JBQWE7SUFBYixrQkFBYTtJQUFiLGNBQWEsRUF5QmhCO0VBMkVEO0lEaERBLDBCMUI5RWdCO0kwQitFaEIsZTFCckVhLEUyQndJTjtJRGpFUDtNQUNFLDBCQVBvRjtNQVFwRixlMUJ6RVcsRTBCMEVaO0VDMENEO0lEaERBLDBCMUI3RWtCO0kwQjhFbEIsZTFCckVhLEUyQndJTjtJRGpFUDtNQUNFLDBCQVBvRjtNQVFwRixlMUJ6RVcsRTBCMEVaO0VDMENEO0lEaERBLDBCMUI1RWdCO0kwQjZFaEIsZTFCdEVhLEUyQnlJTjtJRGpFUDtNQUNFLDBCQVBvRjtNQVFwRixlMUIxRVcsRTBCMkVaO0VDMENEO0lEaERBLDBCMUIzRWdCO0kwQjRFaEIsZTFCdEVhLEUyQnlJTjtJRGpFUDtNQUNFLDBCQVBvRjtNQVFwRixlMUIxRVcsRTBCMkVaO0VDMENEO0lEaERBLDBCMUIxRWM7STBCMkVkLGUxQnRFYSxFMkJ5SU47SURqRVA7TUFDRSwwQkFQb0Y7TUFRcEYsZTFCMUVXLEUwQjJFWjtFQzBDRDtJQWxFRSx3QkFBZTtJQUFmLG9CQUFlO0lBQWYsZ0JBQWUsRUF3R2Q7SUFyR0g7TUFFSSxvQkFBYztNQUFkLHVCQUFjO01BQWQsbUJBQWM7TUFBZCxlQUFjLEVBMEJqQjtNQXBCQztRQUNFLGlCQUFnQixFQUNqQjtJQWpESDtNQUVJLG9CQUFhO01BQWIsc0JBQWE7TUFBYixrQkFBYTtNQUFiLGNBQWEsRUF5QmhCO0U5QjRDRztJOEJJSjtNQUVJLG9CQUFjO01BQWQsdUJBQWM7TUFBZCxtQkFBYztNQUFkLGVBQWM7TUFLaEIsaUJBQWdCLEVBZ0JqQixFQUFBO0U5QjNCRztJOEJJSjtNQUVJLG9CQUFjO01BQWQsdUJBQWM7TUFBZCxtQkFBYztNQUFkLGVBQWM7TUFLaEIsaUJBQWdCLEVBZ0JqQixFQUFBO0U5QnRCRztJOEIwQko7TUFzRE0sZUFBYyxFQU9qQjtNQTdESDtRQXlEUSxlQUFjO1FBQ2QsZ0JBQWlDLEVBQ2xDLEVBQUE7RTlCckZIO0k4QjBCSjtNQWlFTSxlQUFjLEVBT2pCO01BeEVIO1FBb0VRLGVBQWM7UUFDZCxnQkFBaUMsRUFDbEMsRUFBQTs7QUM1S1A7RUFYQSxtQkFBa0I7RUFDbEIsZTVCTmlCO0U0Qk9qQixnQkFBZSxFQWNkO0VuQ3UyUEQ7SVNqd1BFLFdBQVUsRUFDWDtFMEJuSEQ7SUFFRSxlNUJWVyxFNEJXWjtFQUlEO0lBdkJBLGU1QitRYztJNEI5UWQsWTVCa1JhO0k0QmpSYixpQjVCcVJZO0k0QnBSWixlNUJ1UndCLEU0QmhRd0I7RUFIaEQ7SUF2QkEsWTVCZ1JZO0k0Qi9RWixZNUJtUmM7STRCbFJkLGU1QnNSVztJNEJyUlgsZTVCdVJ3QixFNEIvUDZCOztBQ2pEckQ7RUFaQSxzQkFBcUI7RUFDckIsMkI3Qm9hK0I7RTZCbGEvQixpQjdCa0RlO0U2QmhEZixrQjdCK1pzQjtFNkI5WnRCLGVBQWM7RUFDZCxvQkFBbUI7RUFDbkIsZ0JBQWU7RUFPYixvQjdCa0JjO0U2QmpCZCxlN0IyQlcsRTZCbkJaO0VBWkQ7SUFRTSxvQjdCYVU7STZCWlYsZTdCc0JPLEU2QnJCUjtFQVZMO0lBUU0sb0I3QmNZO0k2QmJaLGU3QnNCTyxFNkJyQlI7RUFWTDtJQVFNLG9CN0JlVTtJNkJkVixlN0JxQk8sRTZCcEJSO0VBVkw7SUFRTSxvQjdCZ0JVO0k2QmZWLGU3QnFCTyxFNkJwQlI7RUFWTDtJQVFNLG9CN0JpQlE7STZCaEJSLGU3QnFCTyxFNkJwQlI7O0FDbEJMO0VBcENBLGE5QmtpQm9CO0U4QmppQnBCLG9COUIrRWtCO0U4QjlFbEIsaUI5Qm1GZTtFOEJsRmYsMEI5QnFFbUIsRThCMUJsQjtFQVZEO0lBTVEsMEI5QnVCUSxFOEJ0QlQ7RUFQUDtJQU1RLDBCOUJ3QlUsRThCdkJYO0VBUFA7SUFNUSwwQjlCeUJRLEU4QnhCVDtFQVBQO0lBTVEsMEI5QjBCUSxFOEJ6QlQ7RUFQUDtJQU1RLDBCOUIyQk0sRThCMUJQOztBQU1QO0VBekNBLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2QsVUFBUztFQUNULGFBQVk7RUFDWiwwQjlCcURnQixFOEJkZjs7QUFHRDtFNUI2TEEsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixVQUFTO0VBQ1QseUNBQWdDO0VBQWhDLHFDQUFnQztFQUFoQyxpQ0FBZ0M7RTRCaE9oQyxtQkFBa0I7RUFDbEIsVUFBUztFQUNULG1CQUFrQjtFQUNsQixrQkFBaUI7RUFDakIsZTlCaURhO0U4QmhEYixvQkFBbUIsRUE2QmxCOztBQzJDRDtFQXBGQSxtQkFBa0I7RUFDbEIsZS9CbXRCb0I7RStCbHRCcEIsb0JBQW1CO0VBQ25CLHVCQUFzQjtFQUV0QiwwQi9CbURrQjtFK0JsRGxCLGdCQUFlO0VBQ2YsMEJBQWlCO0VBQWpCLHVCQUFpQjtFQUFqQixzQkFBaUI7RUFBakIsa0JBQWlCO0VBQ2pCLHVCQUFrQjtFQUFsQixtQkFBa0IsRUE4RWpCOztBQUdEO0VBNUVBLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztFQUVQLHNCQUFxQjtFQUNyQixnQkFBZTtFQUNmLGUvQmlzQm9CO0UrQi9yQnBCLDBCL0JvQ21CO0UrQm5DbkIseUMvQjZyQnNDO0UrQjdyQnRDLGlDL0I2ckJzQyxFK0J4bkJyQztFQW5FRDtJQUNFLGtDQUF5QjtJQUF6QiwwQkFBeUIsRUFDMUI7O0FBb0VEO0U3QnNIQSxtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLG9DQUEyQjtFQUEzQixnQ0FBMkI7RUFBM0IsNEJBQTJCO0U2QnJMM0IsUUFBTztFQUNQLFdBQVU7RUFFVixzQkFBcUI7RUFDckIsYy9CbXJCMEI7RStCbHJCMUIsZS9CaXJCMkI7RStCL3FCM0IsaUIvQjhCZTtFK0I3QmYsMEIvQlNnQjtFK0JSaEIseUMvQnlxQnNDO0UrQnpxQnRDLGlDL0J5cUJzQztFK0J4cUJ0QywrQkFBMEI7RUFBMUIsMkJBQTBCLEVBcUR6QjtFdENxOFBEO0lTaDNQRSxXQUFVLEVBQ1g7RTZCeklEO0lBQ0UsMEJBQTBFLEVBQzNFO0VBRUQ7SUFDRSxrQ0FBeUI7SUFBekIsMEJBQXlCLEVBQzFCOztBQWdERDs7RUE1Q0EsYy9CbXFCNEI7RStCbHFCNUIsb0JBQW1CLEVBOENsQjs7QUFHRDtFQTdDQSxzQkFBcUI7RUFDckIsYy9CcXBCNEI7RStCcHBCNUIsZ0JBQWU7RUFDZixrQkFBaUI7RUFDakIsZ0NBQXVCO0VBQXZCLDRCQUF1QjtFQUF2Qix3QkFBdUIsRUEyQ3RCO0VBekNEO0lBQ0UsT0FBTTtJQUNOLGMvQjhvQjBCO0krQjdvQjFCLGlCQUFnQixFQUNqQjtFQUVEO0lBQ0UsbUJBQWtCO0lBQ2xCLE9BQU07SUFDTixVQUFTO0lBQ1QsYy9CMm9CeUI7SStCMW9CekIsZS9CMm9Cd0I7SStCMW9CeEIsb0NBQTJCO0lBQTNCLGdDQUEyQjtJQUEzQiw0QkFBMkIsRUFDNUI7O0FDc0dEO0VBQ0UsYWhDNGlCZ0I7RWdDenJCbEIsbUJBQWtCO0VBQ2xCLG9CaEN1QmtCO0VnQ3RCbEIsV0FBVTtFQUdWLGdCL0JxQnVEO0UrQnBCdkQsa0JBQWlCO0VBQ2pCLGVoQ1lhO0VnQ1ZiLDBCQUFpQjtFQUFqQix1QkFBaUI7RUFBakIsc0JBQWlCO0VBQWpCLGtCQUFpQixFQXNJaEI7O0FBR0Q7RUFwSUEsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixXQUFVLEVBb0lUOztBQUdEO0VBN0hBLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2QsWUFQaUM7RUFRakMsYWhDNHBCa0I7RWdDMXBCbEIsaUJoQ0ZlO0VnQ0dmLG9CaENoQm1CO0VnQ2lCbkIsdUNoQ2lxQjJDO0VnQ2pxQjNDLCtCaENpcUIyQztFZ0M5cEIzQyxxQkFBb0I7RUFDcEIsZUFBYztFQUVkLGdCQUFlLEVBa0hkO0VBL0dEO0lBQ0UsVUFBUyxFQUNWO0VBR0Q7SUFDRSxtQkFBa0I7SUFDbEIsYWhDK29CMEI7SWdDOW9CMUIsY2hDOG9CMEI7SWdDNW9CMUIsZUFBYztJQUNkLGNBOUJ5RDtJQStCekQsZUFoQzBEO0lBa0MxRCx3Q0FBK0I7SUFBL0IsZ0NBQStCO0lBQy9CLGlCaEM1QmE7SWdDNkJiLG9CaEN2Q1c7SWdDd0NYLHVDaEN1b0J5QztJZ0N2b0J6QywrQmhDdW9CeUM7SWdDdG9CekMsWUFBVyxFQUNaO0VBR0Q7SUFDRSxvQmhDeERjLEVnQzZEZjtJQU5EO01BSUksY0E1Q3dFLEVBNkN6RTtFdkNpZ1FIO0lTMTdQRSxXQUFVLEVBQ1g7O0E4QmVEO0VBN0VBLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1Isb0NBQTJCO0VBQTNCLGdDQUEyQjtFQUEzQiw0QkFBMkIsRUE2RTFCOztBQUdEO0VBM0VBLFNBQW1CO0VBQ25CLGNBQWEsRUE2RVo7RUEzRUQ7SUFDRSxlQUFjLEVBQ2Y7O0FBNEVEO0VBdkVBLFdBQXFCLEVBMEVwQjtFQXhFRDtJQUNFLGNBQWEsRUFDZDs7QUF5RUQ7RUF2REEsZWhDb2tCeUIsRWdDM2dCeEI7RUF2REQ7SUFDRSxZQVIrQjtJQVMvQixlaENna0J1QjtJZ0MvakJ2QixzQi9CakdxRCxFK0JrR3REO0VBRUQ7SUFDRSxhaENpa0IwQjtJZ0Noa0IxQixjaENna0IwQjtJZ0MvakIxQixZQWZrRDtJQWdCbEQsYUFmbUQsRUFnQnBEO0VBRUQ7SUFDRSxjQWxCbUUsRUFtQnBFOztBQTBDRDtFQTNEQSxnQmhDcWtCMkIsRWdDeGdCMUI7RUEzREQ7SUFDRSxjQVIrQjtJQVMvQixnQmhDaWtCeUI7SWdDaGtCekIsc0IvQmpHcUQsRStCa0d0RDtFQUVEO0lBQ0UsYWhDaWtCMEI7SWdDaGtCMUIsY2hDZ2tCMEI7SWdDL2pCMUIsZUFma0Q7SUFnQmxELGdCQWZtRCxFQWdCcEQ7RUFFRDtJQUNFLFdBbEJtRSxFQW1CcEU7O0FBOENEO0VBL0RBLGVoQ3NrQjBCLEVnQ3JnQnpCO0VBL0REO0lBQ0UsWUFSK0I7SUFTL0IsZWhDa2tCd0I7SWdDamtCeEIsc0IvQmpHcUQsRStCa0d0RDtFQUVEO0lBQ0UsYWhDaWtCMEI7SWdDaGtCMUIsY2hDZ2tCMEI7SWdDL2pCMUIsWUFma0Q7SUFnQmxELGFBZm1ELEVBZ0JwRDtFQUVEO0lBQ0UsY0FsQm1FLEVBbUJwRTs7QUMyR0Q7RUE5R0EsMEJBQXlCO0VBQ3pCLFlBQVc7RUFDWCxvQmpDOUdrQjtFaUMrR2xCLGlCakMxR2UsRWlDdU5kO0VBcE1EOzs7SUFHRSwwQjdCbkI2QztJNkJvQjdDLDBCakNtcEJzQixFaUNscEJ2QjtFQUdEO0lBQ0UsK0JoQy9CcUQ7SWdDZ0NyRCxrQmpDOUJxQixFaUMrQnRCO0VmekRDO0llNkRBLG9CakN0RGM7SWlDdURkLGVqQzdDVyxFaUM4Q1o7RUFHRDtJQUNFLG9CN0JyQzZDO0k2QnNDN0MsZWpDcERXLEVpQ3FEWjtFQUdEOztJQUlJLHdCQUF1QixFQUN4QjtFQUxIOzs7O0lBVUksK0JoQzFEbUQ7SWdDMkRuRCxrQmpDekRtQjtJaUMwRG5CLGlCQUFZLEVBQ2I7RUFJSDs7SUFHSSwrQmhDcEVtRCxFZ0NxRXBEO0VBdkRIO0lBQ0UsaUJBQWdCO0lBQ2hCLGlDN0JWNkM7STZCVzdDLDBCakM0cEJzQixFaUMzcEJ2QjtFQXBCRztJQUNFLGlCQUFnQjtJQUNoQiwwQjdCTXlDLEU2QkwxQzs7QXBDa0ZEO0VvQ2dIRjtJQUNFLGNBQWEsRUFDZDtFQUdIO0lBQ0UsY0FBYSxFQUNkO0VBRUQ7OztJQUdFLGVBQWMsRUFDZjtFQUVEO0lBQ0UsY0FBYSxFQUNkLEVBQUE7O0FBY0Q7RUF2R0EsZUFBYztFQUNkLFlBQVc7RUFDWCxpQkFBZ0IsRUF1R2Y7O0FBaEdDO0VBQ0UsMEJqQ21qQm1FLEVpQ2xqQnBFOztBQUtEO0VBQ0UsMEJqQzhpQm1FLEVpQzdpQnBFOztBQUtEO0VBQ0UsMEJqQytoQnlELEVpQzloQjFEOztBQXNCQztFQUNFLDBCakN3Z0JtRixFaUN2Z0JwRjs7QUE4REw7RUFDRSxpQkFBZ0IsRUFFakI7O0FDcFJEO0VBWEEsc0JBQXFCO0VBQ3JCLGlCbEM2Tm9CO0VrQzVOcEIsZWxDMk5tQjtFa0N6Tm5CLG1CQUFrQjtFQUVsQixrQmxDeU5zQjtFa0N4TnRCLG1CQUFrQjtFQU9oQixvQmxDbUJjO0VrQ2xCZCxlbEM0QlcsRWtDcEJaO0VBWkQ7SUFRTSxvQmxDY1U7SWtDYlYsZWxDdUJPLEVrQ3RCUjtFQVZMO0lBUU0sb0JsQ2VZO0lrQ2RaLGVsQ3VCTyxFa0N0QlI7RUFWTDtJQVFNLG9CbENnQlU7SWtDZlYsZWxDc0JPLEVrQ3JCUjtFQVZMO0lBUU0sb0JsQ2lCVTtJa0NoQlYsZWxDc0JPLEVrQ3JCUjtFQVZMO0lBUU0sb0JsQ2tCUTtJa0NqQlIsZWxDc0JPLEVrQ3JCUjs7QUNtREw7RUE3Q0EsbUJuQ3lNdUM7RW1DeE12QyxpQkFBZ0IsRUFtRGY7RWpDb0REO0lBRUUsZUFBYztJQUNkLGFBQVk7SUFHVixzQkFBYTtJQUFiLDJCQUFhO0lBQWIsY0FBYTtJQUNiLDZCQUFRO0lBQVIsaUJBQVE7SUFBUixrQkFBUTtJQUFSLFNBQVEsRUFFWDtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VpQ2pIRDtJQUNFLFlBQU87SUFFUCxzQmxDZ0JxRDtJa0NmckQsZW5DT1c7SW1DTlgsZ0JBQWU7SUFHYiwwQkFBeUIsRUFvQjVCO0lBWks7TUFDRSxtQkFBa0I7TUFDbEIsa0JuQ3dMdUI7TW1Ddkx2QixXQUFVO01BQ1YsYW5DeUwyQjtNbUN4TDNCLGVuQ1pXLEVtQ2FaO0VBU1A7SUFDRSxlbkM5QmMsRW1DbUNmO0lBSEM7TUFDRSwyQkFBMEIsRUFDM0I7RUFLSDtJQUlJLGVuQ3BDZTtJbUNxQ2Ysb0JBQW1CLEVBQ3BCOztBQzVCSDtFQTFDQSxtQkFBa0I7RUFDbEIsbUJwQ2dSeUI7RW9DL1F6QixjcENnUm9CO0VvQzlRcEIseUNwQzhCYTtFb0M3QmIsaUJwQ3dDZTtFb0N2QmYsd0JBRnNFO0VBR3RFLG1CcENhMkIsRW9Dc0IxQjtFQWxERDtJQUNFLGNBQWEsRUFDZDtFQUVEO0lBQ0UsaUJBQWdCLEVBQ2pCO0VBNEJEO0lBcEJBLDBCQUZzRTtJQUd0RSxtQnBDYTJCLEVvQ1l0QjtFQU5MO0lBcEJBLDBCQUZzRTtJQUd0RSxtQnBDYTJCLEVvQ1l0QjtFQU5MO0lBcEJBLDBCQUZzRTtJQUd0RSxtQnBDYTJCLEVvQ1l0QjtFQU5MO0lBcEJBLDBCQUZzRTtJQUd0RSxtQnBDYTJCLEVvQ1l0QjtFQU5MO0lBcEJBLDBCQUZzRTtJQUd0RSxtQnBDYTJCLEVvQ1l0QjtFQU5MO0lBZkEsb0JBeUJnQztJQXhCaEMsc0JBd0JnQztJQXZCaEMsdUJBdUJnQztJQXRCaEMscUJBc0JnQyxFQUM3QjtFQVhIO0lBZkEsa0JBNkI4QjtJQTVCOUIsb0JBNEI4QjtJQTNCOUIscUJBMkI4QjtJQTFCOUIsbUJBMEI4QixFQUMzQjs7QUNRSDtFQXZERSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNkJBQXNCO0VBQXRCLDhCQUFzQjtFQUF0QiwrQkFBc0I7RUFBdEIsMkJBQXNCO0VBQXRCLHVCQUFzQjtFQUN0QixvQkFBWTtFQUFaLHFCQUFZO0VBQVoscUJBQVk7RUFBWixhQUFZO0VBR2Qsb0JyQ3lCa0I7RXFDdkJsQixhckM2UWdCO0VxQzVRaEIsaUJyQzJCZTtFcUN6QmYsb0JyQ2VhO0VxQ2RiLHlCckMwUWdCO0VxQzFRaEIsaUJyQzBRZ0I7RXFDeFFoQixpQkFBZ0I7RUFDaEIsZXJDVWEsRXFDaUNaO0VBekNEO0lBQ0UsaUJBQWdCLEVBQ2pCOztBQXlDRDtFQWhDRSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0JBQWM7RUFBZCx1QkFBYztFQUFkLG1CQUFjO0VBQWQsZUFBYztFQUdoQixnQnJDd1BtQjtFcUN2UG5CLG9CckNYa0IsRXFDd0NqQjtFQTNCRDtJQUNFLGlCQUFnQixFQUNqQjs7QUEyQkQ7RUFuQkUsb0JBQWM7RUFBZCx1QkFBYztFQUFkLG1CQUFjO0VBQWQsZUFBYztFQUdoQixnQnJDd09tQixFcUN0TmxCO0VBaEJEO0lBQ0UsaUJBQWdCLEVBQ2pCOztBQWtCRDtFQUNFLGdCQUFlLEVBQ2hCOztBQ3pERDtFQTVCQSxtQkFBa0I7RUFDbEIsWUFBVztFQUVYLGNBQWE7RUFFYixhdEMyVW9CO0VzQzFVcEIsY3RDc1VxQjtFc0NwVXJCLG1CQUFrQjtFQUNsQiwwQnRDMkJtQjtFc0MxQm5CLGlCdEN1Q2U7RXNDdENmLDhCdEM2QjJCO0VzQzNCM0IsZ0J0Q2tVdUIsRXNDalR0QjtFQWJEO0lBQ0UsZUFBYyxFQUNmO0VBRUQ7SUFDRSxlQUFjO0lBQ2Qsb0JBQW1CLEVBQ3BCOztBQVNDO0VBRUksYXRDZ1RLLEVzQy9TTjs7QUFISDtFQUVJLGF0Q2lUTSxFc0NoVFA7O0FBSEg7RUFFSSxhdENrVE0sRXNDalRQOztBQ21GTDtFQW5GQSxlQUFnQztFQUNoQyxvQnZDT2tCLEV1Q3lGakI7RXJDTkQ7SUFFRSxlQUFjO0lBQ2QsYUFBWTtJQUdWLHNCQUFhO0lBQWIsMkJBQWE7SUFBYixjQUFhO0lBQ2IsNkJBQVE7SUFBUixpQkFBUTtJQUFSLGtCQUFRO0lBQVIsU0FBUSxFQUVYO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RXFDcEdEO0lBQ0UseUJ0Q0txRDtJc0NKckQsaUJ2Q09hO0l1Q05iLGdCdENHcUQ7SXNDR25ELGNBQWEsRUFpQmhCO0lBZkc7TUFFRSxzQkFBcUIsRUFDdEI7STFDc0VEO00wQ3BGSjtRQXVCTSxzQkFBcUIsRUFHMUIsRUFBQTtFQUdEOztJQUVFLGVBQWM7SUFDZCwrQnRDMUJxRDtJc0MyQnJELGlCdkN4QmE7SXVDeUJiLGV2Q3BDVyxFdUN5Q1o7SUFIQzs7TUFDRSxvQnZDMUNjLEV1QzJDZjtFQXlDSDtJQS9CQSwrQnRDMUN1RDtJc0MyQ3ZELG9CdkM1RGdCO0l1QzZEaEIsZXZDbkRhO0l1Q29EYixnQkFBZSxFQWlDWjtFQUxIO0lBcEJBLCtCdENyRHVEO0lzQ3NEdkQsZXZDaEVtQjtJdUNpRW5CLG9CQUFtQixFQTJCaEI7SUF6Qkg7TUFDRSx3QkFBdUIsRUFDeEI7RUFjRDtJQU5BLCtCdENuRXVEO0lzQ29FdkQsaUJBQWdCO0lBQ2hCLGV2QzdFYSxFdUM4RlY7O0FBSUQ7O0VBRUUsc0JBQXFCO0VBQ3JCLHFCQUFzQztFQUN0QyxpQkFBZ0IsRUFDakI7O0FBRUQ7O0VBRUUsc0JBQXFCO0VBQ3JCLG9CQUFxQztFQUNyQyxpQkFBZ0IsRUFDakI7O0FDdENIO0VBbkdBLG1CQUFrQjtFQUNsQixzQkFBcUI7RUFFckIsa0N4Q3VCaUI7RXdDdEJqQixrQnhDaUN1QjtFd0NoQ3ZCLGF4Q3N3Qm1CLEV3Q3RxQmxCOztBQUVEO0VBOUZBLG1CQUFrQjtFQUNsQiw0QkFBd0M7RUFDeEMsY0FBYTtFQUViLGlCeENvd0J1QjtFd0Nud0J2QixpQnhDa3dCdUI7RXdDaHdCdkIsaUJ4Q3NCZTtFd0NyQmYsMEJ4Q1VhO0V3Q1RiLGV4Q3dGbUI7RXdDdkZuQixleENTYSxFd0M2RVo7RUFwRkQ7SUFDRSxtQkFBa0IsRUFDbkI7RUFHQztJdENyQ0YsZUFBYztJQUNkLFNBQVE7SUFDUixVQUFTO0lBRVQsc0JGMHhCeUI7SUV4eEJ6QixZQUFXO0lBUVQsb0JBQW1CO0lBQ25CLDJCQUEwQjtJQUMxQiw4Q0ZzQlc7SXdDQ1QsYUFBWSxFQUNiO0VBRUQ7SUFDRSxVQUFTO0lBQ1Qsb0NBQTJCO0lBQTNCLGdDQUEyQjtJQUEzQiw0QkFBMkIsRUFDNUI7RUFJRDtJdENqREYsZUFBYztJQUNkLFNBQVE7SUFDUixVQUFTO0lBRVQsc0JGMHhCeUI7SUV4eEJ6QixZQUFXO0lBR1QsdUJBQXNCO0lBQ3RCLHdCQUF1QjtJQUN2Qiw4Q0FBcUQ7SXNDd0NuRCxVQUFTO0lBQ1QsYUFBWSxFQUNiO0VBRUQ7SUFDRSxVQUFTO0lBQ1Qsb0NBQTJCO0lBQTNCLGdDQUEyQjtJQUEzQiw0QkFBMkIsRUFDNUI7RUFJRDtJdEM5REYsZUFBYztJQUNkLFNBQVE7SUFDUixVQUFTO0lBRVQsc0JGMHhCeUI7SUV4eEJ6QixZQUFXO0lBYVQsc0JBQXFCO0lBQ3JCLHlCQUF3QjtJQUN4QiwwREZpQlc7SXdDMEJULFdBQVUsRUFDWDtFQUVEO0lBQ0UsYUFBWTtJQUNaLFNBQVE7SUFDUixvQ0FBMkI7SUFBM0IsZ0NBQTJCO0lBQTNCLDRCQUEyQixFQUM1QjtFQUlEO0l0QzNFRixlQUFjO0lBQ2QsU0FBUTtJQUNSLFVBQVM7SUFFVCxzQkYweEJ5QjtJRXh4QnpCLFlBQVc7SUFrQlQscUJBQW9CO0lBQ3BCLDBCQUF5QjtJQUN6QiwwREFBaUU7SXNDbUQvRCxZQUFXO0lBQ1gsV0FBVSxFQUNYO0VBRUQ7SUFDRSxhQUFZO0lBQ1osU0FBUTtJQUNSLG9DQUEyQjtJQUEzQixnQ0FBMkI7SUFBM0IsNEJBQTJCLEVBQzVCO0VBR0g7SUFDRSxhQUFZO0lBQ1osU0FBUSxFQUNUO0VBRUQ7SUFDRSxZQUFXO0lBQ1gsVUFBUyxFQUNWO0VBRUQ7SUFDRSxVQUFTO0lBQ1QsWUFBVyxFQUNaO0VBRUQ7SUFDRSxXQUFVO0lBQ1YsV0FBVSxFQUNYOztBQ1JEO0VBeEZBLGVBQWdDO0VBQ2hDLG9CekM0QmE7RXlDM0JiLHNCQUFxQixFQXdGcEI7RUFyRkM7SUFDRSxvQkFBbUIsRUFDcEI7O0FBTUg7RUFDRSx1QkFBZ0QsRUFDakQ7O0FBRUQ7RUFDRSx1QnpDcUJhLEV5Q3BCZDs7QUE2RUQ7RUFsRUEsbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCxzQnpDa0ptQztFeUNoSm5DLDBCekNUa0I7RXlDVWxCLGlCQUFnQjtFQUVoQixzQnhDRHVEO0V3Q0V2RCxlQUFjO0VBQ2QsZXpDcEJnQixFeUMrRWY7RUF6REQ7SUFDRSxpQ3pDakJnQjtJeUNrQmhCLHVCekNKYSxFeUNLZDtFQUVEO0lBRUUsMEJ6Q3ZCZ0IsRXlDd0JqQjtFQUdDO0lBQ0UsbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixZQUFzQjtJQUN0QixvQkFBbUI7SUFDbkIsYUFBWSxFQUNiO0VBRUQ7SUFDRSxpQkFBZ0IsRUFDakI7O0FBc0NIO0VBM0JBLGNBQWE7RUFDYixjekM0RzhCO0V5QzFHOUIsMEJ6Q25Ea0I7RXlDb0RsQixpQkFBZ0I7RUFDaEIsMEJ6Q2pEYTtFeUNtRGIsZXpDcERhLEV5QzBFWjtFQXBCRDtJQUNFLGlDekMxRGdCLEV5QzJEakI7O0FDOUJEO0VBcEZBLHFCQUFpQztFQUFqQyxzQkFBaUM7RUFBakMscUJBQWlDO0VBQWpDLGNBQWlDO0VBQ2pDLG9CMUMrRGtCO0UwQzVEaEIsMEJBQWlCO0VBQWpCLHNCQUFpQjtFQUFqQixrQkFBaUIsRUFrRmxCO0VBL0VEO0lBQ0UsZ0JBQWUsRUFDaEI7RTdDNElHO0k2Q3pJRjtNQUVJLHdCQUFlO01BQWYsb0JBQWU7TUFBZixnQkFBZSxFQUVsQixFQUFBOztBQXdFSDtFQWhFRSxvQkFBYztFQUFkLHVCQUFjO0VBQWQsbUJBQWM7RUFBZCxlQUFjLEVBa0VmO0VBM0REO0lBQ0Usb0IxQ2lDaUIsRTBDaENsQjtFQUVEO0lBQ0UsbUIxQzZCaUIsRTBDNUJsQjtFQUVEO0lBQ0UsaUJBQWdCLEVBQ2pCO0U3QzRHRztJNkMxR0o7TUF3QkEsV0FBVTtNQUNWLHFCMUNIbUI7TTBDTWpCLHlCQUFnQjtNQUFoQiw4QkFBZ0I7TUFBaEIsaUJBQWdCO01BQ2hCLGdCQUFlLEVBekJoQjtNQUpEO1FBb0NFLFkxQzhXa0MsRTBDN1duQyxFQUFBO0VBOUJDO0lBQ0Usb0JBQWE7SUFBYixzQkFBYTtJQUFiLGtCQUFhO0lBQWIsY0FBYSxFQUNkOztBQ2lGSDtFQXJHQSxtQkFBa0IsRUF1R2pCOztBQUVEO0VBcEdBLG1CQUFrQjtFQUNsQixVQUFTO0VBQ1QsVUFBUztFQUNULGlCQUFnQjtFQUNoQixpQkFBZ0IsRUFrR2Y7O0FBRUQ7RUEvRkEsWUFBVztFQUNYLG1CQUFrQixFQWdHakI7RUE3RkM7SUFDRSxPQUFNO0lBQ04sUUFBTyxFQUNSOztBQTRGSDtFQXZGQSxVQUFTLEVBeUZSOztBQUVEO0VBdEZBLFlBQVc7RUFDWCxnQkFBZTtFQUNmLFVBQVMsRUFzRlI7O0FBRUQ7RUFuRkEsbUJBQWtCO0VBQ2xCLFVBQVM7RUFDVCxZQUFXO0VBQ1gsaUJBQWdCO0VBQ2hCLGMzQzhhMEI7RTJDNWExQix3QzNDbEJhO0UyQ21CYixlM0NsQmEsRTJDZ0daOztBQUVEO0V6Q3NEQSxtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLG9DQUEyQjtFQUEzQixnQ0FBMkI7RUFBM0IsNEJBQTJCO0V5Q2pJM0IsWTNDdWF1QjtFMkN0YXZCLGMzQ3FhMEI7RTJDcGExQixlM0MzQmEsRTJDb0daO0VsRCsrUUQ7SVMxOVFFLFdBQVUsRUFDWDtFeUM3RkQ7SUFHRSx3QzNDakNXLEUyQ2tDWjs7QUFxRUQ7RUFoRUEsUUFBa0IsRUFtRWpCOztBQUVEO0VBaEVBLFdBQXFCO0VBQ3JCLFNBQW1CLEVBa0VsQjs7QUFFRDtFQTlEQSxtQkFBa0I7RUFDbEIsbUIzQ3VZOEI7RTJDdFk5QixzQjNDdVlpQztFMkN0WWpDLG1CQUFrQixFQTZEakI7RWxEay9RRDtJUzMrUUUsV0FBVSxFQUNYO0V5Q25FRDtJQUNFLGMzQ2dZMEI7STJDL1gxQixlM0MrWDBCO0kyQzlYMUIsZTNDK1h3QjtJMkM3WHhCLG1CQUFrQjtJQUNsQiwwQjNDaEVpQixFMkN5RWxCO0lBUEM7TUFDRSwwQjNDbEVhLEUyQ21FZDtJQUVEO01BQ0UsMEIzQ3RFYSxFMkN1RWQ7O0FDMUdIOztFQW5CQSxtQkFBa0I7RUFDbEIsVUFBUztFQUNULDBCM0M2RHVEO0UyQzVEdkQsb0JDMENzQjtFRHpDdEIsaUJBQWdCLEVBMEJmO0VBeEJEOzs7Ozs7OztJQUlFLG1CQUFrQjtJQUNsQixPQUFNO0lBQ04sUUFBa0I7SUFDbEIsWUFBVztJQUNYLGFBQVksRUFDYjtFQUlEOztJQVFNLHVCQ2tCZ0IsRURqQmpCOztBRTBGTDtFQWpGQSxVOUM2dEJZO0U4QzV0QlosMEI5Q2NrQjtFOENibEIsb0I5Q2lCYTtFOENoQmIsc0JBQXFCLEVBZ0ZwQjtFNUN3QkQ7SUFFRSxlQUFjO0lBQ2QsYUFBWTtJQUdWLHNCQUFhO0lBQWIsMkJBQWE7SUFBYixjQUFhO0lBQ2IsNkJBQVE7SUFBUixpQkFBUTtJQUFSLGtCQUFRO0lBQVIsU0FBUSxFQUVYO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7O0E0Q2hIRDtFQUNFLGVBQWM7RUFDZCxZQUFXO0VBQ1gsWUFBVyxFQUNaOztBQStFRDtFQUVJLFdBQVUsRUFLWDtFQVBIO0lBS00sd0JBQXVCLEVBQ3hCOztBQUtMO0VBQ0Usb0I5QzlGYyxFOEN3R2Y7RUFYRDtJQUlJLGU5Q3ZGUyxFOEM2RlY7SUFWSDtNQVFNLG9CMUM5RXlDLEUwQytFMUM7O0FBSUw7RUEzRkEsWUFBTyxFQTZGTjtFQTNGRDtJQUVFLGVBQWM7SUFDZCx3QjlDdXNCNkI7SThDdHNCN0Isc0I3Q0pxRDtJNkNLckQsZUFBYztJQUNkLGU5Q3ZCYyxFOENtQ2Y7SXJEc3BSQztNU3RqUkEsV0FBVSxFQUNYO0k0QzNHQztNQUNFLG9COUNoQlM7TThDaUJULGVBQTRDLEVBQzdDO0lBRUQ7TUFFRSxvQjlDMUJjO004QzJCZCxlOUNqQ1ksRThDa0NiOztBQTRFSDtFQWxFQSwwQjlDdENrQjtFOEN1Q2xCLGNBQWE7RUFDYixvQjlDcENhO0U4Q3FDYixlOUN0Q2E7RThDdUNiLGtDQUF5QjtFQUF6QiwwQkFBeUIsRUFnRXhCOztBQUVEO0VBM0RBLDBCOUNqRGtCO0U4Q2tEbEIsZUFBZ0MsRUE0RC9COztBQUVEO0VBdkRBLGNBQWE7RUFDYixjOUMrcEJ3QixFOEN2bUJ2QjtFQXRERDtJQUNFLGVBQWMsRUFDZjs7QUNoRkQ7RUF6QkEsc0JBQXFCO0VBQ3JCLGdCQUFlO0VBQ2Ysb0IvQ2tEa0I7RStDaERsQiwwQi9DMkNhO0UrQzFDYixpQi9Db0RlO0UrQ25EZixvRC9Dd0NhO0UrQ3hDYiw0Qy9Dd0NhO0UrQ3RDYixlQUFjLEVBbUJiOztBQUVEO0VBakJBLHNEL0Npd0I4QztFK0Nqd0I5Qyw4Qy9DaXdCOEM7RStDandCOUMsc0MvQ2l3QjhDO0UrQ2p3QjlDLHlFL0Npd0I4QyxFK0M5dUI3QztFQWpCRDtJQUVFLHNEL0NxQmM7SStDckJkLDhDL0NxQmMsRStDcEJmO0VBRUQ7SUFDRSx5QkFBZ0I7SUFBaEIsaUJBQWdCLEVBQ2pCOztBQzZTRDtFQS9TQSxXQUFVO0VBQ1YsVUFBUztFQUNULGlCQUFnQjtFQUNoQixtQkFBa0I7RUFHaEIscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHdCQUFlO0VBQWYsb0JBQWU7RUFBZixnQkFBZSxFQTRaaEI7RXZEeTFRRDtJU3ZtUkUsV0FBVSxFQUNYO0U4Q3hJRDs7SUFFRSxlQUFjO0lBQ2Qsc0JBQXFCO0lBQ3JCLGVBQWM7SUFDZCxxQmhEb0I2QixFZ0RuQjlCO0VBR0Q7Ozs7SUFJRSxpQkFBZ0IsRUFDakI7RUFFRDtJQUNFLHNCQUFxQixFQUN0QjtFQStRRDtJQXBMSSx3QkFBZTtJQUFmLG9CQUFlO0lBQWYsZ0JBQWU7SUFDZiwrQkFBbUI7SUFBbkIsOEJBQW1CO0lBQW5CLDRCQUFtQjtJQUFuQix3QkFBbUI7SUFBbkIsb0JBQW1CLEVBeUxwQjtFQU5IO0lBektJLDBCQUFpQjtJQUFqQixzQkFBaUI7SUFBakIsa0JBQWlCO0lBQ2pCLDZCQUFzQjtJQUF0Qiw4QkFBc0I7SUFBdEIsK0JBQXNCO0lBQXRCLDJCQUFzQjtJQUF0Qix1QkFBc0IsRUFtTHZCO0VBcFJEO0lBQ0Usb0JBQWE7SUFBYixzQkFBYTtJQUFiLGtCQUFhO0lBQWIsY0FBYSxFQUNkO0VBdVFIO0lBdEpFLDBCQUFtQjtJQUFuQiw0QkFBbUI7SUFBbkIsdUJBQW1CO0lBQW5CLG9CQUFtQixFQTJLbEI7SUF4S0g7TUFDRSxrQmhEeVFxQixFZ0R4UXRCO0lBRUQ7TUFDRSxXQUFVLEVBQ1g7RW5EakRHO0ltRDhMSjtNQXBMSSx3QkFBZTtNQUFmLG9CQUFlO01BQWYsZ0JBQWU7TUFDZiwrQkFBbUI7TUFBbkIsOEJBQW1CO01BQW5CLDRCQUFtQjtNQUFuQix3QkFBbUI7TUFBbkIsb0JBQW1CLEVBOE1sQjtJQTNCTDtNQXpLSSwwQkFBaUI7TUFBakIsc0JBQWlCO01BQWpCLGtCQUFpQjtNQUNqQiw2QkFBc0I7TUFBdEIsOEJBQXNCO01BQXRCLCtCQUFzQjtNQUF0QiwyQkFBc0I7TUFBdEIsdUJBQXNCLEVBdU1yQjtJQXhTSDtNQUNFLG9CQUFhO01BQWIsc0JBQWE7TUFBYixrQkFBYTtNQUFiLGNBQWEsRUFDZDtJQUZEO01BQ0Usb0JBQWE7TUFBYixzQkFBYTtNQUFiLGtCQUFhO01BQWIsY0FBYSxFQUNkLEVBQUE7RW5EeUVDO0ltRDhMSjtNQXBMSSx3QkFBZTtNQUFmLG9CQUFlO01BQWYsZ0JBQWU7TUFDZiwrQkFBbUI7TUFBbkIsOEJBQW1CO01BQW5CLDRCQUFtQjtNQUFuQix3QkFBbUI7TUFBbkIsb0JBQW1CLEVBOE1sQjtJQTNCTDtNQXpLSSwwQkFBaUI7TUFBakIsc0JBQWlCO01BQWpCLGtCQUFpQjtNQUNqQiw2QkFBc0I7TUFBdEIsOEJBQXNCO01BQXRCLCtCQUFzQjtNQUF0QiwyQkFBc0I7TUFBdEIsdUJBQXNCLEVBdU1yQjtJQXhTSDtNQUNFLG9CQUFhO01BQWIsc0JBQWE7TUFBYixrQkFBYTtNQUFiLGNBQWEsRUFDZDtJQUZEO01BQ0Usb0JBQWE7TUFBYixzQkFBYTtNQUFiLGtCQUFhO01BQWIsY0FBYSxFQUNkLEVBQUE7RUF1UUg7SUE5SEUsZ0JBQWlDO0lBQ2pDLGtCaEQxSTRCLEVnRG9UM0I7RUFsS0Q7SUFDRSxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhLEVBQ2Q7RUFGRDtJQUNFLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWEsRUFDZDtFQWtCRDtJQUVJLCtCQUFxQjtJQUFyQiw4QkFBcUI7SUFBckIsOEJBQXFCO0lBQXJCLDBCQUFxQjtJQUFyQixzQkFBcUIsRUFZeEI7SUFUQzs7O01BR0Usc0JoRG1ObUIsRWdEOU1wQjtFQUlIO0lBRUksK0JBQXFCO0lBQXJCLDhCQUFxQjtJQUFyQiw4QkFBcUI7SUFBckIsMEJBQXFCO0lBQXJCLHNCQUFxQixFQVl4QjtJQVRDOzs7TUFHRSxxQmhEa01tQixFZ0Q3THBCO0VBSUg7SUFFSSw2QkFBd0I7SUFBeEIsOEJBQXdCO0lBQXhCLGlDQUF3QjtJQUF4Qiw2QkFBd0I7SUFBeEIseUJBQXdCLEVBbUIzQjtJQWJDOzs7TUFRSSw0QkFBbUI7TUFBbkIsNkJBQW1CO01BQW5CLG9CQUFtQjtNQUNuQix1QmhEd0tpQjtNZ0R2S2pCLG1CQUFrQixFQUVyQjtFQUlIO0lBRUksNkJBQXdCO0lBQXhCLDhCQUF3QjtJQUF4QixpQ0FBd0I7SUFBeEIsNkJBQXdCO0lBQXhCLHlCQUF3QixFQW1CM0I7SUFiQzs7O01BUUksNEJBQW1CO01BQW5CLDZCQUFtQjtNQUFuQixvQkFBbUI7TUFDbkIsdUJoRGdKaUI7TWdEL0lqQixtQkFBa0IsRUFFckI7RUFtQkw7SUFMQSxvQmhEeFJnQjtJZ0R5UmhCLGVoRC9RYSxFZ0R3V1Y7RUFyRkg7SUFMQSxvQmhEeFJnQjtJZ0R5UmhCLGVoRC9RYSxFZ0Q4V1I7RUEzRkw7SUF0UEksd0JBQTJCO0lBQTNCLG9DQUEyQjtJQUEzQixxQkFBMkI7SUFBM0IsNEJBQTJCLEVBdVY1QjtFQS9VQztJQUNFLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYixzQkFBeUI7SUFBekIsa0NBQXlCO0lBQXpCLG1CQUF5QjtJQUF6QiwwQkFBeUIsRUFLMUI7SUFIQztNQUNFLHdCQUEyQjtNQUEzQixvQ0FBMkI7TUFBM0IscUJBQTJCO01BQTNCLDRCQUEyQixFQUM1QjtFQUdIO0lBQ0UsZUFBYztJQUNkLGtCMUNOb0QsRTBDV3JEO0lBSEM7TUFDRSxrQjFDVGtELEUwQ1VuRDtFQStOUDtJQWxJRSxtQmhEckk0QjtJZ0RzSTVCLGVBQWdDLEVBME83QjtFQXJURDtJQUNFLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYix5QkFBdUI7SUFBdkIsZ0NBQXVCO0lBQXZCLHNCQUF1QjtJQUF2Qix3QkFBdUIsRUFLeEI7SUFIQztNQUNFLHdCQUEyQjtNQUEzQixvQ0FBMkI7TUFBM0IscUJBQTJCO01BQTNCLDRCQUEyQixFQUM1QjtFQXNNUDtJQWJBLHFCaEQzUCtCO0lnRDZQL0Isa0JBQWlCO0lBQ2pCLGVBQWM7SUFDZCxlQUFjLEVBNEhYOztBQUlEO0VBR00seUJBQXVCO0VBQXZCLGdDQUF1QjtFQUF2QixzQkFBdUI7RUFBdkIsd0JBQXVCLEVBSTFCO0VBMVVEO0lBQ0UscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLHlCQUF1QjtJQUF2QixnQ0FBdUI7SUFBdkIsc0JBQXVCO0lBQXZCLHdCQUF1QixFQUt4QjtJQUhDO01BQ0Usd0JBQTJCO01BQTNCLG9DQUEyQjtNQUEzQixxQkFBMkI7TUFBM0IsNEJBQTJCLEVBQzVCOztBQXlVUDtFQUNFLGNBQWEsRUFDZDs7QUN4ZUQ7RS9Dd0dBLG1CQUFrQjtFQUNsQixzQkFBcUI7RUFDckIsdUJBQXNCO0VBQ3RCLFlBekJZO0VBMEJaLGFBekJhO0VBMEJiLGdCQUFlLEUrQzNHZDtFL0M4R0Q7SUFDRSxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFFBQU87SUFFUCxlQUFjO0lBQ2QsWUFBVztJQUNYLFlBbkNVO0lBcUNWLG9CRnpDVztJRTBDWCxzREYxQ1c7SUUwQ1gsOENGMUNXO0lFNENYLFlBQVcsRUFDWjtFQVVDO0lBQ0Usb0JGM0RlO0lFNERmLHNERjVEZTtJRTREZiw4Q0Y1RGUsRUU2RGhCOztBK0N0SUg7RS9Db0dBLG1CQUFrQjtFQUNsQixzQkFBcUI7RUFDckIsdUJBQXNCO0VBQ3RCLFlBekJZO0VBMEJaLGFBekJhO0VBMEJiLGdCQUFlLEUrQ3ZHZDtFL0MwR0Q7SUFDRSxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFFBQU87SUFFUCxlQUFjO0lBQ2QsWUFBVztJQUNYLFlBbkNVO0lBcUNWLG9CRjFDVztJRTJDWCxzREYzQ1c7SUUyQ1gsOENGM0NXO0lFNkNYLFlBQVcsRUFDWjtFQVVDO0lBQ0Usb0JGMURhO0lFMkRiLHNERjNEYTtJRTJEYiw4Q0YzRGEsRUU0RGQ7O0FnRDlESDtFQVdJLFlBQVcsRUFDWjs7QUFaSDtFQWtCSSxxQmxESDJCLEVrREk1Qjs7QUFuQkg7RUFzQkkscUJsRFAyQixFa0RRNUI7O0FBdkJIO0VGeUpFLGdCQUFpQztFQUNqQyxrQmhEMUk0QixFa0RXM0I7O0FBM0JIO0VGcUpFLG1CaERySTRCO0VnRHNJNUIsZUFBZ0MsRUV0SDdCOztBQXhETDtFQUNFLG1CQUFrQixFQVNuQjtFQVBDO0loRGRGLGVBQWM7SUFDZCxTQUFRO0lBQ1IsVUFBUztJQUVULGtCRjRNNEI7SUUxTTVCLFlBQVc7SUFHVCx1QkFBc0I7SUFDdEIsd0JBQXVCO0lBQ3ZCLDhDQUFxRDtJZ0RLbkQsbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixpQkFBZ0Q7SUFDaEQsWUFBc0IsRUFDdkI7O0FBR0g7RUFDRSxZQUFXO0VBQ1gsV0FBVSxFQUNYOztBQUVEO0VBQ0UsWUFBVztFQUNYLFdBQVUsRUFDWDs7QUFJRDtFQXVDTSxrQ0FBeUI7RUFBekIsOEJBQXlCO0VBQXpCLDBCQUF5QjtFQUN6QixrQ0FBeUI7RUFBekIsOEJBQXlCO0VBQXpCLDBCQUF5QixFQUMxQjs7QUFXTDtFQUNFLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLG1CbERrSHFDLEVrRGpIdEM7O0FBR0Q7RUFDRSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFNBQW1CO0VBRW5CLFlsRHlHcUM7RWtEeEdyQyxhbER3R3FDO0VrRHRHckMsZ0JBQWUsRUFnQmhCO0VBeEJEO0loRGhHQSxlQUFjO0lBQ2QsU0FBUTtJQUNSLFVBQVM7SUFFVCxrQmdEOEc2QjtJaEQ1RzdCLFlBQVc7SUFHVCx1QkFBc0I7SUFDdEIsd0JBQXVCO0lBQ3ZCLDhDQUFxRDtJZ0R5R25ELE9BQU07SUFDTixVQUFTO0lBQ1QsYUFBWSxFQUNiOztBQUlIO0VBQ0UsOEJBQXFCO0VBQXJCLDBCQUFxQjtFQUFyQixzQkFBcUI7RUFDckIsa0NBQXlCO0VBQXpCLDhCQUF5QjtFQUF6QiwwQkFBeUIsRUFDMUI7O0FBRUQ7RWhEd0NBLDhCQUE2QjtFQUM3QixXQUFVO0VBQ1YsWUFBVztFQUNYLFdBQVU7RUFDVixpQkFBZ0I7RUFDaEIsdUJBQW1CO0VBQ25CLG9CQUFtQjtFQUNuQixVQUFTLEVnRDdDUjs7QUNuR0Q7RUFDRSxtQkFBa0I7RUFDbEIsaUJBQWdCLEVBU2pCO0VBWEQ7SUFLSSxlQUFjLEVBQ2Y7RUFOSDtJQVNJLGdDQUF1QjtJQUF2Qix3QkFBdUIsRUFDeEI7O0FBSUg7RUFFSSxxQm5ERzJCO0VtREYzQixvQm5EVFMsRW1EVVY7O0FBSkg7RUFRSSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFdBQXFCO0VBQ3JCLFlBQVc7RUFFWCxZQUFXO0VBQ1gsb0JuRHBCUztFbURxQlQsbURuRG1RdUM7RW1EblF2QywyQ25EbVF1QztFbURuUXZDLG1DbkRtUXVDO0VtRG5RdkMsbUVuRG1RdUMsRW1EblB4QztFQS9CSDtJQWtCTSxXQUFVO0lBQ1YsZUFBYztJQUNkLHFDQUFxRTtJQUFyRSxpQ0FBcUU7SUFBckUsNkJBQXFFLEVBQ3RFO0VBckJMO0lBd0JNLG9DQUFxRTtJQUFyRSxnQ0FBcUU7SUFBckUsNEJBQXFFLEVBQ3RFO0VBekJMO0lBNkJNLHFCbkR4QnlCLEVtRHlCMUI7O0FBOUJMO0VIK0lFLGdCQUFpQztFQUNqQyxlaERxSXVCLEVtRGxQdEI7O0FBbkNIO0VBc0NJLGlCQUFnQixFQUNqQjs7QUFqRkg7RUFDRSxtQkFBa0IsRUFTbkI7RUFQQztJakRORixlQUFjO0lBQ2QsU0FBUTtJQUNSLFVBQVM7SUFFVCxrQkZtVXdCO0lFalV4QixZQUFXO0lBYVQsc0JBQXFCO0lBQ3JCLHlCQUF3QjtJQUN4QiwwREZRYztJbURyQlosbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixpQkFBc0M7SUFDdEMsWUFBc0IsRUFDdkI7O0FBR0g7RWpEZkEsZUFBYztFQUNkLFNBQVE7RUFDUixVQUFTO0VBRVQsa0JGeVYyQjtFRXZWM0IsWUFBVztFQWFULHNCQUFxQjtFQUNyQix5QkFBd0I7RUFDeEIsMERGUWM7RW1EWmQsWUFBVztFQUNYLFdBQVUsRUFDWDs7QUFFRDtFakRyQkEsZUFBYztFQUNkLFNBQVE7RUFDUixVQUFTO0VBRVQsa0JGeVYyQjtFRXZWM0IsWUFBVztFQWtCVCxxQkFBb0I7RUFDcEIsMEJBQXlCO0VBQ3pCLDBEQUFpRTtFaURIakUsWUFBVztFQUNYLFdBQVUsRUFDWDs7QUFvQkQ7RWpEN0NBLGVBQWM7RUFDZCxTQUFRO0VBQ1IsVUFBUztFQUVULGtCRm1Vd0I7RUVqVXhCLFlBQVc7RUFrQlQscUJBQW9CO0VBQ3BCLDBCQUF5QjtFQUN6QiwwREFBaUU7RWlEaUU3RCxxQkFBNEM7RUFDNUMsc0JBQXFCO0VBQ3JCLHVCQUFzQjtFQUN0QixzQkFBdUMsRUFDeEM7O0FDckREO0VBQ0UsVUFBUztFQUNULFNBQVE7RUFDUixXQUFVLEVBQ1g7O0FBSUQ7RUFDRSxVQUFTO0VBQ1QsWUFBVztFQUNYLFFBQU8sRUFDUjs7QTNEcWpTUDtFUzM4UkksV0FBVSxFQUNYOztBa0QxREQ7RUFVSSx1QnBEaVA4QixFb0RoUC9COztBQVhIO0VBZUksd0JwRGlQNEM7RW9EaFA1QyxlcEQxRlksRW9EMkZiOztBQUVEO0VBQ0UsY0FBYSxFQUNkOztBQXJCSDtFSnFGRSxnQkFBaUM7RUFDakMsZWhEc0swQixFb0RuT3pCOztBQXZEQztFQUNFLE9BQU0sRUFDUDs7QUFHQztFQUNFLE9BQU07RUFDTixZQUFXO0VBQ1gsV0FBVSxFQUNYOztBQUlEO0VBQ0UsWUFBVztFQUNYLFdBQVUsRUFDWDs7QXZEbUNIO0V1RGxGQTtJQUNFLFVBQVM7SUFDVCxTQUFRO0lBQ1IsV0FBVSxFQUNYO0VBSUQ7SUFDRSxVQUFTO0lBQ1QsWUFBVztJQUNYLFFBQU8sRUFDUjtFQW1CRDtJQUNFLE9BQU0sRUFDUDtFQUdDO0lBQ0UsT0FBTTtJQUNOLFlBQVc7SUFDWCxXQUFVLEVBQ1g7RUFJRDtJQUNFLFlBQVc7SUFDWCxXQUFVLEVBQ1gsRUFBQTs7QXZEbUNIO0V1RGxGQTtJQUNFLFVBQVM7SUFDVCxTQUFRO0lBQ1IsV0FBVSxFQUNYO0VBSUQ7SUFDRSxVQUFTO0lBQ1QsWUFBVztJQUNYLFFBQU8sRUFDUjtFQW1CRDtJQUNFLE9BQU0sRUFDUDtFQUdDO0lBQ0UsT0FBTTtJQUNOLFlBQVc7SUFDWCxXQUFVLEVBQ1g7RUFJRDtJQUNFLFlBQVc7SUFDWCxXQUFVLEVBQ1gsRUFBQTs7QUFjUDtFQStDTSxVQUFTO0VBQ1QsU0FBUTtFQUNSLFdBQVUsRUFDWDs7QUFJTDtFQUNFLGFBQVksRUFLYjtFQU5EO0lBSUksYUFBWSxFQUNiOztBQUdIO0VBQ0UsbUJBQWtCLEVBOEJuQjtFQS9CRDtJQUlJLG1CQUFrQjtJQUNsQixTQUFRO0lBQ1IsV0FBcUI7SUFDckIsV0FBcUI7SUFDckIsaUJBQXlDLEVBQzFDO0VBVEg7SUFhSSxVQUFTO0lBS1AsV0FBVSxFQUViO0VBcEJIO0lBdUJJLFlBQVc7SUFDWCxXQUFVLEVBQ1g7RUF6Qkg7SUE0QkksWUFBVztJQUNYLFdBQVUsRUFDWDs7QUFHSDtFQUNFLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sV0FBcUI7RUFDckIsV0FBVTtFQUVWLGNBQWE7RUFDYixpQnBEa0owQjtFb0RoSjFCLDBCcEQzS2lCO0VvRDRLakIscUNwRHpLVyxFb0RvTVo7RUF6QkM7SUFDRSx1QnBEK0k4QixFb0Q5SS9CO0VBZEg7SUF3Qk0saUJwRHVJaUIsRW9EdElsQjtFQXpCTDtJQTZCSSxZQUFXLEVBQ1o7RUE5Qkg7SUFtQ0ksZUFBYyxFQUNmOztBQ3pMSDtFQUNFLGlCQUFnQixFQUNqQjs7QUFHRDtFQUNFLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztFQUNQLFlyRHNaeUI7RXFEcFp6QixZQUFXO0VBQ1gsYUFBWTtFQUVaLDREckRzWjhCO0VxRHRaOUIsb0RyRHNaOEI7RXFEcFo5QixzQ3JEMUJXO0VxRDRCWCxXQUFVO0VBQ1YsbUJBQWtCO0VBRWxCLGlCQUFnQixFQWtCakI7RUFsQ0Q7SUFtQkksV0FBVTtJQUNWLG9CQUFtQixFQUNwQjtFQXJCSDtJQXdCSSxnQkFBZSxFQUNoQjtFQXpCSDtJQTRCSSxtQkFBa0IsRUFDbkI7RUE3Qkg7SUFnQ0ksZ0JBQWUsRUFDaEI7O0FBd1RIO0VBbFRBLG1CQUFrQjtFQUNsQixpQkFBZ0IsRUFtVGY7O0FBR0Q7RUExU0UsZ0JBQWU7RUFPakIsWXJEZ1d3QjtFcUR6VnhCLGdEckQ2VmdDO0VxRDdWaEMsd0NyRDZWZ0M7RXFEN1ZoQyxnQ3JENlZnQztFcUQ3VmhDLDZEckQ2VmdDO0VxRDVWaEMsb0NBQTJCO0VBQTNCLDRCQUEyQjtFQUUzQixvQnJEeEZrQixFcUR5WGpCO0U1RG0yUkQ7SVMvbFNFLFdBQVUsRUFDWDtFbUQ3Q0Q7SUFDRSxZckQ0VnNCLEVxRDNWdkI7RUFRRDtJQUNFLG1CQUFrQixFQUNuQjtFQUdEO0lBQ0UsWXJEOFV5QixFcUR6VTFCO0lBSEM7TUFDRSxtRHJEakdTO01xRGlHVCwyQ3JEakdTLEVxRGtHVjtFQUlIO0lBQ0UsbUNBQTBCO0lBQTFCLCtCQUEwQjtJQUExQiwyQkFBMEIsRUFDM0I7O0FBaVJEO0VBbFRFLG1CQUFrQjtFQUlwQixZckRnV3dCO0VxRHpWeEIsZ0RyRDZWZ0M7RXFEN1ZoQyx3Q3JENlZnQztFcUQ3VmhDLGdDckQ2VmdDO0VxRDdWaEMsNkRyRDZWZ0M7RXFENVZoQyxvQ0FBMkI7RUFBM0IsNEJBQTJCO0VBRTNCLG9CckR4RmtCLEVxRDhYakI7RTVEaTNSRDtJU2xuU0UsV0FBVSxFQUNYO0VtRDdDRDtJQUNFLFlyRDRWc0IsRXFEM1Z2QjtFQVFEO0lBQ0UsbUJBQWtCLEVBQ25CO0VBR0Q7SUFDRSxZckQ4VXlCLEVxRHpVMUI7SUFIQztNQUNFLG1EckRqR1M7TXFEaUdULDJDckRqR1MsRXFEa0dWO0VBSUg7SUFDRSxtQ0FBMEI7SUFBMUIsK0JBQTBCO0lBQTFCLDJCQUEwQixFQUMzQjs7QUFzUkQ7RUE1UUUsT0FBTTtFQUNOLFFBQU87RUFDUCxhQUFZO0VBQ1osaUJBQWdCO0VBSVosYXJEd1NNO0VxRHZTTixzQ0FBNkI7RUFBN0Isa0NBQTZCO0VBQTdCLDhCQUE2QixFQW9RcUM7RUEvUDlEO0lBSUYsc0NBQTZCO0lBQTdCLGtDQUE2QjtJQUE3Qiw4QkFBNkIsRUFNbEM7SUFWTztNQVFKLG1DQUEwQjtNQUExQiwrQkFBMEI7TUFBMUIsMkJBQTBCLEVBQzNCO0VBSUs7SUFJQSxxQ0FBNEI7SUFBNUIsaUNBQTRCO0lBQTVCLDZCQUE0QixFQUdqQztFQW9ISDtJbkQ3VEEsb0VGc0RXO0lFdERYLDRERnNEVyxFcURvUlY7O0FBMkdIO0VBeE9FLE9BQU07RUFDTixTQUFRO0VBQ1IsYUFBWTtFQUNaLGlCQUFnQjtFQUlaLGFyRG1RTTtFcURsUU4scUNBQTRCO0VBQTVCLGlDQUE0QjtFQUE1Qiw2QkFBNEIsRUFnT3NDO0VBM045RDtJQUlGLHFDQUE0QjtJQUE1QixpQ0FBNEI7SUFBNUIsNkJBQTRCLEVBTWpDO0lBVk87TUFRSixtQ0FBMEI7TUFBMUIsK0JBQTBCO01BQTFCLDJCQUEwQixFQUMzQjtFQUlLO0lBSUEsc0NBQTZCO0lBQTdCLGtDQUE2QjtJQUE3Qiw4QkFBNkIsRUFHbEM7RUErRUg7SW5EL1RBLG1FRndEVztJRXhEWCwyREZ3RFcsRXFEb1JWOztBQTRHSDtFQXBNRSxPQUFNO0VBQ04sUUFBTztFQUNQLFlBQVc7RUFDWCxpQkFBZ0I7RUFJWixjckRpT007RXFEaE9OLHNDQUE2QjtFQUE3QixrQ0FBNkI7RUFBN0IsOEJBQTZCLEVBNExtQztFQXZMNUQ7SUFHRixzQ0FBNkI7SUFBN0Isa0NBQTZCO0lBQTdCLDhCQUE2QixFQU1sQztJQVRPO01BT0osbUNBQTBCO01BQTFCLCtCQUEwQjtNQUExQiwyQkFBMEIsRUFDM0I7RUFJSztJQUlBLHFDQUE0QjtJQUE1QixpQ0FBNEI7SUFBNUIsNkJBQTRCLEVBR2pDO0VBMkNIO0luRDNUQSxvRUZvRFc7SUVwRFgsNERGb0RXLEVxRG9SVjs7QUE2R0g7RUFqS0UsVUFBUztFQUNULFFBQU87RUFDUCxZQUFXO0VBQ1gsaUJBQWdCO0VBSVosY3JENkxNO0VxRDVMTixxQ0FBNEI7RUFBNUIsaUNBQTRCO0VBQTVCLDZCQUE0QixFQXlKb0M7RUFwSjVEO0lBR0YscUNBQTRCO0lBQTVCLGlDQUE0QjtJQUE1Qiw2QkFBNEIsRUFNakM7SUFUTztNQU9KLG1DQUEwQjtNQUExQiwrQkFBMEI7TUFBMUIsMkJBQTBCLEVBQzNCO0VBSUs7SUFJQSxzQ0FBNkI7SUFBN0Isa0NBQTZCO0lBQTdCLDhCQUE2QixFQUdsQztFQU9IO0luRGpVQSxtRUYwRFc7SUUxRFgsMkRGMERXLEVxRG9SVjs7QUErR0g7RUF4R0Esd0JBQWU7RUFBZixvQkFBZTtFQUFmLGdCQUFlO0VBQ2YsZ0RyRG1KZ0M7RXFEbkpoQyx3Q3JEbUpnQztFcURuSmhDLGdDckRtSmdDO0VxRG5KaEMsNkRyRG1KZ0M7RXFEbEpoQyxvQ0FBMkI7RUFBM0IsNEJBQTJCLEVBd0cxQjtFQXJHRDtJQUNFLG1DQUEwQjtJQUExQiwrQkFBMEI7SUFBMUIsMkJBQTBCLEVBQzNCO0VBR0Q7SUFDRSxtQ0FBMEI7SUFBMUIsK0JBQTBCO0lBQTFCLDJCQUEwQixFQUMzQjs7QXhEak5HO0V3RHFURTtJQTFGTix3QkFBZTtJQUFmLG9CQUFlO0lBQWYsZ0JBQWU7SUFDZixZckQySDBCO0lxRDFIMUIseUJBQWdCO0lBQWhCLGlCQUFnQjtJQUNoQixvQkFBbUIsRUF5Rlo7SUFuRlA7TUFDRSxjQUFhLEVBQ2Q7SUFHRDtNQUNFLHdCQUFlO01BQWYsb0JBQWU7TUFBZixnQkFBZSxFQUNoQjtJQUVPO01BQ04sbUJyRDZGVSxFcUQ1Rlg7SUFHRDtNQUNFLG1CckR3RlUsRXFEdkZYO0VBcUVLO0lBOUZOLHdCQUFlO0lBQWYsb0JBQWU7SUFBZixnQkFBZTtJQUNmLFlyRDJIMEI7SXFEMUgxQix5QkFBZ0I7SUFBaEIsaUJBQWdCO0lBQ2hCLG9CQUFtQixFQTZGWjtJQXZGUDtNQUNFLGNBQWEsRUFDZDtJQUdEO01BQ0Usd0JBQWU7TUFBZixvQkFBZTtNQUFmLGdCQUFlLEVBQ2hCO0lBRU87TUFDTixvQnJENkZVLEVxRDVGWDtJQUdEO01BQ0Usb0JyRHdGVSxFcUR2Rlg7RUF5RUs7SUFsR04sd0JBQWU7SUFBZixvQkFBZTtJQUFmLGdCQUFlO0lBQ2YsWXJEMkgwQjtJcUQxSDFCLHlCQUFnQjtJQUFoQixpQkFBZ0I7SUFDaEIsb0JBQW1CLEVBaUdaO0lBM0ZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtNQUFmLG9CQUFlO01BQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLGtCckQ2RlUsRXFENUZYO0lBR0Q7TUFDRSxrQnJEd0ZVLEVxRHZGWDtFQTZFSztJQXRHTix3QkFBZTtJQUFmLG9CQUFlO0lBQWYsZ0JBQWU7SUFDZixZckQySDBCO0lxRDFIMUIseUJBQWdCO0lBQWhCLGlCQUFnQjtJQUNoQixvQkFBbUIsRUFxR1o7SUEvRlA7TUFDRSxjQUFhLEVBQ2Q7SUFHRDtNQUNFLHdCQUFlO01BQWYsb0JBQWU7TUFBZixnQkFBZSxFQUNoQjtJQUVPO01BQ04scUJyRDZGVSxFcUQ1Rlg7SUFHRDtNQUNFLHFCckR3RlUsRXFEdkZYLEVBQUE7O0F4RHBQRztFd0RxVEU7SUExRk4sd0JBQWU7SUFBZixvQkFBZTtJQUFmLGdCQUFlO0lBQ2YsWXJEMkgwQjtJcUQxSDFCLHlCQUFnQjtJQUFoQixpQkFBZ0I7SUFDaEIsb0JBQW1CLEVBeUZaO0lBbkZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtNQUFmLG9CQUFlO01BQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLG1CckQ2RlUsRXFENUZYO0lBR0Q7TUFDRSxtQnJEd0ZVLEVxRHZGWDtFQXFFSztJQTlGTix3QkFBZTtJQUFmLG9CQUFlO0lBQWYsZ0JBQWU7SUFDZixZckQySDBCO0lxRDFIMUIseUJBQWdCO0lBQWhCLGlCQUFnQjtJQUNoQixvQkFBbUIsRUE2Rlo7SUF2RlA7TUFDRSxjQUFhLEVBQ2Q7SUFHRDtNQUNFLHdCQUFlO01BQWYsb0JBQWU7TUFBZixnQkFBZSxFQUNoQjtJQUVPO01BQ04sb0JyRDZGVSxFcUQ1Rlg7SUFHRDtNQUNFLG9CckR3RlUsRXFEdkZYO0VBeUVLO0lBbEdOLHdCQUFlO0lBQWYsb0JBQWU7SUFBZixnQkFBZTtJQUNmLFlyRDJIMEI7SXFEMUgxQix5QkFBZ0I7SUFBaEIsaUJBQWdCO0lBQ2hCLG9CQUFtQixFQWlHWjtJQTNGUDtNQUNFLGNBQWEsRUFDZDtJQUdEO01BQ0Usd0JBQWU7TUFBZixvQkFBZTtNQUFmLGdCQUFlLEVBQ2hCO0lBRU87TUFDTixrQnJENkZVLEVxRDVGWDtJQUdEO01BQ0Usa0JyRHdGVSxFcUR2Rlg7RUE2RUs7SUF0R04sd0JBQWU7SUFBZixvQkFBZTtJQUFmLGdCQUFlO0lBQ2YsWXJEMkgwQjtJcUQxSDFCLHlCQUFnQjtJQUFoQixpQkFBZ0I7SUFDaEIsb0JBQW1CLEVBcUdaO0lBL0ZQO01BQ0UsY0FBYSxFQUNkO0lBR0Q7TUFDRSx3QkFBZTtNQUFmLG9CQUFlO01BQWYsZ0JBQWUsRUFDaEI7SUFFTztNQUNOLHFCckQ2RlUsRXFENUZYO0lBR0Q7TUFDRSxxQnJEd0ZVLEVxRHZGWCxFQUFBOztBeERwUEc7RXdENFVFO0lBbkZOLG9CQUFtQjtJQUNuQixhQUFZO0lBQ1osaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQUNoQixZQUFXO0lBQ1gsa0JBQWlCO0lBQ2pCLHlCQUFnQjtJQUFoQixpQkFBZ0IsRUErRVQ7SUE1RVA7TUFJRSx5QkFBZ0I7TUFBaEIsaUJBQWdCO01BQ2hCLHdCQUFlO01BQWYsb0JBQWU7TUFBZixnQkFBZSxFQUNoQjtJQUVEO01BQ0UsY0FBYSxFQUNkLEVBQUE7O0F4RDVRRztFd0Q0VUU7SUFuRk4sb0JBQW1CO0lBQ25CLGFBQVk7SUFDWixpQkFBZ0I7SUFDaEIsaUJBQWdCO0lBQ2hCLFlBQVc7SUFDWCxrQkFBaUI7SUFDakIseUJBQWdCO0lBQWhCLGlCQUFnQixFQStFVDtJQTVFUDtNQUlFLHlCQUFnQjtNQUFoQixpQkFBZ0I7TUFDaEIsd0JBQWU7TUFBZixvQkFBZTtNQUFmLGdCQUFlLEVBQ2hCO0lBRUQ7TUFDRSxjQUFhLEVBQ2QsRUFBQTs7QXZEOVNEO0VBQ0UsZ0JBQWU7RUFDZixZQUFXO0VBQ1gsbUJBQWtCLEVBU25CO0VBWkQ7SUFNSSxtQkFBa0IsRUFDbkI7RUFQSDtJQVVJLG1CQUFrQixFQUNuQjs7QUFJSDtFQTNGQSxnQkFBZTtFQUNmLE9BQU07RUFDTixTQUFRO0VBQ1IsVUFBUztFQUNULFFBQU87RUFDUCxjRW9xQmtCO0VGbHFCbEIsY0FBYTtFQUNiLHlDRWdCYTtFRmZiLGlCQUFnQixFQW9GZjs7QUFHRDtFQWpGQSxjRTBwQmtCO0VGeHBCbEIsb0NBQTJCO0VBQTNCLDRCQUEyQjtFQUUzQixjQUFhO0VBQ2IsY0VXbUI7RUZUbkIsMEJFQW1CO0VGQ25CLGlCRVllO0VGWGYsMEJFQ2E7RUYwRVgsbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixtQkFBa0I7RUFDbEIsa0JBQWlCO0VBQ2pCLGlCQUFnQixFQXdCakI7RUxzNFNEO0lTbjNTRSxXQUFVLEVBQ1g7RUxyQ0c7SUNkSjtNQXJFRSxjQUFhLEVBb0dkLEVBQUE7RUFoR0Q7SUFDRSxhQUFZLEVBQ2I7RUFHRDtJQUNFLGlCQUFnQixFQUNqQjtFRHdFRztJQ2RKO01BN0NFLGFFaW5CZ0I7TUZobkJoQix1QkdwQnFELEVIK0Z0RCxFQUFBO0VBL0JEO0lBV0ksV0FBVSxFQUNYO0VERUM7SUNkSjtNQTdDRSxXQTREeUM7TUEzRHpDLHVCR3BCcUQsRUgrRVAsRUFBQTtFREQ1QztJQ2RKO01BN0NFLFdBNkR5QztNQTVEekMsdUJHcEJxRCxFSGdGUCxFQUFBO0VERjVDO0lDZEo7TUE3Q0UsV0E4RHlDO01BN0R6Qyx1QkdwQnFELEVIaUZQLEVBQUE7RUFqQmhEO0lBdENBLE9BQU07SUFDTixTQUFRO0lBQ1IsVUFBUztJQUNULFFBQU87SUFFUCxZQUFXO0lBQ1gsZ0JBQWU7SUFDZixhQUFZO0lBQ1osaUJBQWdCO0lBQ2hCLGVBQWM7SUFFZCxVQUFTO0lBQ1QsaUJBQWdCLEVBZ0RiO0VESEM7SUNuQko7TUF0Q0EsT0FBTTtNQUNOLFNBQVE7TUFDUixVQUFTO01BQ1QsUUFBTztNQUVQLFlBQVc7TUFDWCxnQkFBZTtNQUNmLGFBQVk7TUFDWixpQkFBZ0I7TUFDaEIsZUFBYztNQUVkLFVBQVM7TUFDVCxpQkFBZ0IsRUF5RGYsRUFBQTtFQS9CRDtJQTZCSSxnQkFBZSxFQUNoQjs7QXdEakxIO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVix3Q0FBK0I7RUFBL0IsZ0NBQStCLEVBQ2hDOztBQUVEO0VBQ0UsZ0JBQWU7RUFDZixXQUFVO0VBQ1YsWUFBVyxFQVNaO0VBWkQ7SUFNSSxPQUFNLEVBQ1A7RUFQSDtJQVVJLFVBQVMsRUFDVjs7QUFHSDtFQUNFLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsV0FBVSxFQUtYO0VBUkQ7SUFNSSxVQUFTLEVBQ1Y7O0FDQ0g7RUFDRSxnQnZEaXhCcUI7RXVEaHhCckIsb0J2RHlDVztFdUR4Q1gsZXZEeUNXO0V1RHRDVCxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isd0JBQTJCO0VBQTNCLG9DQUEyQjtFQUEzQixxQkFBMkI7RUFBM0IsNEJBQTJCO0VBQzNCLDBCQUFtQjtFQUFuQiw0QkFBbUI7RUFBbkIsdUJBQW1CO0VBQW5CLG9CQUFtQixFQVV0QjtFQWxCRDtJQWVJLHFCdkR1d0J5QjtJdUR0d0J6QixzQnZEc3dCeUIsRXVEcndCMUI7O0FBSUQ7O0VBRUUsb0JBQWE7RUFBYixzQkFBYTtFQUFiLGtCQUFhO0VBQWIsY0FBYSxFQUNkOztBQUVEO0VBQ0Usa0JBQWlCLEVBQ2xCOztBQWFIO0VBQ0Usc0JBQXFCO0VBQ3JCLHVCQUFzQjtFQUN0QixrQnZEdXVCNEIsRXVEdHVCN0I7O0FDdUNEO0VBdEZFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwwQkFBaUI7RUFBakIsc0JBQWlCO0VBQWpCLGtCQUFpQjtFQUNqQiwwQkFBOEI7RUFBOUIsdUNBQThCO0VBQTlCLHVCQUE4QjtFQUE5QiwrQkFBOEI7RUFDOUIsMEJBQW1CO0VBQW5CLDRCQUFtQjtFQUFuQix1QkFBbUI7RUFBbkIsb0JBQW1CO0VBTXJCLGdCeERteUJxQjtFd0Rqd0JuQix3QkFBZTtFQUFmLG9CQUFlO0VBQWYsZ0JBQWUsRUErRGhCO0VBL0ZEOztJQUVFLDBCeEQ2QmdCLEV3RDVCakI7RUFVRDtJQUNFLGlCeER1eEJzQjtJd0R0eEJ0QixtQkFBb0MsRUFDckM7RUFHRDtJQUNFLFlBQVc7SUFDWCxnQkFBaUMsRUFDbEM7RUFFRDtJQUNFLFlBQVcsRUFDWjtFQVNDOztJQUVFLG9CQUFjO0lBQWQsdUJBQWM7SUFBZCxtQkFBYztJQUFkLGVBQWM7SUFDZCxnQkFBZSxFQUNoQjtFM0RpRkM7STJEN0NKO01BdEJFLDBCQUFpQjtNQUFqQixzQkFBaUI7TUFBakIsa0JBQWlCLEVBMENsQjtNQXhDQztRQUNFLG9CQUFjO1FBQWQsdUJBQWM7UUFBZCxtQkFBYztRQUFkLGVBQWM7UUFDZCxtQkFBa0IsRUFDbkI7TUFFRDtRQUNFLG9CQUFjO1FBQWQsdUJBQWM7UUFBZCxtQkFBYztRQUFkLGVBQWM7UUFDZCxrQkFBaUIsRUFDbEIsRUFBQTtFM0Q4REM7STJEbERKO01BM0NFLHdCQUFlO01BQWYsb0JBQWU7TUFBZixnQkFBZSxFQTREVjtNQXpETDs7UUFFRSxvQkFBYztRQUFkLHVCQUFjO1FBQWQsbUJBQWM7UUFBZCxlQUFjO1FBQ2QsZ0JBQWUsRUFDaEIsRUFBQTtFM0RzRkM7STJEbERKO01BM0NFLHdCQUFlO01BQWYsb0JBQWU7TUFBZixnQkFBZSxFQTREVjtNQXpETDs7UUFFRSxvQkFBYztRQUFkLHVCQUFjO1FBQWQsbUJBQWM7UUFBZCxlQUFjO1FBQ2QsZ0JBQWUsRUFDaEIsRUFBQTs7QUE0REQ7RUFDRSxvQkFBYztFQUFkLHVCQUFjO0VBQWQsbUJBQWM7RUFBZCxlQUFjO0VBQ2QsNkJ4RCtyQnFDLEV3RDlyQnRDOztBQUVEOztFQUVFLG9CQUFjO0VBQWQsdUJBQWM7RUFBZCxtQkFBYztFQUFkLGVBQWMsRUFDZjs7QUNoSkg7RUFDRSx1QkFBc0IsRUFDdkI7O0FBRUQ7RUFDRSx3QkFBdUIsRUFDeEI7O0FBRUQ7RUFDRSxlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLGtCQUFpQixFQUNsQjs7QXZEb0pEO0VBRUUsZUFBYztFQUNkLGFBQVk7RUFHVixzQkFBYTtFQUFiLDJCQUFhO0VBQWIsY0FBYTtFQUNiLDZCQUFRO0VBQVIsaUJBQVE7RUFBUixrQkFBUTtFQUFSLFNBQVEsRUFFWDs7QUFFRDtFQUNFLFlBQVcsRUFDWjs7QXdEdEhEO0VBQ0UseUJBQXdCLEVBQ3pCOztBQUVEO0VBQ0UsbUJBQWtCLEVBQ25COztBN0RxR0c7RTZEdkZGO0lBMUJBLHlCQUF3QixFQTRCdkIsRUFBQTs7QUEvQ0Q7RUFpREE7SUFoREUseUJBQXdCLEVBa0R6QixFQUFBOztBN0Q0RUM7RTZEM0ZBO0lBekJGLHlCQUF3QixFQTJCckIsRUFBQTs7QTdEOEZEO0U2RDVGQTtJQWpFRix5QkFBd0IsRUFtRXJCLEVBQUE7O0E3RDBGRDtFNkR2RkY7SUExQkEseUJBQXdCLEVBNEJ2QixFQUFBOztBQS9DRDtFQWlEQTtJQWhERSx5QkFBd0IsRUFrRHpCLEVBQUE7O0E3RDRFQztFNkQzRkE7SUF6QkYseUJBQXdCLEVBMkJyQixFQUFBOztBN0Q4RkQ7RTZENUZBO0lBakVGLHlCQUF3QixFQW1FckIsRUFBQTs7QTdEMEZEO0U2RHZGRjtJQTFCQSx5QkFBd0IsRUE0QnZCLEVBQUE7O0FBL0NEO0VBaURBO0lBaERFLHlCQUF3QixFQWtEekIsRUFBQTs7QUFLSDs7RXhEbUhBLDhCQUE2QjtFQUM3QixXQUFVO0VBQ1YsWUFBVztFQUNYLFdBQVU7RUFDVixpQkFBZ0I7RUFDaEIsdUJBQW1CO0VBQ25CLG9CQUFtQjtFQUNuQixVQUFTLEV3RHZIUjs7QUFHRDtFeER5SEEsNEJBQTJCO0VBQzNCLFlBQVc7RUFDWCxhQUFZO0VBQ1osa0JBQWlCO0VBQ2pCLFdBQVU7RUFDVixvQkFBbUIsRXdEMUhoQjs7QUFJSDs7RUFFRSwwQkFBeUIsRUFTMUI7RTdEbURHO0k2RDlESjs7TUFLSSwwQkFBeUIsRUFNNUIsRUFBQTtFN0RtREc7STZEOURKOztNQVNJLHlCQUF3QixFQUUzQixFQUFBOztBQUVEOztFQUVFLHlCQUF3QixFQVN6QjtFN0RzQ0c7STZEakRKOztNQUtJLHlCQUF3QixFQU0zQixFQUFBO0U3RHNDRztJNkRqREo7O01BU0ksMEJBQXlCLEVBRTVCLEVBQUE7O0FDaEhDO0VDbEJGLG1DQ2tCYztFRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO0VEakNmLG1DQ2lDZTtFQ2dCYixxQ0FGeUI7RUFFekIsaUNBRnlCO0VBRXpCLDZCQUZ5QjtFQ3RCdkIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBR3pDLG9DQUEyQjtFQUEzQiw0QkFBMkIsRUpUMUI7O0FBVUQ7RUdvQkEsaUNBRnlCO0VBRXpCLDZCQUZ5QjtFQUV6Qix5QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLG1DQ2tCYztFRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO0VEakNmLG1DQ2lDZTtFQ2dCYixxQ0FGeUI7RUFFekIsaUNBRnlCO0VBRXpCLDZCQUZ5QjtFQ3RCdkIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBR3pDLG9DQUEyQjtFQUEzQiw0QkFBMkIsRUpUMUI7O0FBVUQ7RUdvQkEsaUNBRnlCO0VBRXpCLDZCQUZ5QjtFQUV6Qix5QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLG1DQ2tCYztFRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO0VEakNmLG1DQ2lDZTtFQ2dCYixvQ0FGeUI7RUFFekIsZ0NBRnlCO0VBRXpCLDRCQUZ5QjtFQ3RCdkIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBR3pDLG9DQUEyQjtFQUEzQiw0QkFBMkIsRUpUMUI7O0FBVUQ7RUdvQkEsaUNBRnlCO0VBRXpCLDZCQUZ5QjtFQUV6Qix5QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLG1DQ2tCYztFRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO0VEakNmLG1DQ2lDZTtFQ2dCYixvQ0FGeUI7RUFFekIsZ0NBRnlCO0VBRXpCLDRCQUZ5QjtFQ3RCdkIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBR3pDLG9DQUEyQjtFQUEzQiw0QkFBMkIsRUpUMUI7O0FBVUQ7RUdvQkEsaUNBRnlCO0VBRXpCLDZCQUZ5QjtFQUV6Qix5QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLG1DQ2tCYztFRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO0VEakNmLG1DQ2lDZTtFQ2dCYixpQ0FGeUI7RUFFekIsNkJBRnlCO0VBRXpCLHlCQUZ5QjtFQ3RCdkIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBR3pDLG9DQUEyQjtFQUEzQiw0QkFBMkIsRUpUMUI7O0FBVUQ7RUdvQkEsb0NBRnlCO0VBRXpCLGdDQUZ5QjtFQUV6Qiw0QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLG1DQ2tCYztFRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO0VEakNmLG1DQ2lDZTtFQ2dCYixpQ0FGeUI7RUFFekIsNkJBRnlCO0VBRXpCLHlCQUZ5QjtFQ3RCdkIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBR3pDLG9DQUEyQjtFQUEzQiw0QkFBMkIsRUpUMUI7O0FBVUQ7RUdvQkEsb0NBRnlCO0VBRXpCLGdDQUZ5QjtFQUV6Qiw0QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLG1DQ2tCYztFRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO0VEakNmLG1DQ2lDZTtFQ2dCYixpQ0FGeUI7RUFFekIsNkJBRnlCO0VBRXpCLHlCQUZ5QjtFQ3RCdkIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBR3pDLG9DQUEyQjtFQUEzQiw0QkFBMkIsRUpUMUI7O0FBVUQ7RUdvQkEscUNBRnlCO0VBRXpCLGlDQUZ5QjtFQUV6Qiw2QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLG1DQ2tCYztFRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO0VEakNmLG1DQ2lDZTtFQ2dCYixpQ0FGeUI7RUFFekIsNkJBRnlCO0VBRXpCLHlCQUZ5QjtFQ3RCdkIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBR3pDLG9DQUEyQjtFQUEzQiw0QkFBMkIsRUpUMUI7O0FBVUQ7RUdvQkEscUNBRnlCO0VBRXpCLGlDQUZ5QjtFQUV6Qiw2QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLG1DQ2tCYztFRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO0VEakNmLG1DQ2lDZTtFQ2dCYixXRmhDa0M7RUlFbEMscUNBQTRCO0VBQTVCLDZCQUE0QixFTEEzQjs7QUFVRDtFR29CQSxXRmhDcUMsRURjcEM7O0FBZEQ7RUNsQkYsbUNDa0JjO0VEbEJkLDJCQ2tCYztFRGpCZCwyQ0NpQ2U7RURqQ2YsbUNDaUNlO0VDZ0JiLFdGL0JrQztFSUNsQyxxQ0FBNEI7RUFBNUIsNkJBQTRCLEVMQTNCOztBQVVEO0VHb0JBLFdGL0JxQyxFRGFwQzs7QUFkRDtFQ2xCRixtQ0NrQmM7RURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtFRGpDZixtQ0NpQ2U7RUNnQmIsdURHckNtQztFSHFDbkMsK0NHckNtQztFSHFDbkMsOEJGNUJtRDtFRTRCbkQsMEJGNUJtRDtFRTRCbkQsc0JGNUJtRDtFTUlqRCx3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBQNUI7O0FBVUQ7RUdvQkEsb0RHVDRDO0VIUzVDLDRDR1Q0QztFQ0oxQyxXQUEyQixFUEw1Qjs7QUFkRDtFQ2xCRixtQ0NrQmM7RURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtFRGpDZixtQ0NpQ2U7RUNnQmIsdURHcENxQztFSG9DckMsK0NHcENxQztFSG9DckMsZ0NGM0JxRDtFRTJCckQsNEJGM0JxRDtFRTJCckQsd0JGM0JxRDtFTUduRCx3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBQNUI7O0FBVUQ7RUdvQkEsb0RHVDRDO0VIUzVDLDRDR1Q0QztFQ0oxQyxXQUEyQixFUEw1Qjs7QUFkRDtFQ2xCRixtQ0NrQmM7RURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtFRGpDZixtQ0NpQ2U7RUNnQmIsc0RHbkNpQztFSG1DakMsOENHbkNpQztFSG1DakMsaUNGMUJzRDtFRTBCdEQsNkJGMUJzRDtFRTBCdEQseUJGMUJzRDtFTUVwRCx3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBQNUI7O0FBVUQ7RUdvQkEsb0RHVDRDO0VIUzVDLDRDR1Q0QztFQ0oxQyxXQUEyQixFUEw1Qjs7QUFkRDtFQ2xCRixtQ0NrQmM7RURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtFRGpDZixtQ0NpQ2U7RUNnQmIsc0RHbEMrQjtFSGtDL0IsOENHbEMrQjtFSGtDL0IsK0JGekJvRDtFRXlCcEQsMkJGekJvRDtFRXlCcEQsdUJGekJvRDtFTUNsRCx3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBQNUI7O0FBVUQ7RUdvQkEsb0RHVDRDO0VIUzVDLDRDR1Q0QztFQ0oxQyxXQUEyQixFUEw1Qjs7QUFkRDtFQ2xCRixtQ0NrQmM7RURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtFRGpDZixtQ0NpQ2U7RUNnQmIsdURHckNtQztFSHFDbkMsK0NHckNtQztFSHFDbkMsaUNHRWU7RUhGZiw2QkdFZTtFSEZmLHlCR0VlO0VDMUJiLHdEQUF1QztFQUF2QyxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUFA1Qjs7QUFVRDtFR29CQSxvREdUNEM7RUhTNUMsNENHVDRDO0VDSjFDLFdBQTJCLEVQTDVCOztBQWREO0VDbEJGLG1DQ2tCYztFRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO0VEakNmLG1DQ2lDZTtFQ2dCYix1REdwQ3FDO0VIb0NyQywrQ0dwQ3FDO0VIb0NyQyxpQ0dFZTtFSEZmLDZCR0VlO0VIRmYseUJHRWU7RUMxQmIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQUDVCOztBQVVEO0VHb0JBLG9ER1Q0QztFSFM1Qyw0Q0dUNEM7RUNKMUMsV0FBMkIsRVBMNUI7O0FBZEQ7RUNsQkYsbUNDa0JjO0VEbEJkLDJCQ2tCYztFRGpCZCwyQ0NpQ2U7RURqQ2YsbUNDaUNlO0VDZ0JiLG9ER1A4QztFSE85Qyw0Q0dQOEM7RUhPOUMsOEJGdEJtRDtFRXNCbkQsMEJGdEJtRDtFRXNCbkQsc0JGdEJtRDtFTUZqRCx3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBQL0I7O0FBVUQ7RUdvQkEsc0RHL0I4QjtFSCtCOUIsOENHL0I4QjtFQ2tCNUIsV0FBOEIsRVBML0I7O0FBZEQ7RUNsQkYsbUNDa0JjO0VEbEJkLDJCQ2tCYztFRGpCZCwyQ0NpQ2U7RURqQ2YsbUNDaUNlO0VDZ0JiLG9ER1A4QztFSE85Qyw0Q0dQOEM7RUhPOUMsZ0NGckJxRDtFRXFCckQsNEJGckJxRDtFRXFCckQsd0JGckJxRDtFTUhuRCx3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBQL0I7O0FBVUQ7RUdvQkEsc0RHOUJnQztFSDhCaEMsOENHOUJnQztFQ2lCOUIsV0FBOEIsRVBML0I7O0FBZEQ7RUNsQkYsbUNDa0JjO0VEbEJkLDJCQ2tCYztFRGpCZCwyQ0NpQ2U7RURqQ2YsbUNDaUNlO0VDZ0JiLG9ER1A4QztFSE85Qyw0Q0dQOEM7RUhPOUMsaUNGcEJzRDtFRW9CdEQsNkJGcEJzRDtFRW9CdEQseUJGcEJzRDtFTUpwRCx3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBQL0I7O0FBVUQ7RUdvQkEsdURHN0JzQztFSDZCdEMsK0NHN0JzQztFQ2dCcEMsV0FBOEIsRVBML0I7O0FBZEQ7RUNsQkYsbUNDa0JjO0VEbEJkLDJCQ2tCYztFRGpCZCwyQ0NpQ2U7RURqQ2YsbUNDaUNlO0VDZ0JiLG9ER1A4QztFSE85Qyw0Q0dQOEM7RUhPOUMsK0JGbkJvRDtFRW1CcEQsMkJGbkJvRDtFRW1CcEQsdUJGbkJvRDtFTUxsRCx3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBQL0I7O0FBVUQ7RUdvQkEsdURHNUJvQztFSDRCcEMsK0NHNUJvQztFQ2VsQyxXQUE4QixFUEwvQjs7QUFkRDtFQ2xCRixtQ0NrQmM7RURsQmQsMkJDa0JjO0VEakJkLDJDQ2lDZTtFRGpDZixtQ0NpQ2U7RUNnQmIsb0RHUDhDO0VITzlDLDRDR1A4QztFSE85QyxpQ0dFZTtFSEZmLDZCR0VlO0VIRmYseUJHRWU7RUMxQmIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQUC9COztBQVVEO0VHb0JBLHNERy9COEI7RUgrQjlCLDhDRy9COEI7RUNrQjVCLFdBQThCLEVQTC9COztBQWREO0VDbEJGLG1DQ2tCYztFRGxCZCwyQkNrQmM7RURqQmQsMkNDaUNlO0VEakNmLG1DQ2lDZTtFQ2dCYixvREdQOEM7RUhPOUMsNENHUDhDO0VITzlDLGlDR0VlO0VIRmYsNkJHRWU7RUhGZix5QkdFZTtFQzFCYix3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBQL0I7O0FBVUQ7RUdvQkEsc0RHOUJnQztFSDhCaEMsOENHOUJnQztFQ2lCOUIsV0FBOEIsRVBML0I7O0FBZEQ7RUNsQkYsbUNDa0JjO0VEbEJkLDJCQ2tCYztFRGpCZCwyQ0NpQ2U7RURqQ2YsbUNDaUNlO0VDZ0JiLDhCQUZ5QjtFQUV6QiwwQkFGeUI7RUFFekIsc0JBRnlCO0VLekJ2Qix3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVJKNUI7O0FBVUQ7RUdvQkEsNEJBRnlCO0VBRXpCLHdCQUZ5QjtFQUV6QixvQkFGeUI7RUtkdkIsV0FBMkIsRVJGNUI7O0FBZEQ7RUNsQkYsbUNDa0JjO0VEbEJkLDJCQ2tCYztFRGpCZCwyQ0NpQ2U7RURqQ2YsbUNDaUNlO0VDZ0JiLDhCQUZ5QjtFQUV6QiwwQkFGeUI7RUFFekIsc0JBRnlCO0VLekJ2Qix3REFBdUM7RUFBdkMsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVJKNUI7O0FBVUQ7RUdvQkEsNEJBRnlCO0VBRXpCLHdCQUZ5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QTs7QUZnRWxCOzs7O0VBSUUsa0NDL0RZO0VEK0RaLDBCQy9EWSxFRGdFYjs7QUFJRDtFQUFZLDRDQUFtQztFQUFuQyxvQ0FBbUMsRUFBSTs7QUFsQy9DO0VBc0NZLDZDQUFxQztFQUFyQyxxQ0FBcUMsRUFBSTs7QUF0Q3JEO0VBc0NZLDZDQUFxQztFQUFyQyxxQ0FBcUMsRUFBSTs7QUFoQ3JEO0VBc0NZLHFEQUE0QztFQUE1Qyw2Q0FBNEMsRUFBSTs7QUF0QzVEO0VBc0NZLG1EQUE0QztFQUE1QywyQ0FBNEMsRUFBSTs7QUF0QzVEO0VBc0NZLHNEQUE0QztFQUE1Qyw4Q0FBNEMsRUFBSTs7QUF0QzVEO0VBc0NZLHVEQUE0QztFQUE1QywrQ0FBNEMsRUFBSTs7QUF0QzVEO0VBc0NZLDBEQUE0QztFQUE1QyxrREFBNEMsRUFBSTs7QUF0QzVEO0VBc0NZLHNGQUE0QztFQUE1Qyw4RUFBNEMsRUFBSTs7QUF0QzVEO0VBc0NZLHVGQUE0QztFQUE1QywrRUFBNEMsRUFBSTs7QUF0QzVEO0VBc0NZLHNGQUE0QztFQUE1Qyw4RUFBNEMsRUFBSTs7QUFoQzVEO0VBc0NrQiwwQ0FBa0M7RUFBbEMsa0NBQWtDLEVBQUk7O0FBdEN4RDtFQXNDa0IsMENBQWtDO0VBQWxDLGtDQUFrQyxFQUFJIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDEwMC4uOTAwJmRpc3BsYXk9c3dhcFwiKTtcbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNS4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbCwgLnJldmVhbC50aW55LCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLmxhcmdlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyogRm91bmRhdGlvbiAqL1xuLyogRm9udCBwYXRoIHZhcmlhYmxlICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJY29ucyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvb3Blbi1pY29uaWMuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wZW4taWNvbmljLmVvdD8jaWNvbmljLXNtXCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9vcGVuLWljb25pYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL29wZW4taWNvbmljLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvb3Blbi1pY29uaWMub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9vcGVuLWljb25pYy5zdmcjaWNvbmljLXNtXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi5maS1hY2NvdW50LWxvZ2luOmJlZm9yZSxcbi5maS1hY2NvdW50LWxvZ291dDpiZWZvcmUsXG4uZmktYWN0aW9uLXJlZG86YmVmb3JlLFxuLmZpLWFjdGlvbi11bmRvOmJlZm9yZSxcbi5maS1hbGlnbi1jZW50ZXI6YmVmb3JlLFxuLmZpLWFsaWduLWxlZnQ6YmVmb3JlLFxuLmZpLWFsaWduLXJpZ2h0OmJlZm9yZSxcbi5maS1hcGVydHVyZTpiZWZvcmUsXG4uZmktYXJyb3ctYm90dG9tOmJlZm9yZSxcbi5maS1hcnJvdy1jaXJjbGUtYm90dG9tOmJlZm9yZSxcbi5maS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUsXG4uZmktYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSxcbi5maS1hcnJvdy1jaXJjbGUtdG9wOmJlZm9yZSxcbi5maS1hcnJvdy1sZWZ0OmJlZm9yZSxcbi5maS1hcnJvdy1yaWdodDpiZWZvcmUsXG4uZmktYXJyb3ctdGhpY2stYm90dG9tOmJlZm9yZSxcbi5maS1hcnJvdy10aGljay1sZWZ0OmJlZm9yZSxcbi5maS1hcnJvdy10aGljay1yaWdodDpiZWZvcmUsXG4uZmktYXJyb3ctdGhpY2stdG9wOmJlZm9yZSxcbi5maS1hcnJvdy10b3A6YmVmb3JlLFxuLmZpLWF1ZGlvLXNwZWN0cnVtOmJlZm9yZSxcbi5maS1hdWRpbzpiZWZvcmUsXG4uZmktYmFkZ2U6YmVmb3JlLFxuLmZpLWJhbjpiZWZvcmUsXG4uZmktYmFyLWNoYXJ0OmJlZm9yZSxcbi5maS1iYXNrZXQ6YmVmb3JlLFxuLmZpLWJhdHRlcnktZW1wdHk6YmVmb3JlLFxuLmZpLWJhdHRlcnktZnVsbDpiZWZvcmUsXG4uZmktYmVha2VyOmJlZm9yZSxcbi5maS1iZWxsOmJlZm9yZSxcbi5maS1ibHVldG9vdGg6YmVmb3JlLFxuLmZpLWJvbGQ6YmVmb3JlLFxuLmZpLWJvbHQ6YmVmb3JlLFxuLmZpLWJvb2s6YmVmb3JlLFxuLmZpLWJvb2ttYXJrOmJlZm9yZSxcbi5maS1ib3g6YmVmb3JlLFxuLmZpLWJyaWVmY2FzZTpiZWZvcmUsXG4uZmktYnJpdGlzaC1wb3VuZDpiZWZvcmUsXG4uZmktYnJvd3NlcjpiZWZvcmUsXG4uZmktYnJ1c2g6YmVmb3JlLFxuLmZpLWJ1ZzpiZWZvcmUsXG4uZmktYnVsbGhvcm46YmVmb3JlLFxuLmZpLWNhbGN1bGF0b3I6YmVmb3JlLFxuLmZpLWNhbGVuZGFyOmJlZm9yZSxcbi5maS1jYW1lcmEtc2xyOmJlZm9yZSxcbi5maS1jYXJldC1ib3R0b206YmVmb3JlLFxuLmZpLWNhcmV0LWxlZnQ6YmVmb3JlLFxuLmZpLWNhcmV0LXJpZ2h0OmJlZm9yZSxcbi5maS1jYXJldC10b3A6YmVmb3JlLFxuLmZpLWNhcnQ6YmVmb3JlLFxuLmZpLWNoYXQ6YmVmb3JlLFxuLmZpLWNoZWNrOmJlZm9yZSxcbi5maS1jaGV2cm9uLWJvdHRvbTpiZWZvcmUsXG4uZmktY2hldnJvbi1sZWZ0OmJlZm9yZSxcbi5maS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSxcbi5maS1jaGV2cm9uLXRvcDpiZWZvcmUsXG4uZmktY2lyY2xlLWNoZWNrOmJlZm9yZSxcbi5maS1jaXJjbGUteDpiZWZvcmUsXG4uZmktY2xpcGJvYXJkOmJlZm9yZSxcbi5maS1jbG9jazpiZWZvcmUsXG4uZmktY2xvdWQtZG93bmxvYWQ6YmVmb3JlLFxuLmZpLWNsb3VkLXVwbG9hZDpiZWZvcmUsXG4uZmktY2xvdWQ6YmVmb3JlLFxuLmZpLWNsb3VkeTpiZWZvcmUsXG4uZmktY29kZTpiZWZvcmUsXG4uZmktY29nOmJlZm9yZSxcbi5maS1jb2xsYXBzZS1kb3duOmJlZm9yZSxcbi5maS1jb2xsYXBzZS1sZWZ0OmJlZm9yZSxcbi5maS1jb2xsYXBzZS1yaWdodDpiZWZvcmUsXG4uZmktY29sbGFwc2UtdXA6YmVmb3JlLFxuLmZpLWNvbW1hbmQ6YmVmb3JlLFxuLmZpLWNvbW1lbnQtc3F1YXJlOmJlZm9yZSxcbi5maS1jb21wYXNzOmJlZm9yZSxcbi5maS1jb250cmFzdDpiZWZvcmUsXG4uZmktY29weXdyaXRpbmc6YmVmb3JlLFxuLmZpLWNyZWRpdC1jYXJkOmJlZm9yZSxcbi5maS1jcm9wOmJlZm9yZSxcbi5maS1kYXNoYm9hcmQ6YmVmb3JlLFxuLmZpLWRhdGEtdHJhbnNmZXItZG93bmxvYWQ6YmVmb3JlLFxuLmZpLWRhdGEtdHJhbnNmZXItdXBsb2FkOmJlZm9yZSxcbi5maS1kZWxldGU6YmVmb3JlLFxuLmZpLWRpYWw6YmVmb3JlLFxuLmZpLWRvY3VtZW50OmJlZm9yZSxcbi5maS1kb2xsYXI6YmVmb3JlLFxuLmZpLWRvdWJsZS1xdW90ZS1zYW5zLWxlZnQ6YmVmb3JlLFxuLmZpLWRvdWJsZS1xdW90ZS1zYW5zLXJpZ2h0OmJlZm9yZSxcbi5maS1kb3VibGUtcXVvdGUtc2VyaWYtbGVmdDpiZWZvcmUsXG4uZmktZG91YmxlLXF1b3RlLXNlcmlmLXJpZ2h0OmJlZm9yZSxcbi5maS1kcm9wbGV0OmJlZm9yZSxcbi5maS1lamVjdDpiZWZvcmUsXG4uZmktZWxldmF0b3I6YmVmb3JlLFxuLmZpLWVsbGlwc2VzOmJlZm9yZSxcbi5maS1lbnZlbG9wZS1jbG9zZWQ6YmVmb3JlLFxuLmZpLWVudmVsb3BlLW9wZW46YmVmb3JlLFxuLmZpLWV1cm86YmVmb3JlLFxuLmZpLWV4Y2VycHQ6YmVmb3JlLFxuLmZpLWV4cGFuZC1kb3duOmJlZm9yZSxcbi5maS1leHBhbmQtbGVmdDpiZWZvcmUsXG4uZmktZXhwYW5kLXJpZ2h0OmJlZm9yZSxcbi5maS1leHBhbmQtdXA6YmVmb3JlLFxuLmZpLWV4dGVybmFsLWxpbms6YmVmb3JlLFxuLmZpLWV5ZTpiZWZvcmUsXG4uZmktZXllZHJvcHBlcjpiZWZvcmUsXG4uZmktZmlsZTpiZWZvcmUsXG4uZmktZmlyZTpiZWZvcmUsXG4uZmktZmxhZzpiZWZvcmUsXG4uZmktZmxhc2g6YmVmb3JlLFxuLmZpLWZvbGRlcjpiZWZvcmUsXG4uZmktZm9yazpiZWZvcmUsXG4uZmktZnVsbHNjcmVlbi1lbnRlcjpiZWZvcmUsXG4uZmktZnVsbHNjcmVlbi1leGl0OmJlZm9yZSxcbi5maS1nbG9iZTpiZWZvcmUsXG4uZmktZ3JhcGg6YmVmb3JlLFxuLmZpLWdyaWQtZm91ci11cDpiZWZvcmUsXG4uZmktZ3JpZC10aHJlZS11cDpiZWZvcmUsXG4uZmktZ3JpZC10d28tdXA6YmVmb3JlLFxuLmZpLWhhcmQtZHJpdmU6YmVmb3JlLFxuLmZpLWhlYWRlcjpiZWZvcmUsXG4uZmktaGVhZHBob25lczpiZWZvcmUsXG4uZmktaGVhcnQ6YmVmb3JlLFxuLmZpLWhvbWU6YmVmb3JlLFxuLmZpLWltYWdlOmJlZm9yZSxcbi5maS1pbmJveDpiZWZvcmUsXG4uZmktaW5maW5pdHk6YmVmb3JlLFxuLmZpLWluZm86YmVmb3JlLFxuLmZpLWl0YWxpYzpiZWZvcmUsXG4uZmktanVzdGlmeS1jZW50ZXI6YmVmb3JlLFxuLmZpLWp1c3RpZnktbGVmdDpiZWZvcmUsXG4uZmktanVzdGlmeS1yaWdodDpiZWZvcmUsXG4uZmkta2V5OmJlZm9yZSxcbi5maS1sYXB0b3A6YmVmb3JlLFxuLmZpLWxheWVyczpiZWZvcmUsXG4uZmktbGlnaHRidWxiOmJlZm9yZSxcbi5maS1saW5rLWJyb2tlbjpiZWZvcmUsXG4uZmktbGluay1pbnRhY3Q6YmVmb3JlLFxuLmZpLWxpc3QtcmljaDpiZWZvcmUsXG4uZmktbGlzdDpiZWZvcmUsXG4uZmktbG9jYXRpb246YmVmb3JlLFxuLmZpLWxvY2stbG9ja2VkOmJlZm9yZSxcbi5maS1sb2NrLXVubG9ja2VkOmJlZm9yZSxcbi5maS1sb29wLWNpcmN1bGFyOmJlZm9yZSxcbi5maS1sb29wLXNxdWFyZTpiZWZvcmUsXG4uZmktbG9vcDpiZWZvcmUsXG4uZmktbWFnbmlmeWluZy1nbGFzczpiZWZvcmUsXG4uZmktbWFwLW1hcmtlcjpiZWZvcmUsXG4uZmktbWFwOmJlZm9yZSxcbi5maS1tZWRpYS1wYXVzZTpiZWZvcmUsXG4uZmktbWVkaWEtcGxheTpiZWZvcmUsXG4uZmktbWVkaWEtcmVjb3JkOmJlZm9yZSxcbi5maS1tZWRpYS1za2lwLWJhY2t3YXJkOmJlZm9yZSxcbi5maS1tZWRpYS1za2lwLWZvcndhcmQ6YmVmb3JlLFxuLmZpLW1lZGlhLXN0ZXAtYmFja3dhcmQ6YmVmb3JlLFxuLmZpLW1lZGlhLXN0ZXAtZm9yd2FyZDpiZWZvcmUsXG4uZmktbWVkaWEtc3RvcDpiZWZvcmUsXG4uZmktbWVkaWNhbC1jcm9zczpiZWZvcmUsXG4uZmktbWVudTpiZWZvcmUsXG4uZmktbWljcm9waG9uZTpiZWZvcmUsXG4uZmktbWludXM6YmVmb3JlLFxuLmZpLW1vbml0b3I6YmVmb3JlLFxuLmZpLW1vb246YmVmb3JlLFxuLmZpLW1vdmU6YmVmb3JlLFxuLmZpLW11c2ljYWwtbm90ZTpiZWZvcmUsXG4uZmktcGFwZXJjbGlwOmJlZm9yZSxcbi5maS1wZW5jaWw6YmVmb3JlLFxuLmZpLXBlb3BsZTpiZWZvcmUsXG4uZmktcGVyc29uOmJlZm9yZSxcbi5maS1waG9uZTpiZWZvcmUsXG4uZmktcGllLWNoYXJ0OmJlZm9yZSxcbi5maS1waW46YmVmb3JlLFxuLmZpLXBsYXktY2lyY2xlOmJlZm9yZSxcbi5maS1wbHVzOmJlZm9yZSxcbi5maS1wb3dlci1zdGFuZGJ5OmJlZm9yZSxcbi5maS1wcmludDpiZWZvcmUsXG4uZmktcHJvamVjdDpiZWZvcmUsXG4uZmktcHVsc2U6YmVmb3JlLFxuLmZpLXB1enpsZS1waWVjZTpiZWZvcmUsXG4uZmktcXVlc3Rpb24tbWFyazpiZWZvcmUsXG4uZmktcmFpbjpiZWZvcmUsXG4uZmktcmFuZG9tOmJlZm9yZSxcbi5maS1yZWxvYWQ6YmVmb3JlLFxuLmZpLXJlc2l6ZS1ib3RoOmJlZm9yZSxcbi5maS1yZXNpemUtaGVpZ2h0OmJlZm9yZSxcbi5maS1yZXNpemUtd2lkdGg6YmVmb3JlLFxuLmZpLXJzcy1hbHQ6YmVmb3JlLFxuLmZpLXJzczpiZWZvcmUsXG4uZmktc2NyaXB0OmJlZm9yZSxcbi5maS1zaGFyZS1ib3hlZDpiZWZvcmUsXG4uZmktc2hhcmU6YmVmb3JlLFxuLmZpLXNoaWVsZDpiZWZvcmUsXG4uZmktc2lnbmFsOmJlZm9yZSxcbi5maS1zaWducG9zdDpiZWZvcmUsXG4uZmktc29ydC1hc2NlbmRpbmc6YmVmb3JlLFxuLmZpLXNvcnQtZGVzY2VuZGluZzpiZWZvcmUsXG4uZmktc3ByZWFkc2hlZXQ6YmVmb3JlLFxuLmZpLXN0YXI6YmVmb3JlLFxuLmZpLXN1bjpiZWZvcmUsXG4uZmktdGFibGV0OmJlZm9yZSxcbi5maS10YWc6YmVmb3JlLFxuLmZpLXRhZ3M6YmVmb3JlLFxuLmZpLXRhcmdldDpiZWZvcmUsXG4uZmktdGFzazpiZWZvcmUsXG4uZmktdGVybWluYWw6YmVmb3JlLFxuLmZpLXRleHQ6YmVmb3JlLFxuLmZpLXRodW1iLWRvd246YmVmb3JlLFxuLmZpLXRodW1iLXVwOmJlZm9yZSxcbi5maS10aW1lcjpiZWZvcmUsXG4uZmktdHJhbnNmZXI6YmVmb3JlLFxuLmZpLXRyYXNoOmJlZm9yZSxcbi5maS11bmRlcmxpbmU6YmVmb3JlLFxuLmZpLXZlcnRpY2FsLWFsaWduLWJvdHRvbTpiZWZvcmUsXG4uZmktdmVydGljYWwtYWxpZ24tY2VudGVyOmJlZm9yZSxcbi5maS12ZXJ0aWNhbC1hbGlnbi10b3A6YmVmb3JlLFxuLmZpLXZpZGVvOmJlZm9yZSxcbi5maS12b2x1bWUtaGlnaDpiZWZvcmUsXG4uZmktdm9sdW1lLWxvdzpiZWZvcmUsXG4uZmktdm9sdW1lLW9mZjpiZWZvcmUsXG4uZmktd2FybmluZzpiZWZvcmUsXG4uZmktd2lmaTpiZWZvcmUsXG4uZmktd3JlbmNoOmJlZm9yZSxcbi5maS14OmJlZm9yZSxcbi5maS15ZW46YmVmb3JlLFxuLmZpLXpvb20taW46YmVmb3JlLFxuLmZpLXpvb20tb3V0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnSWNvbnMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDsgfVxuXG5bY2xhc3MqPSdmaS0nXS5vaS1hbGlnbi1jZW50ZXI6YmVmb3JlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbltjbGFzcyo9J2ZpLSddLm9pLWFsaWduLWxlZnQ6YmVmb3JlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5bY2xhc3MqPSdmaS0nXS5vaS1hbGlnbi1yaWdodDpiZWZvcmUge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5bY2xhc3MqPSdmaS0nXS5vaS1mbGlwLWhvcml6b250YWw6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsgfVxuXG5bY2xhc3MqPSdmaS0nXS5vaS1mbGlwLXZlcnRpY2FsOmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cblxuW2NsYXNzKj0nZmktJ10ub2ktZmxpcC1ob3Jpem9udGFsLXZlcnRpY2FsOmJlZm9yZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgtMSwgLTEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIC0xKTsgfVxuXG4uZmktYWNjb3VudC1sb2dpbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDAwJzsgfVxuXG4uZmktYWNjb3VudC1sb2dvdXQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAwMSc7IH1cblxuLmZpLWFjdGlvbi1yZWRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMDInOyB9XG5cbi5maS1hY3Rpb24tdW5kbzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDAzJzsgfVxuXG4uZmktYWxpZ24tY2VudGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMDQnOyB9XG5cbi5maS1hbGlnbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMDUnOyB9XG5cbi5maS1hbGlnbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDA2JzsgfVxuXG4uZmktYXBlcnR1cmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAwNyc7IH1cblxuLmZpLWFycm93LWJvdHRvbTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDA4JzsgfVxuXG4uZmktYXJyb3ctY2lyY2xlLWJvdHRvbTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDA5JzsgfVxuXG4uZmktYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAwYSc7IH1cblxuLmZpLWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDBiJzsgfVxuXG4uZmktYXJyb3ctY2lyY2xlLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDBjJzsgfVxuXG4uZmktYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDBkJzsgfVxuXG4uZmktYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAwZSc7IH1cblxuLmZpLWFycm93LXRoaWNrLWJvdHRvbTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDBmJzsgfVxuXG4uZmktYXJyb3ctdGhpY2stbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDEwJzsgfVxuXG4uZmktYXJyb3ctdGhpY2stcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAxMSc7IH1cblxuLmZpLWFycm93LXRoaWNrLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDEyJzsgfVxuXG4uZmktYXJyb3ctdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMTMnOyB9XG5cbi5maS1hdWRpby1zcGVjdHJ1bTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDE0JzsgfVxuXG4uZmktYXVkaW86YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAxNSc7IH1cblxuLmZpLWJhZGdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMTYnOyB9XG5cbi5maS1iYW46YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAxNyc7IH1cblxuLmZpLWJhci1jaGFydDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDE4JzsgfVxuXG4uZmktYmFza2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMTknOyB9XG5cbi5maS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMWEnOyB9XG5cbi5maS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAxYic7IH1cblxuLmZpLWJlYWtlcjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDFjJzsgfVxuXG4uZmktYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDFkJzsgfVxuXG4uZmktYmx1ZXRvb3RoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMWUnOyB9XG5cbi5maS1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMWYnOyB9XG5cbi5maS1ib2x0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMjAnOyB9XG5cbi5maS1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMjEnOyB9XG5cbi5maS1ib29rbWFyazpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDIyJzsgfVxuXG4uZmktYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMjMnOyB9XG5cbi5maS1icmllZmNhc2U6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAyNCc7IH1cblxuLmZpLWJyaXRpc2gtcG91bmQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAyNSc7IH1cblxuLmZpLWJyb3dzZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAyNic7IH1cblxuLmZpLWJydXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMjcnOyB9XG5cbi5maS1idWc6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAyOCc7IH1cblxuLmZpLWJ1bGxob3JuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMjknOyB9XG5cbi5maS1jYWxjdWxhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMmEnOyB9XG5cbi5maS1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDJiJzsgfVxuXG4uZmktY2FtZXJhLXNscjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDJjJzsgfVxuXG4uZmktY2FyZXQtYm90dG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMmQnOyB9XG5cbi5maS1jYXJldC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMmUnOyB9XG5cbi5maS1jYXJldC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDJmJzsgfVxuXG4uZmktY2FyZXQtdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMzAnOyB9XG5cbi5maS1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMzEnOyB9XG5cbi5maS1jaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwMzInOyB9XG5cbi5maS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDMzJzsgfVxuXG4uZmktY2hldnJvbi1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAzNCc7IH1cblxuLmZpLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDM1JzsgfVxuXG4uZmktY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDM2JzsgfVxuXG4uZmktY2hldnJvbi10b3A6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAzNyc7IH1cblxuLmZpLWNpcmNsZS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDM4JzsgfVxuXG4uZmktY2lyY2xlLXg6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAzOSc7IH1cblxuLmZpLWNsaXBib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDNhJzsgfVxuXG4uZmktY2xvY2s6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAzYic7IH1cblxuLmZpLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwM2MnOyB9XG5cbi5maS1jbG91ZC11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAzZCc7IH1cblxuLmZpLWNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwM2UnOyB9XG5cbi5maS1jbG91ZHk6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTAzZic7IH1cblxuLmZpLWNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA0MCc7IH1cblxuLmZpLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDQxJzsgfVxuXG4uZmktY29sbGFwc2UtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDQyJzsgfVxuXG4uZmktY29sbGFwc2UtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDQzJzsgfVxuXG4uZmktY29sbGFwc2UtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA0NCc7IH1cblxuLmZpLWNvbGxhcHNlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNDUnOyB9XG5cbi5maS1jb21tYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNDYnOyB9XG5cbi5maS1jb21tZW50LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDQ3JzsgfVxuXG4uZmktY29tcGFzczpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDQ4JzsgfVxuXG4uZmktY29udHJhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA0OSc7IH1cblxuLmZpLWNvcHl3cml0aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNGEnOyB9XG5cbi5maS1jcmVkaXQtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDRiJzsgfVxuXG4uZmktY3JvcDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDRjJzsgfVxuXG4uZmktZGFzaGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNGQnOyB9XG5cbi5maS1kYXRhLXRyYW5zZmVyLWRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNGUnOyB9XG5cbi5maS1kYXRhLXRyYW5zZmVyLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDRmJzsgfVxuXG4uZmktZGVsZXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNTAnOyB9XG5cbi5maS1kaWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNTEnOyB9XG5cbi5maS1kb2N1bWVudDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDUyJzsgfVxuXG4uZmktZG9sbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNTMnOyB9XG5cbi5maS1kb3VibGUtcXVvdGUtc2Fucy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNTQnOyB9XG5cbi5maS1kb3VibGUtcXVvdGUtc2Fucy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDU1JzsgfVxuXG4uZmktZG91YmxlLXF1b3RlLXNlcmlmLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA1Nic7IH1cblxuLmZpLWRvdWJsZS1xdW90ZS1zZXJpZi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDU3JzsgfVxuXG4uZmktZHJvcGxldDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDU4JzsgfVxuXG4uZmktZWplY3Q6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA1OSc7IH1cblxuLmZpLWVsZXZhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNWEnOyB9XG5cbi5maS1lbGxpcHNlczpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDViJzsgfVxuXG4uZmktZW52ZWxvcGUtY2xvc2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNWMnOyB9XG5cbi5maS1lbnZlbG9wZS1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNWQnOyB9XG5cbi5maS1ldXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNWUnOyB9XG5cbi5maS1leGNlcnB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNWYnOyB9XG5cbi5maS1leHBhbmQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDYwJzsgfVxuXG4uZmktZXhwYW5kLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA2MSc7IH1cblxuLmZpLWV4cGFuZC1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDYyJzsgfVxuXG4uZmktZXhwYW5kLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNjMnOyB9XG5cbi5maS1leHRlcm5hbC1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNjQnOyB9XG5cbi5maS1leWU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA2NSc7IH1cblxuLmZpLWV5ZWRyb3BwZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA2Nic7IH1cblxuLmZpLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA2Nyc7IH1cblxuLmZpLWZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA2OCc7IH1cblxuLmZpLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA2OSc7IH1cblxuLmZpLWZsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNmEnOyB9XG5cbi5maS1mb2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA2Yic7IH1cblxuLmZpLWZvcms6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA2Yyc7IH1cblxuLmZpLWZ1bGxzY3JlZW4tZW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA2ZCc7IH1cblxuLmZpLWZ1bGxzY3JlZW4tZXhpdDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDZlJzsgfVxuXG4uZmktZ2xvYmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA2Zic7IH1cblxuLmZpLWdyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNzAnOyB9XG5cbi5maS1ncmlkLWZvdXItdXA6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA3MSc7IH1cblxuLmZpLWdyaWQtdGhyZWUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA3Mic7IH1cblxuLmZpLWdyaWQtdHdvLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNzMnOyB9XG5cbi5maS1oYXJkLWRyaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNzQnOyB9XG5cbi5maS1oZWFkZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA3NSc7IH1cblxuLmZpLWhlYWRwaG9uZXM6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA3Nic7IH1cblxuLmZpLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNzcnOyB9XG5cbi5maS1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwNzgnOyB9XG5cbi5maS1pbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDc5JzsgfVxuXG4uZmktaW5ib3g6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA3YSc7IH1cblxuLmZpLWluZmluaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwN2InOyB9XG5cbi5maS1pbmZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwN2MnOyB9XG5cbi5maS1pdGFsaWM6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA3ZCc7IH1cblxuLmZpLWp1c3RpZnktY2VudGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwN2UnOyB9XG5cbi5maS1qdXN0aWZ5LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA3Zic7IH1cblxuLmZpLWp1c3RpZnktcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA4MCc7IH1cblxuLmZpLWtleTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDgxJzsgfVxuXG4uZmktbGFwdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwODInOyB9XG5cbi5maS1sYXllcnM6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA4Myc7IH1cblxuLmZpLWxpZ2h0YnVsYjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDg0JzsgfVxuXG4uZmktbGluay1icm9rZW46YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA4NSc7IH1cblxuLmZpLWxpbmstaW50YWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwODYnOyB9XG5cbi5maS1saXN0LXJpY2g6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA4Nyc7IH1cblxuLmZpLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA4OCc7IH1cblxuLmZpLWxvY2F0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwODknOyB9XG5cbi5maS1sb2NrLWxvY2tlZDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDhhJzsgfVxuXG4uZmktbG9jay11bmxvY2tlZDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDhiJzsgfVxuXG4uZmktbG9vcC1jaXJjdWxhcjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDhjJzsgfVxuXG4uZmktbG9vcC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA4ZCc7IH1cblxuLmZpLWxvb3A6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA4ZSc7IH1cblxuLmZpLW1hZ25pZnlpbmctZ2xhc3M6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA4Zic7IH1cblxuLmZpLW1hcC1tYXJrZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA5MCc7IH1cblxuLmZpLW1hcDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDkxJzsgfVxuXG4uZmktbWVkaWEtcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA5Mic7IH1cblxuLmZpLW1lZGlhLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA5Myc7IH1cblxuLmZpLW1lZGlhLXJlY29yZDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDk0JzsgfVxuXG4uZmktbWVkaWEtc2tpcC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMDk1JzsgfVxuXG4uZmktbWVkaWEtc2tpcC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwOTYnOyB9XG5cbi5maS1tZWRpYS1zdGVwLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwOTcnOyB9XG5cbi5maS1tZWRpYS1zdGVwLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA5OCc7IH1cblxuLmZpLW1lZGlhLXN0b3A6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA5OSc7IH1cblxuLmZpLW1lZGljYWwtY3Jvc3M6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA5YSc7IH1cblxuLmZpLW1lbnU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA5Yic7IH1cblxuLmZpLW1pY3JvcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTA5Yyc7IH1cblxuLmZpLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwOWQnOyB9XG5cbi5maS1tb25pdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwOWUnOyB9XG5cbi5maS1tb29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwOWYnOyB9XG5cbi5maS1tb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwYTAnOyB9XG5cbi5maS1tdXNpY2FsLW5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBhMSc7IH1cblxuLmZpLXBhcGVyY2xpcDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGEyJzsgfVxuXG4uZmktcGVuY2lsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwYTMnOyB9XG5cbi5maS1wZW9wbGU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBhNCc7IH1cblxuLmZpLXBlcnNvbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGE1JzsgfVxuXG4uZmktcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBhNic7IH1cblxuLmZpLXBpZS1jaGFydDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGE3JzsgfVxuXG4uZmktcGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwYTgnOyB9XG5cbi5maS1wbGF5LWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGE5JzsgfVxuXG4uZmktcGx1czpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGFhJzsgfVxuXG4uZmktcG93ZXItc3RhbmRieTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGFiJzsgfVxuXG4uZmktcHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBhYyc7IH1cblxuLmZpLXByb2plY3Q6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBhZCc7IH1cblxuLmZpLXB1bHNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwYWUnOyB9XG5cbi5maS1wdXp6bGUtcGllY2U6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBhZic7IH1cblxuLmZpLXF1ZXN0aW9uLW1hcms6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBiMCc7IH1cblxuLmZpLXJhaW46YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBiMSc7IH1cblxuLmZpLXJhbmRvbTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGIyJzsgfVxuXG4uZmktcmVsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwYjMnOyB9XG5cbi5maS1yZXNpemUtYm90aDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGI0JzsgfVxuXG4uZmktcmVzaXplLWhlaWdodDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGI1JzsgfVxuXG4uZmktcmVzaXplLXdpZHRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwYjYnOyB9XG5cbi5maS1yc3MtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwYjcnOyB9XG5cbi5maS1yc3M6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBiOCc7IH1cblxuLmZpLXNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGI5JzsgfVxuXG4uZmktc2hhcmUtYm94ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBiYSc7IH1cblxuLmZpLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwYmInOyB9XG5cbi5maS1zaGllbGQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBiYyc7IH1cblxuLmZpLXNpZ25hbDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGJkJzsgfVxuXG4uZmktc2lnbnBvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBiZSc7IH1cblxuLmZpLXNvcnQtYXNjZW5kaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwYmYnOyB9XG5cbi5maS1zb3J0LWRlc2NlbmRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBjMCc7IH1cblxuLmZpLXNwcmVhZHNoZWV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwYzEnOyB9XG5cbi5maS1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwYzInOyB9XG5cbi5maS1zdW46YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBjMyc7IH1cblxuLmZpLXRhYmxldDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGM0JzsgfVxuXG4uZmktdGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwYzUnOyB9XG5cbi5maS10YWdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwYzYnOyB9XG5cbi5maS10YXJnZXQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBjNyc7IH1cblxuLmZpLXRhc2s6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBjOCc7IH1cblxuLmZpLXRlcm1pbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwYzknOyB9XG5cbi5maS10ZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwY2EnOyB9XG5cbi5maS10aHVtYi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwY2InOyB9XG5cbi5maS10aHVtYi11cDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGNjJzsgfVxuXG4uZmktdGltZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBjZCc7IH1cblxuLmZpLXRyYW5zZmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwY2UnOyB9XG5cbi5maS10cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGNmJzsgfVxuXG4uZmktdW5kZXJsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwZDAnOyB9XG5cbi5maS12ZXJ0aWNhbC1hbGlnbi1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBkMSc7IH1cblxuLmZpLXZlcnRpY2FsLWFsaWduLWNlbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGQyJzsgfVxuXG4uZmktdmVydGljYWwtYWxpZ24tdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwZDMnOyB9XG5cbi5maS12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGQ0JzsgfVxuXG4uZmktdm9sdW1lLWhpZ2g6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBkNSc7IH1cblxuLmZpLXZvbHVtZS1sb3c6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBkNic7IH1cblxuLmZpLXZvbHVtZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBkNyc7IH1cblxuLmZpLXdhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBkOCc7IH1cblxuLmZpLXdpZmk6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTBkOSc7IH1cblxuLmZpLXdyZW5jaDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGRhJzsgfVxuXG4uZmkteDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGRiJzsgfVxuXG4uZmkteWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwZGMnOyB9XG5cbi5maS16b29tLWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGUwZGQnOyB9XG5cbi5maS16b29tLW91dDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlMGRlJzsgfVxuXG4vKlxuICog5aSJ5pWw5a6a576pXG4gKi9cbi8qIDIycHggKi9cbi8qIDE0cHggKi9cbi8qIDEycHggKi9cbi8qIDEwcHggKi9cbi8qXG4gKiB2d+ioiOeul+eUqFxuICovXG4vKlxuICogTWl4aW5cbiAqL1xuLypcbiAqIEFuaW1hdGlvblxuICovXG5Aa2V5ZnJhbWVzIHNob3cge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBzY3JvbGwtbG9vcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMCUpOyB9IH1cblxuQGtleWZyYW1lcyBodnItYmFjay1wdWxzZS1ibHVlIHtcbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMsIDQ0LCAxMDIsIDAuNzUpOyB9IH1cblxuQGtleWZyYW1lcyBodnItYmFjay1wdWxzZS1ibGFjayB7XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgMTcsIDE3LCAwLjc1KTsgfSB9XG5cbkBrZXlmcmFtZXMgaHZyLWJhY2stcHVsc2UtcGluayB7XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzEsIDczLCAxMzMsIDAuNzUpOyB9IH1cblxuQGtleWZyYW1lcyBodnItYmFjay1wdWxzZS13aGl0ZSB7XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTsgfSB9XG5cbi8qXG4gKiDlhbHpgJpcbiAqL1xuaGVhZGVyLnBhZ2UtaGVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiAxMTAwcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDIwcHg7IH1cbiAgaGVhZGVyLnBhZ2UtaGVhZGVyLm1lbnUtb3BlbiB7XG4gICAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIGhlYWRlci5wYWdlLWhlYWRlciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHRvcDogMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICBoZWFkZXIucGFnZS1oZWFkZXIgaDEgaW1nLFxuICAgIGhlYWRlci5wYWdlLWhlYWRlciAubG9nbyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiA3MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGhlYWRlci5wYWdlLWhlYWRlciBoMSBpbWcsXG4gICAgaGVhZGVyLnBhZ2UtaGVhZGVyIC5sb2dvIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDYwJTsgfSB9XG4gIGhlYWRlci5wYWdlLWhlYWRlciAubWVudS1iYXIge1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDIwcHg7IH1cbiAgICBoZWFkZXIucGFnZS1oZWFkZXIgLm1lbnUtYmFyIC5odW1iZXJnZXItaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciAubWVudS1iYXIgLmh1bWJlcmdlci1pY29uIHtcbiAgICAgICAgICB0b3A6IDIwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgLm1lbnUtYmFyIC5odW1iZXJnZXItaWNvbiB7XG4gICAgICAgICAgdG9wOiA1cHg7IH0gfVxuICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIC5tZW51LWJhciAuaHVtYmVyZ2VyLWljb24gc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7IH1cbiAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIC5tZW51LWJhciAuaHVtYmVyZ2VyLWljb24gc3BhbjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIHRvcDogMDsgfVxuICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgLm1lbnUtYmFyIC5odW1iZXJnZXItaWNvbiBzcGFuOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIHdpZHRoOiA3MCU7IH1cbiAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIC5tZW51LWJhciAuaHVtYmVyZ2VyLWljb24gc3BhbjpudGgtY2hpbGQoMykge1xuICAgICAgICAgIHRvcDogMjBweDsgfVxuICAgICAgICBib2R5LnBhZ2UgaGVhZGVyLnBhZ2UtaGVhZGVyIC5tZW51LWJhciAuaHVtYmVyZ2VyLWljb24gc3BhbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzMmM2NjsgfVxuICAgICAgICBib2R5LnBhZ2UgaGVhZGVyLnBhZ2UtaGVhZGVyIC5tZW51LWJhciAuaHVtYmVyZ2VyLWljb24ub3BlbiBzcGFuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgLm1lbnUtYmFyIC5odW1iZXJnZXItaWNvbi5vcGVuIHNwYW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0b3A6IDEwcHg7IH1cbiAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIC5tZW51LWJhciAuaHVtYmVyZ2VyLWljb24ub3BlbiBzcGFuOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciAubWVudS1iYXIgLmh1bWJlcmdlci1pY29uLm9wZW4gc3BhbjpudGgtY2hpbGQoMykge1xuICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdi5sb2FkZWQge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIGFuaW1hdGlvbjogc2hvdyAxcyBlYXNlLW91dDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDE3LCAxNywgMC44KTsgfSB9XG4gICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiB1bCB7XG4gICAgICBhbmltYXRpb246IHNob3cgMC4zcyBlYXNlLW91dDsgfVxuICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgPiB1bCB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiA+IHVsIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IDUuNzE0MjlyZW0gMS40Mjg1N3JlbSAwOyB9IH1cbiAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpLFxuICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmFjY29yZGlvbi1tZW51Lm1lbnUgbGkge1xuICAgICAgZm9udC1zaXplOiAwLjkyODU3cmVtO1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaS5pcy1hY3RpdmUgYSxcbiAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkuaXMtYWN0aXZlID4gYSwgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaS5pcy1kcm9wZG93bi1hY3RpdmUgYSxcbiAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkuaXMtZHJvcGRvd24tYWN0aXZlID4gYSxcbiAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmFjY29yZGlvbi1tZW51Lm1lbnUgbGkuaXMtYWN0aXZlIGEsXG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpLmlzLWFjdGl2ZSA+IGEsXG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpLmlzLWRyb3Bkb3duLWFjdGl2ZSBhLFxuICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuYWNjb3JkaW9uLW1lbnUubWVudSBsaS5pcy1kcm9wZG93bi1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkuY3VycmVudCA+IGEsXG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpLmN1cnJlbnQgPiBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaSBhLFxuICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuYWNjb3JkaW9uLW1lbnUubWVudSBsaSBhIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogMS43ODU3MXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMuMzU3MTRyZW07XG4gICAgICAgIHRyYW5zaXRpb246IC4zczsgfVxuICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpIGE6OmJlZm9yZSxcbiAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuYWNjb3JkaW9uLW1lbnUubWVudSBsaSBhOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpIGE6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuYWNjb3JkaW9uLW1lbnUubWVudSBsaSBhOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpIGEsXG4gICAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuYWNjb3JkaW9uLW1lbnUubWVudSBsaSBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNDI4NTdyZW0gMDsgfSB9XG4gICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkgYS5kaXNhYmxlZCxcbiAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuYWNjb3JkaW9uLW1lbnUubWVudSBsaSBhLmRpc2FibGVkIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpIGEuZGlzYWJsZWQ6OmFmdGVyLFxuICAgICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmFjY29yZGlvbi1tZW51Lm1lbnUgbGkgYS5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaSA+IHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUsXG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpID4gdWwuaXMtYWNjb3JkaW9uLXN1Ym1lbnUsXG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpID4gdWwuaXMtZHJvcGRvd24tc3VibWVudSxcbiAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmFjY29yZGlvbi1tZW51Lm1lbnUgbGkgPiB1bC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMywgNDQsIDEwMiwgMC44KTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkgPiB1bC5pcy1kcm9wZG93bi1zdWJtZW51LFxuICAgICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkgPiB1bC5pcy1hY2NvcmRpb24tc3VibWVudSxcbiAgICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpID4gdWwuaXMtZHJvcGRvd24tc3VibWVudSxcbiAgICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpID4gdWwuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkgPiB1bC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGksXG4gICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkgPiB1bC5pcy1hY2NvcmRpb24tc3VibWVudSA+IGxpLFxuICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpID4gdWwuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpLFxuICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpID4gdWwuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgPiBsaSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaSA+IHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSBhLFxuICAgICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkgPiB1bC5pcy1hY2NvcmRpb24tc3VibWVudSA+IGxpIGEsXG4gICAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuYWNjb3JkaW9uLW1lbnUubWVudSBsaSA+IHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSBhLFxuICAgICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmFjY29yZGlvbi1tZW51Lm1lbnUgbGkgPiB1bC5pcy1hY2NvcmRpb24tc3VibWVudSA+IGxpIGEge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiAyLjE0Mjg2cmVtIDEuNDI4NTdyZW07IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaSA+IHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSBhLFxuICAgICAgICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpID4gdWwuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgPiBsaSBhLFxuICAgICAgICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpID4gdWwuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIGEsXG4gICAgICAgICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmFjY29yZGlvbi1tZW51Lm1lbnUgbGkgPiB1bC5pcy1hY2NvcmRpb24tc3VibWVudSA+IGxpIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNDI4NTdyZW0gMS40Mjg1N3JlbTsgfSB9XG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpLmlzLWFjdGl2ZSB1bCxcbiAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmFjY29yZGlvbi1tZW51Lm1lbnUgbGkuaXMtYWN0aXZlIHVsIHtcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDEwNHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkuaGFzLWNoaWxkcmVuLmFib3V0ID4gdWwsXG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpLmhhcy1jaGlsZHJlbi5hYm91dCA+IHVsIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMjBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaS5oYXMtY2hpbGRyZW4uYWJvdXQgPiB1bCxcbiAgICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpLmhhcy1jaGlsZHJlbi5hYm91dCA+IHVsIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogbm9uZTsgfSB9XG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpLmhhcy1jaGlsZHJlbi5odW1hbi1yZXNvdXJjZSA+IHVsLFxuICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuYWNjb3JkaW9uLW1lbnUubWVudSBsaS5oYXMtY2hpbGRyZW4uaHVtYW4tcmVzb3VyY2UgPiB1bCB7XG4gICAgICAgIG1pbi13aWR0aDogMTYwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkuaGFzLWNoaWxkcmVuLmh1bWFuLXJlc291cmNlID4gdWwsXG4gICAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuYWNjb3JkaW9uLW1lbnUubWVudSBsaS5oYXMtY2hpbGRyZW4uaHVtYW4tcmVzb3VyY2UgPiB1bCB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IG5vbmU7IH0gfVxuICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaS5oYXMtY2hpbGRyZW4ucmVmb3JtID4gdWwsXG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpLmhhcy1jaGlsZHJlbi5yZWZvcm0gPiB1bCB7XG4gICAgICAgIG1pbi13aWR0aDogMTYwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkuaGFzLWNoaWxkcmVuLnJlZm9ybSA+IHVsLFxuICAgICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmFjY29yZGlvbi1tZW51Lm1lbnUgbGkuaGFzLWNoaWxkcmVuLnJlZm9ybSA+IHVsIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogbm9uZTsgfSB9XG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpLmhhcy1jaGlsZHJlbi5xdWVzdGlvbm5haXJlID4gdWwsXG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpLmhhcy1jaGlsZHJlbi5xdWVzdGlvbm5haXJlID4gdWwge1xuICAgICAgICBtaW4td2lkdGg6IDE2MHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpLmhhcy1jaGlsZHJlbi5xdWVzdGlvbm5haXJlID4gdWwsXG4gICAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuYWNjb3JkaW9uLW1lbnUubWVudSBsaS5oYXMtY2hpbGRyZW4ucXVlc3Rpb25uYWlyZSA+IHVsIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogbm9uZTsgfSB9XG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpLnJlY3J1aXQsXG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpLnJlY3J1aXQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNDI4NTdyZW07IH1cbiAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaS5yZWNydWl0IGE6OmFmdGVyLFxuICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpLnJlY3J1aXQgYTo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMTFweDtcbiAgICAgICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMzU3MTRyZW07XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY28tZXh0ZXJuYWwtd2hpdGUuc3ZnKSBuby1yZXBlYXQgMCAwOyB9XG4gICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpLmVudHJ5LFxuICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuYWNjb3JkaW9uLW1lbnUubWVudSBsaS5lbnRyeSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjM1NzE0cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaS5lbnRyeSxcbiAgICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpLmVudHJ5IHtcbiAgICAgICAgICAgIG1hcmdpbjogMS40Mjg1N3JlbSBhdXRvIDA7XG4gICAgICAgICAgICB3aWR0aDogNDAwcHg7IH0gfVxuICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpLmVudHJ5IGEsXG4gICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmFjY29yZGlvbi1tZW51Lm1lbnUgbGkuZW50cnkgYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkYjI3MjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzLjU3MTQzcmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAuN3JlbSAxLjhyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxLjA3MTQzcmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NTcxNHJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaS5lbnRyeSBhOjpiZWZvcmUsXG4gICAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuYWNjb3JkaW9uLW1lbnUubWVudSBsaS5lbnRyeSBhOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAgICAgICAgIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkuZW50cnkgYTpob3ZlciwgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaS5lbnRyeSBhOmFjdGl2ZSxcbiAgICAgICAgICBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5hY2NvcmRpb24tbWVudS5tZW51IGxpLmVudHJ5IGE6aG92ZXIsXG4gICAgICAgICAgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuYWNjb3JkaW9uLW1lbnUubWVudSBsaS5lbnRyeSBhOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgY29sb3I6ICMyZGIyNzI7IH1cbiAgICAgIGJvZHkucGFnZSBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpLmlzLWFjdGl2ZSA+IGEsIGJvZHkucGFnZSBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpLmlzLWRyb3Bkb3duLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogIzExMTExMTsgfVxuICAgICAgYm9keS5wYWdlIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjMTExMTExOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgICBib2R5LnBhZ2UgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfSB9XG4gICAgICAgIGJvZHkucGFnZSBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpIGE6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzMmM2NjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICBib2R5LnBhZ2UgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaSA+IHVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgICBib2R5LnBhZ2UgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaSA+IHVsIGEge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICBib2R5LnBhZ2UgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaSA+IHVsIGE6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgYm9keS5wYWdlIGhlYWRlci5wYWdlLWhlYWRlciBuYXYgLmRyb3Bkb3duLm1lbnUgbGkucmVjcnVpdCBhOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaWNvLWV4dGVybmFsLWJsYWNrLnN2Zyk7IH1cbiAgICAgIGJvZHkucGFnZSBoZWFkZXIucGFnZS1oZWFkZXIgbmF2IC5kcm9wZG93bi5tZW51IGxpLmVudHJ5IGEge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICAgICAgICBib2R5LnBhZ2UgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaS5lbnRyeSBhOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExO1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbmZvb3Rlci5wYWdlLWZvb3RlciB7XG4gIHBhZGRpbmctdG9wOiA0LjI4NTcxcmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgZm9vdGVyLnBhZ2UtZm9vdGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjE0Mjg2cmVtOyB9IH1cbiAgZm9vdGVyLnBhZ2UtZm9vdGVyICNiYWNrLXRvLXRvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICByaWdodDogMjBweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICBmb290ZXIucGFnZS1mb290ZXIgI2JhY2stdG8tdG9wIHtcbiAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICByaWdodDogMTBweDsgfSB9XG4gICAgZm9vdGVyLnBhZ2UtZm9vdGVyICNiYWNrLXRvLXRvcCBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZGIyNzI7XG4gICAgICBwYWRkaW5nOiAwLjcxNDI5cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgZm9vdGVyLnBhZ2UtZm9vdGVyIC5mb290ZXItaW5uZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTEwMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAwIDMuNTcxNDNyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICBmb290ZXIucGFnZS1mb290ZXIgLmZvb3Rlci1pbm5lciB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICBmb290ZXIucGFnZS1mb290ZXIgLmZvb3Rlci1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS40Mjg1N3JlbTsgfSB9XG4gICAgZm9vdGVyLnBhZ2UtZm9vdGVyIC5mb290ZXItaW5uZXIgLmZvb3Rlci1tZXNzYWdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44NTcxNHJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICBjb2xvcjogIzAzMmM2NjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICBmb290ZXIucGFnZS1mb290ZXIgLmZvb3Rlci1pbm5lciAuZm9vdGVyLW1lc3NhZ2Uge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40Mjg1N3JlbTsgfSB9XG4gICAgICBmb290ZXIucGFnZS1mb290ZXIgLmZvb3Rlci1pbm5lciAuZm9vdGVyLW1lc3NhZ2UgLmFkZGl0aW9uYWwge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNDI4NTdyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuODU3MTRyZW07XG4gICAgICAgIGNvbG9yOiAjMTExMTExOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICBmb290ZXIucGFnZS1mb290ZXIgLmZvb3Rlci1pbm5lciAuZm9vdGVyLW1lc3NhZ2UgLmFkZGl0aW9uYWwge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7IH0gfVxuICAgIGZvb3Rlci5wYWdlLWZvb3RlciAuZm9vdGVyLWlubmVyIC5mb290ZXItZW50cnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNC4yODU3MXJlbTsgfVxuICAgICAgZm9vdGVyLnBhZ2UtZm9vdGVyIC5mb290ZXItaW5uZXIgLmZvb3Rlci1lbnRyeSBhIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMzJjNjY7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDMyYzY2O1xuICAgICAgICBwYWRkaW5nOiAwLjcxNDI5cmVtIDEuNDI4NTdyZW0gMi4xNDI4NnJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICMxMTExMTE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICBmb290ZXIucGFnZS1mb290ZXIgLmZvb3Rlci1pbm5lciAuZm9vdGVyLWVudHJ5IGE6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICAgICAgZm9vdGVyLnBhZ2UtZm9vdGVyIC5mb290ZXItaW5uZXIgLmZvb3Rlci1lbnRyeSBhOm50aC1jaGlsZCgxKSwgZm9vdGVyLnBhZ2UtZm9vdGVyIC5mb290ZXItaW5uZXIgLmZvb3Rlci1lbnRyeSBhOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9IH1cbiAgICAgICAgZm9vdGVyLnBhZ2UtZm9vdGVyIC5mb290ZXItaW5uZXIgLmZvb3Rlci1lbnRyeSBhIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLWluLW91dDsgfVxuICBmb290ZXIucGFnZS1mb290ZXIgLmNvcHlyaWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExMTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS40Mjg1N3JlbSAwO1xuICAgIGZvbnQtc2l6ZTogMC43ODU3MXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5yZWFkbW9yZS13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5hLnJlYWRtb3JlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMy41NzE0M3JlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxcHgpIHRyYW5zbGF0ZVooMCk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7IH1cbiAgYS5yZWFkbW9yZTpob3ZlciwgYS5yZWFkbW9yZTpmb2N1cywgYS5yZWFkbW9yZTphY3RpdmUge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBodnItYmFjay1wdWxzZS1ibHVlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuICBhLnJlYWRtb3JlIHN2ZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNDI4NTdyZW07IH1cblxuLmZ1bGwtd2lkdGgge1xuICB3aWR0aDogMTAwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlO1xuICByaWdodDogNTAlO1xuICBtYXJnaW4tcmlnaHQ6IC01MHZ3O1xuICBtYXJnaW4tbGVmdDogLTUwdnc7IH1cblxuLmNvbnRlbnQtd2lkdGgge1xuICB3aWR0aDogMTEwMHB4O1xuICBtYXJnaW46IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5jb250ZW50LXdpZHRoIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmJnLWdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBwYWRkaW5nOiAzLjU3MTQzcmVtIDEuNDI4NTdyZW0gMS40Mjg1N3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLmJnLWdyZXkge1xuICAgICAgcGFkZGluZy10b3A6IDIuMTQyODZyZW07IH0gfVxuXG50YWJsZS5jb21wYXJpc29uIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICB0YWJsZS5jb21wYXJpc29uIHtcbiAgICAgIHRhYmxlLWxheW91dDogYXV0bzsgfSB9XG4gIHRhYmxlLmNvbXBhcmlzb24gdGhlYWQsXG4gIHRhYmxlLmNvbXBhcmlzb24gdGJvZHksXG4gIHRhYmxlLmNvbXBhcmlzb24gdHIge1xuICAgIGJvcmRlci1jb2xvcjogI2NjY2NjYzsgfVxuICB0YWJsZS5jb21wYXJpc29uIHRoLFxuICB0YWJsZS5jb21wYXJpc29uIHRkIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjY2NjOyB9XG4gIHRhYmxlLmNvbXBhcmlzb24gdGhlYWQgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgY29sb3I6ICMxMTExMTE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgdGFibGUuY29tcGFyaXNvbiB0aGVhZCB0aC5ibHVlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzJjNjY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIHRhYmxlLmNvbXBhcmlzb24gdGJvZHkgdHIuY29tbW9uIHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICBjb2xvcjogIzExMTExMTsgfSB9XG4gIHRhYmxlLmNvbXBhcmlzb24gdGJvZHkgdHIuYmV0dGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlZWY5OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgdGFibGUuY29tcGFyaXNvbiB0Ym9keSB0ci5iZXR0ZXIgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlZWY5O1xuICAgICAgICBjb2xvcjogIzExMTExMTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfSB9XG4gIHRhYmxlLmNvbXBhcmlzb24gdGJvZHkgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzJjNjY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICB0YWJsZS5jb21wYXJpc29uIHRib2R5IHRoIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfSB9XG4gIHRhYmxlLmNvbXBhcmlzb24gdGJvZHkgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICB0YWJsZS5jb21wYXJpc29uIHRib2R5IHRkLm5vbmUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICB0YWJsZS5jb21wYXJpc29uIHRib2R5IHRkLm5vbmUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIHRhYmxlLmNvbXBhcmlzb24gdGJvZHkgdGQgdWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5wLmFubm90YXRpb24ge1xuICBmb250LXNpemU6IDAuODU3MTRyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogNS43MTQyOXJlbSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIHAuYW5ub3RhdGlvbi5tdC1uNjAge1xuICAgIG1hcmdpbi10b3A6IC02MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgcC5hbm5vdGF0aW9uLm10LW42MCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDsgfSB9XG4gIHAuYW5ub3RhdGlvbi5tYi0zMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50OyB9XG4gIHAuYW5ub3RhdGlvbi5tYi00MCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKiDjg4jjg4Pjg5fjg5rjg7zjgrggXG4gKi9cbmJvZHkuaG9tZSAuZmlyc3QtdmlldyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMTcsIDE3LCAxNywgMC41KSwgcmdiYSgzLCA0NCwgMTAyLCAwLjUpKTsgfVxuICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLnZpZGVvLXdyYXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAtMTAwO1xuICAgIGhlaWdodDogMTAwdmg7IH1cbiAgICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLnZpZGVvLXdyYXAgdmlkZW8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86IDE2IC8gOSkge1xuICAgICAgICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLnZpZGVvLXdyYXAgdmlkZW8ge1xuICAgICAgICAgIGhlaWdodDogMzAwJTtcbiAgICAgICAgICB0b3A6IC0xMDAlOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LWFzcGVjdC1yYXRpbzogMTYgLyA5KSB7XG4gICAgICAgIGJvZHkuaG9tZSAuZmlyc3QtdmlldyAudmlkZW8td3JhcCB2aWRlbyB7XG4gICAgICAgICAgd2lkdGg6IDMwMCU7XG4gICAgICAgICAgbGVmdDogLTEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWFzcGVjdC1yYXRpbzogMTYgLyA5KSBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkuaG9tZSAuZmlyc3QtdmlldyAudmlkZW8td3JhcCB2aWRlbyB7XG4gICAgICB3aWR0aDogNDAwJTtcbiAgICAgIGxlZnQ6IC0xNDAlOyB9IH1cbiAgYm9keS5ob21lIC5maXJzdC12aWV3IC5sZWFkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiAzLjU3MTQzcmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAxMnB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogMTEwMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgYm9keS5ob21lIC5maXJzdC12aWV3IC5sZWFkIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogYXV0byAxLjQyODU3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLmxlYWQge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMC44OyB9IH1cbiAgICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLmxlYWQgc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjM1NzE0cmVtOyB9XG4gICAgYm9keS5ob21lIC5maXJzdC12aWV3IC5sZWFkIC5rdXRvdGVuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLmxlYWQgaW1nLnQxIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMC4xNnB4OyB9XG4gICAgICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLmxlYWQgaW1nLnQyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMi40cHg7IH1cbiAgICAgIGJvZHkuaG9tZSAuZmlyc3QtdmlldyAubGVhZCBpbWcudDMge1xuICAgICAgICBtYXgtd2lkdGg6IDI4cHg7IH1cbiAgICAgIGJvZHkuaG9tZSAuZmlyc3QtdmlldyAubGVhZCBpbWcudDQge1xuICAgICAgICBtYXgtd2lkdGg6IDI4cHg7IH1cbiAgICAgIGJvZHkuaG9tZSAuZmlyc3QtdmlldyAubGVhZCBpbWcudDUge1xuICAgICAgICBtYXgtd2lkdGg6IDI2Ljg4cHg7IH1cbiAgICAgIGJvZHkuaG9tZSAuZmlyc3QtdmlldyAubGVhZCBpbWcudDYge1xuICAgICAgICBtYXgtd2lkdGg6IDcuODRweDsgfVxuICAgICAgYm9keS5ob21lIC5maXJzdC12aWV3IC5sZWFkIGltZy50NyB7XG4gICAgICAgIG1heC13aWR0aDogNzIuOHB4OyB9XG4gICAgICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLmxlYWQgaW1nLnQ4IHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMS4yOHB4OyB9XG4gICAgICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLmxlYWQgaW1nLnQ5IHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNS43NnB4OyB9XG4gICAgICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLmxlYWQgaW1nLnQxMCB7XG4gICAgICAgIG1heC13aWR0aDogMjMuNTJweDsgfVxuICAgICAgYm9keS5ob21lIC5maXJzdC12aWV3IC5sZWFkIGltZy50MTEge1xuICAgICAgICBtYXgtd2lkdGg6IDcuODRweDsgfSB9XG4gICAgYm9keS5ob21lIC5maXJzdC12aWV3IC5sZWFkIC5lbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjQyODU3cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjcxNDI5cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7IH1cbiAgYm9keS5ob21lIC5maXJzdC12aWV3IC50by1wdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMTVweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogMjgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS5ob21lIC5maXJzdC12aWV3IC50by1wdCB7XG4gICAgICAgIGJvdHRvbTogMTAuNjY2Njd2dztcbiAgICAgICAgd2lkdGg6IDM3LjMzMzMzdnc7XG4gICAgICAgIGhlaWdodDogMTEuMzMzMzN2dzsgfSB9XG4gICAgYm9keS5ob21lIC5maXJzdC12aWV3IC50by1wdCA+IGEge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLW91dDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLnRvLXB0ID4gYSA+IHNwYW4ge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgLjRzIGVhc2Utb3V0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNmVtIDEuOGVtO1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4wZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgIGJvZHkuaG9tZSAuZmlyc3QtdmlldyAudG8tcHQgPiBhID4gc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC42ZW0gMS4wZW07IH0gfVxuICAgICAgICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLnRvLXB0ID4gYSA+IHNwYW4gc3ZnIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMS4wZW07IH1cbiAgICAgICAgYm9keS5ob21lIC5maXJzdC12aWV3IC50by1wdCA+IGEgPiBzcGFuIHBvbHlsaW5lIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2Utb3V0OyB9XG4gICAgICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLnRvLXB0ID4gYTpsaW5rLCBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLnRvLXB0ID4gYTp2aXNpdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMkY3QTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLnRvLXB0ID4gYTpsaW5rID4gc3BhbiwgYm9keS5ob21lIC5maXJzdC12aWV3IC50by1wdCA+IGE6dmlzaXRlZCA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAgIGJvZHkuaG9tZSAuZmlyc3QtdmlldyAudG8tcHQgPiBhOmxpbmsgPiBzcGFuIHBvbHlsaW5lLCBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLnRvLXB0ID4gYTp2aXNpdGVkID4gc3BhbiBwb2x5bGluZSB7XG4gICAgICAgICAgICBzdHJva2U6ICNmZmZmZmY7IH1cbiAgICAgIGJvZHkuaG9tZSAuZmlyc3QtdmlldyAudG8tcHQgPiBhOmhvdmVyLCBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLnRvLXB0ID4gYTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBjb2xvcjogIzAwMkY3QTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIGJvZHkuaG9tZSAuZmlyc3QtdmlldyAudG8tcHQgPiBhOmhvdmVyID4gc3BhbiwgYm9keS5ob21lIC5maXJzdC12aWV3IC50by1wdCA+IGE6YWN0aXZlID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAyRjdBOyB9XG4gICAgICAgICAgYm9keS5ob21lIC5maXJzdC12aWV3IC50by1wdCA+IGE6aG92ZXIgPiBzcGFuIHBvbHlsaW5lLCBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLnRvLXB0ID4gYTphY3RpdmUgPiBzcGFuIHBvbHlsaW5lIHtcbiAgICAgICAgICAgIHN0cm9rZTogIzAwMkY3QTsgfVxuICBib2R5LmhvbWUgLmZpcnN0LXZpZXcgLnNjcm9sbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTYwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC44cyBlYXNlLW91dDtcbiAgICBhbmltYXRpb246IHNjcm9sbC1sb29wIDNzIGluZmluaXRlIGN1YmljLWJlemllcigwLjYxNSwgMC4xOSwgMC4zMDUsIDAuOTEpOyB9XG4gICAgYm9keS5ob21lIC5maXJzdC12aWV3IC5zY3JvbGwuc2Nyb2xsZWQge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgYm9keS5ob21lIC5maXJzdC12aWV3IC5zY3JvbGwuc2Nyb2xsZWQgYSB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIGJvZHkuaG9tZSAuZmlyc3QtdmlldyAuc2Nyb2xsIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIGJvZHkuaG9tZSAuZmlyc3QtdmlldyAuc2Nyb2xsIGE6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTA0cHg7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG5ib2R5LmhvbWUgLmlubmVyIHtcbiAgd2lkdGg6IDExMDBweDtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICBib2R5LmhvbWUgLmlubmVyIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiBhdXRvIDEuNDI4NTdyZW07IH0gfVxuXG5ib2R5LmhvbWUgPiBkaXYuYWJvdXQgaDIsXG5ib2R5LmhvbWUgPiBkaXYuc2NoZWR1bGUgaDIsXG5ib2R5LmhvbWUgPiBkaXYuaW50ZXJ2aWV3IGgyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICBib2R5LmhvbWUgPiBkaXYuYWJvdXQgaDIsXG4gICAgYm9keS5ob21lID4gZGl2LnNjaGVkdWxlIGgyLFxuICAgIGJvZHkuaG9tZSA+IGRpdi5pbnRlcnZpZXcgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi44NTcxNHJlbTsgfSB9XG4gIGJvZHkuaG9tZSA+IGRpdi5hYm91dCBoMiBzcGFuLFxuICBib2R5LmhvbWUgPiBkaXYuc2NoZWR1bGUgaDIgc3BhbixcbiAgYm9keS5ob21lID4gZGl2LmludGVydmlldyBoMiBzcGFuIHtcbiAgICBmb250LXNpemU6IDEuMTQyODZyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMS40Mjg1N3JlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4OyB9XG5cbmJvZHkuaG9tZSA+IGRpdi5tZXNzYWdlIC5wYW5lbCxcbmJvZHkuaG9tZSA+IGRpdi53b21hbiAucGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzExMTExMTtcbiAgbWFyZ2luLWxlZnQ6IDEuNDI4NTdyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgYm9keS5ob21lID4gZGl2Lm1lc3NhZ2UgLnBhbmVsLFxuICAgIGJvZHkuaG9tZSA+IGRpdi53b21hbiAucGFuZWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBib2R5LmhvbWUgPiBkaXYubWVzc2FnZSAucGFuZWwgaDIgc3BhbixcbiAgYm9keS5ob21lID4gZGl2LndvbWFuIC5wYW5lbCBoMiBzcGFuIHtcbiAgICBmb250LXNpemU6IDEuMTQyODZyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMC43MTQyOXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjE0Mjg2cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgY29sb3I6ICMwMzJjNjY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICBib2R5LmhvbWUgPiBkaXYubWVzc2FnZSAucGFuZWwgaDIgc3BhbixcbiAgICAgIGJvZHkuaG9tZSA+IGRpdi53b21hbiAucGFuZWwgaDIgc3BhbiB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwOyB9IH1cblxuYm9keS5ob21lID4gZGl2LmFib3V0IHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9iZy1hYm91dC5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgcGFkZGluZy10b3A6IDguNTcxNDNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzLjU3MTQzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5LmhvbWUgPiBkaXYuYWJvdXQgaDIgaW1nIHtcbiAgICAgIHdpZHRoOiAxMjhweDsgfSB9XG4gIGJvZHkuaG9tZSA+IGRpdi5hYm91dCAubGVhZCB7XG4gICAgZm9udC1zaXplOiAxLjg1NzE0cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjE0Mjg2cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgYm9keS5ob21lID4gZGl2LmFib3V0IC5sZWFkIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI4NTcxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwOyB9IH1cbiAgYm9keS5ob21lID4gZGl2LmFib3V0IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNDI4NTdyZW07IH1cbiAgYm9keS5ob21lID4gZGl2LmFib3V0IGEucmVhZG1vcmUge1xuICAgIG1hcmdpbi10b3A6IDEuNDI4NTdyZW07IH1cbiAgICBib2R5LmhvbWUgPiBkaXYuYWJvdXQgYS5yZWFkbW9yZTpob3ZlciwgYm9keS5ob21lID4gZGl2LmFib3V0IGEucmVhZG1vcmU6Zm9jdXMsIGJvZHkuaG9tZSA+IGRpdi5hYm91dCBhLnJlYWRtb3JlOmFjdGl2ZSB7XG4gICAgICBhbmltYXRpb24tbmFtZTogaHZyLWJhY2stcHVsc2Utd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgY29sb3I6ICMxMTExMTE7IH1cbiAgICAgIGJvZHkuaG9tZSA+IGRpdi5hYm91dCBhLnJlYWRtb3JlOmhvdmVyIHBvbHlsaW5lLCBib2R5LmhvbWUgPiBkaXYuYWJvdXQgYS5yZWFkbW9yZTpmb2N1cyBwb2x5bGluZSwgYm9keS5ob21lID4gZGl2LmFib3V0IGEucmVhZG1vcmU6YWN0aXZlIHBvbHlsaW5lIHtcbiAgICAgICAgc3Ryb2tlOiAjMTExMTExOyB9XG5cbmJvZHkuaG9tZSA+IGRpdi5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9iZy1tZXNzYWdlLmpwZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBwYWRkaW5nLXRvcDogNC4yODU3MXJlbTsgfVxuICBib2R5LmhvbWUgPiBkaXYubWVzc2FnZSAuY2VvIHtcbiAgICBtYXJnaW4tdG9wOiAtMy41NzE0M3JlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICBib2R5LmhvbWUgPiBkaXYubWVzc2FnZSAuY2VvIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICBtYXJnaW46IC0zLjU3MTQzcmVtIGF1dG8gMDsgfSB9XG4gICAgYm9keS5ob21lID4gZGl2Lm1lc3NhZ2UgLmNlbyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiA3MCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS5ob21lID4gZGl2Lm1lc3NhZ2UgLmNlbyBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIGJvZHkuaG9tZSA+IGRpdi5tZXNzYWdlIC5wYW5lbCB7XG4gICAgcGFkZGluZzogMi44NTcxNHJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICBib2R5LmhvbWUgPiBkaXYubWVzc2FnZSAucGFuZWwge1xuICAgICAgICBwYWRkaW5nOiAyLjg1NzE0cmVtIDEuNDI4NTdyZW0gMS40Mjg1N3JlbTsgfSB9XG4gICAgYm9keS5ob21lID4gZGl2Lm1lc3NhZ2UgLnBhbmVsOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzJjNjY7IH1cbiAgICBib2R5LmhvbWUgPiBkaXYubWVzc2FnZSAucGFuZWwgaDIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgIGJvZHkuaG9tZSA+IGRpdi5tZXNzYWdlIC5wYW5lbCBoMiBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMTJweDsgfSB9XG4gICAgICBib2R5LmhvbWUgPiBkaXYubWVzc2FnZSAucGFuZWwgaDIgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xNDI4NnJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNzE0MjlyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuMTQyODZyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIGNvbG9yOiAjMDMyYzY2OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgICBib2R5LmhvbWUgPiBkaXYubWVzc2FnZSAucGFuZWwgaDIgc3BhbiB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDsgfSB9XG4gICAgYm9keS5ob21lID4gZGl2Lm1lc3NhZ2UgLnBhbmVsIHAge1xuICAgICAgZm9udC1zaXplOiAxLjQyODU3cmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICAgIGJvZHkuaG9tZSA+IGRpdi5tZXNzYWdlIC5wYW5lbCBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS5ob21lID4gZGl2Lm1lc3NhZ2UgLnBhbmVsIHAge1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH0gfVxuICAgIGJvZHkuaG9tZSA+IGRpdi5tZXNzYWdlIC5wYW5lbCBhLnJlYWRtb3JlIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNDI4NTdyZW07XG4gICAgICBib3JkZXItY29sb3I6ICMwMzJjNjY7XG4gICAgICBjb2xvcjogIzAzMmM2NjsgfVxuICAgICAgYm9keS5ob21lID4gZGl2Lm1lc3NhZ2UgLnBhbmVsIGEucmVhZG1vcmUgcG9seWxpbmUge1xuICAgICAgICBzdHJva2U6ICMwMzJjNjY7IH1cbiAgICAgIGJvZHkuaG9tZSA+IGRpdi5tZXNzYWdlIC5wYW5lbCBhLnJlYWRtb3JlOmhvdmVyLCBib2R5LmhvbWUgPiBkaXYubWVzc2FnZSAucGFuZWwgYS5yZWFkbW9yZTpmb2N1cywgYm9keS5ob21lID4gZGl2Lm1lc3NhZ2UgLnBhbmVsIGEucmVhZG1vcmU6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzJjNjY7IH1cbiAgICAgICAgYm9keS5ob21lID4gZGl2Lm1lc3NhZ2UgLnBhbmVsIGEucmVhZG1vcmU6aG92ZXIgcG9seWxpbmUsIGJvZHkuaG9tZSA+IGRpdi5tZXNzYWdlIC5wYW5lbCBhLnJlYWRtb3JlOmZvY3VzIHBvbHlsaW5lLCBib2R5LmhvbWUgPiBkaXYubWVzc2FnZSAucGFuZWwgYS5yZWFkbW9yZTphY3RpdmUgcG9seWxpbmUge1xuICAgICAgICAgIHN0cm9rZTogI2ZmZmZmZjsgfVxuXG5ib2R5LmhvbWUgPiBkaXYuc2NoZWR1bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiA4cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgYm9keS5ob21lID4gZGl2LnNjaGVkdWxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDU4MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBib3R0b206IDYwcHg7XG4gICAgbGVmdDogNTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgYm9keS5ob21lID4gZGl2LnNjaGVkdWxlOjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDQ4MHB4O1xuICAgICAgICBib3R0b206IDQwcHg7XG4gICAgICAgIGxlZnQ6IDEwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5LmhvbWUgPiBkaXYuc2NoZWR1bGUgaDIgaW1nIHtcbiAgICAgIHdpZHRoOiAxOTdweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICBib2R5LmhvbWUgPiBkaXYuc2NoZWR1bGUgaDIgKyBwIHtcbiAgICAgIG1hcmdpbjogYXV0byAxLjQyODU3cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIGJvZHkuaG9tZSA+IGRpdi5zY2hlZHVsZSBoMiBzcGFuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjQyODU3cmVtO1xuICAgIGNvbG9yOiAjMDMyYzY2OyB9XG4gIGJvZHkuaG9tZSA+IGRpdi5zY2hlZHVsZSAucGhvdG8ge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYm5yLXRvcC1zY2hlZHVsZS5qcGcpIG5vLXJlcGVhdCAwIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHBhZGRpbmc6IDUuMTQyODZyZW0gMDtcbiAgICBtYXJnaW4tdG9wOiA1LjcxNDI5cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDcuMTQyODZyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICBib2R5LmhvbWUgPiBkaXYuc2NoZWR1bGUgLnBob3RvIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9ibnItdG9wLXNjaGVkdWxlLXNwLmpwZyk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMS40Mjg1N3JlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogNC4yODU3MXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy41NzE0M3JlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNDI4NTdyZW07IH0gfVxuICAgIGJvZHkuaG9tZSA+IGRpdi5zY2hlZHVsZSAucGhvdG8gLnBhbmVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTE7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHBhZGRpbmc6IDguNTcxNDNyZW0gMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICBib2R5LmhvbWUgPiBkaXYuc2NoZWR1bGUgLnBob3RvIC5wYW5lbCB7XG4gICAgICAgICAgcGFkZGluZzogMi44NTcxNHJlbSAwO1xuICAgICAgICAgIG1hcmdpbjogMTAuNzE0MjlyZW0gLTEuNDI4NTdyZW0gYXV0byAwO1xuICAgICAgICAgIG1heC13aWR0aDogODAlOyB9IH1cbiAgICAgIGJvZHkuaG9tZSA+IGRpdi5zY2hlZHVsZSAucGhvdG8gLnBhbmVsID4gZGl2IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI4NTcxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4OyB9XG4gICAgICBib2R5LmhvbWUgPiBkaXYuc2NoZWR1bGUgLnBob3RvIC5wYW5lbCBhLnJlYWRtb3JlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi4xNDI4NnJlbTsgfVxuICAgICAgICBib2R5LmhvbWUgPiBkaXYuc2NoZWR1bGUgLnBob3RvIC5wYW5lbCBhLnJlYWRtb3JlOmhvdmVyLCBib2R5LmhvbWUgPiBkaXYuc2NoZWR1bGUgLnBob3RvIC5wYW5lbCBhLnJlYWRtb3JlOmZvY3VzLCBib2R5LmhvbWUgPiBkaXYuc2NoZWR1bGUgLnBob3RvIC5wYW5lbCBhLnJlYWRtb3JlOmFjdGl2ZSB7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGh2ci1iYWNrLXB1bHNlLXdoaXRlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgY29sb3I6ICMxMTExMTE7IH1cbiAgICAgICAgICBib2R5LmhvbWUgPiBkaXYuc2NoZWR1bGUgLnBob3RvIC5wYW5lbCBhLnJlYWRtb3JlOmhvdmVyIHBvbHlsaW5lLCBib2R5LmhvbWUgPiBkaXYuc2NoZWR1bGUgLnBob3RvIC5wYW5lbCBhLnJlYWRtb3JlOmZvY3VzIHBvbHlsaW5lLCBib2R5LmhvbWUgPiBkaXYuc2NoZWR1bGUgLnBob3RvIC5wYW5lbCBhLnJlYWRtb3JlOmFjdGl2ZSBwb2x5bGluZSB7XG4gICAgICAgICAgICBzdHJva2U6ICMxMTExMTE7IH1cblxuYm9keS5ob21lID4gZGl2LmludGVydmlldyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy90eHQtaW50ZXJ2aWV3LWJnLnN2Zykgbm8tcmVwZWF0IC01NXB4IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxNTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgYm9keS5ob21lID4gZGl2LmludGVydmlldyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9IH1cbiAgYm9keS5ob21lID4gZGl2LmludGVydmlldzo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMTAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDQuMjg1NzFyZW07XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmMmYyZjI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICBib2R5LmhvbWUgPiBkaXYuaW50ZXJ2aWV3OjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiBhdXRvIDEuNDI4NTdyZW0gMi44NTcxNHJlbTsgfSB9XG4gIGJvZHkuaG9tZSA+IGRpdi5pbnRlcnZpZXc6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMDAlO1xuICAgIGhlaWdodDogNzMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm90dG9tOiAyMiU7XG4gICAgbGVmdDogLTUwJTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjRkZWcpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS5ob21lID4gZGl2LmludGVydmlldzo6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDEzMCU7XG4gICAgICAgIHdpZHRoOiA5MjAlO1xuICAgICAgICB0b3A6IC0yOCU7XG4gICAgICAgIGJvdHRvbTogaW5pdGlhbDtcbiAgICAgICAgbGVmdDogLTY4JTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNjVkZWcpOyB9IH1cbiAgYm9keS5ob21lID4gZGl2LmludGVydmlldyBoMiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIGJvZHkuaG9tZSA+IGRpdi5pbnRlcnZpZXcgaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIGJvZHkuaG9tZSA+IGRpdi5pbnRlcnZpZXcgaDIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDE5NHB4OyB9IH1cbiAgICBib2R5LmhvbWUgPiBkaXYuaW50ZXJ2aWV3IGgyIHNwYW4ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS40Mjg1N3JlbTtcbiAgICAgIGNvbG9yOiAjMDMyYzY2OyB9XG4gIGJvZHkuaG9tZSA+IGRpdi5pbnRlcnZpZXcgLmNhcmQtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogNC4yODU3MXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA0LjI4NTcxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS5ob21lID4gZGl2LmludGVydmlldyAuY2FyZC13cmFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi4xNDI4NnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS40Mjg1N3JlbTsgfSB9XG4gICAgYm9keS5ob21lID4gZGl2LmludGVydmlldyAuY2FyZC13cmFwID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS5ob21lID4gZGl2LmludGVydmlldyAuY2FyZC13cmFwID4gYSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMS40Mjg1N3JlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjQyODU3cmVtOyB9IH1cbiAgICAgIGJvZHkuaG9tZSA+IGRpdi5pbnRlcnZpZXcgLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLCBib2R5LmhvbWUgPiBkaXYuaW50ZXJ2aWV3IC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCg1KSwgYm9keS5ob21lID4gZGl2LmludGVydmlldyAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTQuMjg1NzFyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgIGJvZHkuaG9tZSA+IGRpdi5pbnRlcnZpZXcgLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLCBib2R5LmhvbWUgPiBkaXYuaW50ZXJ2aWV3IC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCg1KSwgYm9keS5ob21lID4gZGl2LmludGVydmlldyAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCkge1xuICAgICAgICAgICAgdG9wOiAwOyB9IH1cbiAgICAgIGJvZHkuaG9tZSA+IGRpdi5pbnRlcnZpZXcgLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLCBib2R5LmhvbWUgPiBkaXYuaW50ZXJ2aWV3IC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCg2KSwgYm9keS5ob21lID4gZGl2LmludGVydmlldyAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTguNTcxNDNyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgIGJvZHkuaG9tZSA+IGRpdi5pbnRlcnZpZXcgLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLCBib2R5LmhvbWUgPiBkaXYuaW50ZXJ2aWV3IC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCg2KSwgYm9keS5ob21lID4gZGl2LmludGVydmlldyAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSkge1xuICAgICAgICAgICAgdG9wOiAwOyB9IH1cbiAgICAgIGJvZHkuaG9tZSA+IGRpdi5pbnRlcnZpZXcgLmNhcmQtd3JhcCA+IGEgLm51bWJlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgbGVmdDogLTEwcHg7IH1cbiAgICAgIGJvZHkuaG9tZSA+IGRpdi5pbnRlcnZpZXcgLmNhcmQtd3JhcCA+IGEgLnRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkYjI3MjtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBwYWRkaW5nOiAwLjE0Mjg2cmVtIDEuMDcxNDNyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NTcxNHJlbTsgfVxuICAgICAgYm9keS5ob21lID4gZGl2LmludGVydmlldyAuY2FyZC13cmFwID4gYSAuaW1hZ2Utd3JhcCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgYm9keS5ob21lID4gZGl2LmludGVydmlldyAuY2FyZC13cmFwID4gYSAuaW1hZ2Utd3JhcCBpbWcge1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgICBib2R5LmhvbWUgPiBkaXYuaW50ZXJ2aWV3IC5jYXJkLXdyYXAgPiBhOmhvdmVyIC5pbWFnZS13cmFwIGltZyxcbiAgICAgICAgICBib2R5LmludGVydmlldyAuY29udGVudCBtYWluIC5jYXJkLXdyYXAgPiBhOmhvdmVyIC5pbWFnZS13cmFwIGltZyxcbiAgICAgICAgICBib2R5IG1haW4gZGl2LmludGVydmlldy5mdWxsLXdpZHRoIC5jYXJkLXdyYXAgPiBhOmhvdmVyIC5pbWFnZS13cmFwIGltZyxcbiAgICAgICAgICBib2R5IGZvb3Rlci5wYWdlLWZvb3RlciAuZm9vdGVyLWlubmVyIC5mb290ZXItZW50cnkgYTpob3ZlciBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAgICAgYm9keS5ob21lID4gZGl2LmludGVydmlldyAuY2FyZC13cmFwID4gYSBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yODU3MXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgY29sb3I6ICMwMzJjNjY7IH1cblxuYm9keS5ob21lID4gZGl2LndvbWFuIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9iZy10b3Atd29tYW4uanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcGFkZGluZzogMi4xNDI4NnJlbSAwIDA7IH1cbiAgYm9keS5ob21lID4gZGl2LndvbWFuIC5sYWRpZXMge1xuICAgIG1hcmdpbi10b3A6IC02LjQyODU3cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgIGJvZHkuaG9tZSA+IGRpdi53b21hbiAubGFkaWVzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIuMTQyODZyZW07IH0gfVxuICAgIGJvZHkuaG9tZSA+IGRpdi53b21hbiAubGFkaWVzIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDk0JTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS5ob21lID4gZGl2LndvbWFuIC5sYWRpZXMgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQwJTsgfSB9XG4gIGJvZHkuaG9tZSA+IGRpdi53b21hbiAucGFuZWwge1xuICAgIHBhZGRpbmc6IDIuODU3MTRyZW0gMS40Mjg1N3JlbSAxLjQyODU3cmVtO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlNzQ5ODU7IH1cbiAgICBib2R5LmhvbWUgPiBkaXYud29tYW4gLnBhbmVsIGgyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjZTc0OTg1O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS5ob21lID4gZGl2LndvbWFuIC5wYW5lbCBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjcxNDI5cmVtOyB9IH1cbiAgICAgIGJvZHkuaG9tZSA+IGRpdi53b21hbiAucGFuZWwgaDIgc3BhbiB7XG4gICAgICAgIG1hcmdpbjogMC43MTQyOXJlbSBhdXRvIDEuNDI4NTdyZW07XG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAgIGJvZHkuaG9tZSA+IGRpdi53b21hbiAucGFuZWwgaDIgc3BhbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICBib2R5LmhvbWUgPiBkaXYud29tYW4gLnBhbmVsIHAge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS44OyB9XG4gICAgYm9keS5ob21lID4gZGl2LndvbWFuIC5wYW5lbCBhLnJlYWRtb3JlIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNzE0MjlyZW07XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICMxMTExMTE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgYm9keS5ob21lID4gZGl2LndvbWFuIC5wYW5lbCBhLnJlYWRtb3JlIHBvbHlsaW5lIHtcbiAgICAgICAgc3Ryb2tlOiAjMTExMTExOyB9XG4gICAgICBib2R5LmhvbWUgPiBkaXYud29tYW4gLnBhbmVsIGEucmVhZG1vcmU6aG92ZXIsIGJvZHkuaG9tZSA+IGRpdi53b21hbiAucGFuZWwgYS5yZWFkbW9yZTpmb2N1cywgYm9keS5ob21lID4gZGl2LndvbWFuIC5wYW5lbCBhLnJlYWRtb3JlOmFjdGl2ZSB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBodnItYmFjay1wdWxzZS1waW5rO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTc0OTg1O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICBib2R5LmhvbWUgPiBkaXYud29tYW4gLnBhbmVsIGEucmVhZG1vcmU6aG92ZXIgcG9seWxpbmUsIGJvZHkuaG9tZSA+IGRpdi53b21hbiAucGFuZWwgYS5yZWFkbW9yZTpmb2N1cyBwb2x5bGluZSwgYm9keS5ob21lID4gZGl2LndvbWFuIC5wYW5lbCBhLnJlYWRtb3JlOmFjdGl2ZSBwb2x5bGluZSB7XG4gICAgICAgICAgc3Ryb2tlOiAjZmZmZmZmOyB9XG5cbi8qXG4gKiDkuIvlsaTjg5rjg7zjgrjlhbHpgJpcbiAqL1xuYm9keS5wYWdlIC50aXRsZS1hcmVhIHtcbiAgbWFyZ2luLXRvcDogMTA0cHg7XG4gIGhlaWdodDogNDAwcHg7XG4gIGJhY2tncm91bmQ6IG5vLXJlcGVhdCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgYm9keS5wYWdlIC50aXRsZS1hcmVhIHtcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDI4MnB4OyB9IH1cbiAgYm9keS5wYWdlIC50aXRsZS1hcmVhIC50aXRsZS1pbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICBib2R5LnBhZ2UgLnRpdGxlLWFyZWEgLnRpdGxlLWlubmVyIHtcbiAgICAgICAgbGVmdDogMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAtNTAlKTtcbiAgICAgICAgcGFkZGluZzogMCAxLjQyODU3cmVtOyB9IH1cbiAgICBib2R5LnBhZ2UgLnRpdGxlLWFyZWEgLnRpdGxlLWlubmVyIGgxIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS40Mjg1N3JlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiA0cHg7IH1cbiAgICAgIGJvZHkucGFnZSAudGl0bGUtYXJlYSAudGl0bGUtaW5uZXIgaDEgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuODU3MTRyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwOyB9XG4gICAgYm9keS5wYWdlIC50aXRsZS1hcmVhIC50aXRsZS1pbm5lciAudGl0bGUtdGV4dCB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICBib2R5LnBhZ2UgLnRpdGxlLWFyZWEgLnRpdGxlLWlubmVyIC50aXRsZS10ZXh0IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuYm9keS5wYWdlIC5jb250ZW50IG1haW4ge1xuICB3aWR0aDogMTEwMHB4O1xuICBtYXJnaW46IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIGJvZHkucGFnZSAuY29udGVudCBtYWluIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiBhdXRvIDEuNDI4NTdyZW07IH0gfVxuICBib2R5LnBhZ2UgLmNvbnRlbnQgbWFpbiAubGVhZCB7XG4gICAgbWFyZ2luOiAyLjE0Mjg2cmVtIGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206IDEuNDI4NTdyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGNvbG9yOiAjMDMyYzY2O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIGJvZHkucGFnZSAuY29udGVudCBtYWluIC5sZWFkIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjQyODU3cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICBib2R5LnBhZ2UgLmNvbnRlbnQgbWFpbiAubGVhZDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzMmM2NjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTJweDsgfVxuICAgIGJvZHkucGFnZSAuY29udGVudCBtYWluIC5sZWFkLmRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjMTExMTExOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgIGJvZHkucGFnZSAuY29udGVudCBtYWluIC5sZWFkLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuODU3MTRyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgICAgYm9keS5wYWdlIC5jb250ZW50IG1haW4gLmxlYWQuZGVzY3JpcHRpb24gc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjMDMyYzY2OyB9XG4gICAgICBib2R5LnBhZ2UgLmNvbnRlbnQgbWFpbiAubGVhZC5kZXNjcmlwdGlvbiA+IGRpdiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNDI4NTdyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQuMjg1NzFyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgIGJvZHkucGFnZSAuY29udGVudCBtYWluIC5sZWFkLmRlc2NyaXB0aW9uID4gZGl2IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIGJvZHkucGFnZSAuY29udGVudCBtYWluIC5sZWFkLmRlc2NyaXB0aW9uOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgYm9keS5wYWdlIC5jb250ZW50IG1haW4gcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjE0Mjg2cmVtOyB9XG5cbi8qXG4gKiDku6Pooajjg6Hjg4Pjgrvjg7zjgrhcbiAqL1xuYm9keS5tZXNzYWdlIC50aXRsZS1hcmVhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iZy1wYWdlLW1lc3NhZ2UuanBnKTsgfVxuXG5ib2R5Lm1lc3NhZ2UgLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgYm9keS5tZXNzYWdlIC5jb250ZW50OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDEwMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMjtcbiAgICBib3R0b206IC01NSU7XG4gICAgbGVmdDogLTUwJTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjBkZWcpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgYm9keS5tZXNzYWdlIC5jb250ZW50OjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogLTM1JTtcbiAgICAgICAgbGVmdDogLTQwJTsgfSB9XG4gIGJvZHkubWVzc2FnZSAuY29udGVudCBtYWluIC5sZWFkIHtcbiAgICBtYXJnaW4tdG9wOiA1LjE0Mjg2cmVtOyB9XG4gIGJvZHkubWVzc2FnZSAuY29udGVudCBtYWluIHAge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgdGV4dC1qdXN0aWZ5OiBpbnRlci1pZGVvZ3JhcGg7IH1cbiAgYm9keS5tZXNzYWdlIC5jb250ZW50IG1haW4gLnNpZ25hdHVyZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNC4yODU3MXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgIGJvZHkubWVzc2FnZSAuY29udGVudCBtYWluIC5zaWduYXR1cmUge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgYm9keS5tZXNzYWdlIC5jb250ZW50IG1haW4gLmNlbyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgYm9keS5tZXNzYWdlIC5jb250ZW50IG1haW4gLmNlbyB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICBib2R5Lm1lc3NhZ2UgLmNvbnRlbnQgbWFpbiAuY2VvIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDM4MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICAgIGJvZHkubWVzc2FnZSAuY29udGVudCBtYWluIC5jZW8gaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtODBweDsgfSB9XG5cbi8qXG4gKiDkuovmpa3ntLnku4tcbiAqL1xuYm9keS5idXNpbmVzcyAudGl0bGUtYXJlYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS1idXNpbmVzcy5qcGcpOyB9XG5cbmJvZHkuYnVzaW5lc3MgLmNvbnRlbnQgbWFpbiB7XG4gIHBhZGRpbmctYm90dG9tOiA3Ljg1NzE0cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5LmJ1c2luZXNzIC5jb250ZW50IG1haW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDVyZW07IH0gfVxuICBib2R5LmJ1c2luZXNzIC5jb250ZW50IG1haW4gLmxlYWQge1xuICAgIG1hcmdpbi10b3A6IDUuMTQyODZyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICBib2R5LmJ1c2luZXNzIC5jb250ZW50IG1haW4gLmxlYWQge1xuICAgICAgICBtYXJnaW4tdG9wOiAzLjU3MTQzcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cbiAgYm9keS5idXNpbmVzcyAuY29udGVudCBtYWluIHRhYmxlLmNvbXBhcmlzb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW07IH1cbiAgYm9keS5idXNpbmVzcyAuY29udGVudCBtYWluIGgzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzAzMmM2NjtcbiAgICBwYWRkaW5nOiAwLjcxNDI5cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS40Mjg1N3JlbTtcbiAgICBmb250LXNpemU6IDEuNTcxNDNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAzMmM2NjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjQyODU3cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgYm9keS5idXNpbmVzcyAuY29udGVudCBtYWluIC5saW5ldXAgPiBkaXYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgYm9keS5idXNpbmVzcyAuY29udGVudCBtYWluIC5saW5ldXAgPiBkaXY6bm90KDpudGgtY2hpbGQoLW4rMikpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIGJvZHkuYnVzaW5lc3MgLmNvbnRlbnQgbWFpbiBoNCB7XG4gICAgZm9udC1zaXplOiAxLjQyODU3cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4wNzE0M3JlbTsgfVxuICBib2R5LmJ1c2luZXNzIC5jb250ZW50IG1haW4gaW1nLmxpbmV1cC1pbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMDcxNDNyZW07IH1cblxuLypcbiAqIOOCpOODs+OCv+ODk+ODpeODvFxuICovXG5ib2R5LmludGVydmlldyAudGl0bGUtYXJlYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS1pbnRlcnZpZXcuanBnKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgYm9keS5pbnRlcnZpZXcgLnRpdGxlLWFyZWEge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAlIGNlbnRlcjsgfSB9XG5cbmJvZHkuaW50ZXJ2aWV3IC5jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIGJvZHkuaW50ZXJ2aWV3IC5jb250ZW50OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDczMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJvdHRvbTogMTYuNiU7XG4gICAgbGVmdDogLTUwJTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjRkZWcpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS5pbnRlcnZpZXcgLmNvbnRlbnQ6OmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMzAlO1xuICAgICAgICB3aWR0aDogODgwJTtcbiAgICAgICAgdG9wOiAtMjElO1xuICAgICAgICBib3R0b206IGluaXRpYWw7XG4gICAgICAgIGxlZnQ6IC02OCU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDY1ZGVnKTsgfSB9XG4gIGJvZHkuaW50ZXJ2aWV3IC5jb250ZW50IG1haW4gLmNhcmQtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogNC4yODU3MXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA0LjI4NTcxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS5pbnRlcnZpZXcgLmNvbnRlbnQgbWFpbiAuY2FyZC13cmFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi4xNDI4NnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS40Mjg1N3JlbTsgfSB9XG4gICAgYm9keS5pbnRlcnZpZXcgLmNvbnRlbnQgbWFpbiAuY2FyZC13cmFwID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS5pbnRlcnZpZXcgLmNvbnRlbnQgbWFpbiAuY2FyZC13cmFwID4gYSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMS40Mjg1N3JlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjQyODU3cmVtOyB9IH1cbiAgICAgIGJvZHkuaW50ZXJ2aWV3IC5jb250ZW50IG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLCBib2R5LmludGVydmlldyAuY29udGVudCBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCg1KSwgYm9keS5pbnRlcnZpZXcgLmNvbnRlbnQgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTQuMjg1NzFyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgIGJvZHkuaW50ZXJ2aWV3IC5jb250ZW50IG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLCBib2R5LmludGVydmlldyAuY29udGVudCBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCg1KSwgYm9keS5pbnRlcnZpZXcgLmNvbnRlbnQgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCkge1xuICAgICAgICAgICAgdG9wOiAwOyB9IH1cbiAgICAgIGJvZHkuaW50ZXJ2aWV3IC5jb250ZW50IG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLCBib2R5LmludGVydmlldyAuY29udGVudCBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCg2KSwgYm9keS5pbnRlcnZpZXcgLmNvbnRlbnQgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTguNTcxNDNyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgIGJvZHkuaW50ZXJ2aWV3IC5jb250ZW50IG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLCBib2R5LmludGVydmlldyAuY29udGVudCBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCg2KSwgYm9keS5pbnRlcnZpZXcgLmNvbnRlbnQgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSkge1xuICAgICAgICAgICAgdG9wOiAwOyB9IH1cbiAgICAgIGJvZHkuaW50ZXJ2aWV3IC5jb250ZW50IG1haW4gLmNhcmQtd3JhcCA+IGEgLm51bWJlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgbGVmdDogLTEwcHg7IH1cbiAgICAgIGJvZHkuaW50ZXJ2aWV3IC5jb250ZW50IG1haW4gLmNhcmQtd3JhcCA+IGEgLnRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkYjI3MjtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBwYWRkaW5nOiAwLjE0Mjg2cmVtIDEuMDcxNDNyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NTcxNHJlbTsgfVxuICAgICAgYm9keS5pbnRlcnZpZXcgLmNvbnRlbnQgbWFpbiAuY2FyZC13cmFwID4gYSAuaW1hZ2Utd3JhcCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgYm9keS5pbnRlcnZpZXcgLmNvbnRlbnQgbWFpbiAuY2FyZC13cmFwID4gYSAuaW1hZ2Utd3JhcCBpbWcge1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgICBib2R5LmhvbWUgPiBkaXYuaW50ZXJ2aWV3IC5jYXJkLXdyYXAgPiBhOmhvdmVyIC5pbWFnZS13cmFwIGltZyxcbiAgICAgICAgICBib2R5LmludGVydmlldyAuY29udGVudCBtYWluIC5jYXJkLXdyYXAgPiBhOmhvdmVyIC5pbWFnZS13cmFwIGltZyxcbiAgICAgICAgICBib2R5IG1haW4gZGl2LmludGVydmlldy5mdWxsLXdpZHRoIC5jYXJkLXdyYXAgPiBhOmhvdmVyIC5pbWFnZS13cmFwIGltZyxcbiAgICAgICAgICBib2R5IGZvb3Rlci5wYWdlLWZvb3RlciAuZm9vdGVyLWlubmVyIC5mb290ZXItZW50cnkgYTpob3ZlciBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAgICAgYm9keS5pbnRlcnZpZXcgLmNvbnRlbnQgbWFpbiAuY2FyZC13cmFwID4gYSBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yODU3MXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgY29sb3I6ICMwMzJjNjY7IH1cblxuLypcbiAqIOOCpOODs+OCv+ODk+ODpeODvCDlrZDjg5rjg7zjgrjlhbHpgJpcbiAqL1xuYm9keS5uaSAuY29udGVudCxcbmJvZHkuc24gLmNvbnRlbnQsXG5ib2R5Lm1uIC5jb250ZW50LFxuYm9keS5obSAuY29udGVudCxcbmJvZHkuamsgLmNvbnRlbnQsXG5ib2R5LmtrIC5jb250ZW50LFxuYm9keS5rZiAuY29udGVudCxcbmJvZHkudG0gLmNvbnRlbnQsXG5ib2R5LnlzIC5jb250ZW50LFxuYm9keS5teSAuY29udGVudCxcbmJvZHkudGsgLmNvbnRlbnQsXG5ib2R5LmNuIC5jb250ZW50LFxuYm9keS5uYSAuY29udGVudCxcbmJvZHkuYWkgLmNvbnRlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmJvZHkubmkgLnRpdGxlLWFyZWEsXG5ib2R5LnNuIC50aXRsZS1hcmVhLFxuYm9keS5tbiAudGl0bGUtYXJlYSxcbmJvZHkuaG0gLnRpdGxlLWFyZWEsXG5ib2R5LmprIC50aXRsZS1hcmVhLFxuYm9keS5rayAudGl0bGUtYXJlYSxcbmJvZHkua2YgLnRpdGxlLWFyZWEsXG5ib2R5LnRtIC50aXRsZS1hcmVhLFxuYm9keS55cyAudGl0bGUtYXJlYSxcbmJvZHkubXkgLnRpdGxlLWFyZWEsXG5ib2R5LnRrIC50aXRsZS1hcmVhLFxuYm9keS5jbiAudGl0bGUtYXJlYSxcbmJvZHkubmEgLnRpdGxlLWFyZWEsXG5ib2R5LmFpIC50aXRsZS1hcmVhIHtcbiAgYmFja2dyb3VuZC1zaXplOiA3NSU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAtMjtcbiAgaGVpZ2h0OiA0Mi44NTcxNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gICAgYm9keS5uaSAudGl0bGUtYXJlYSxcbiAgICBib2R5LnNuIC50aXRsZS1hcmVhLFxuICAgIGJvZHkubW4gLnRpdGxlLWFyZWEsXG4gICAgYm9keS5obSAudGl0bGUtYXJlYSxcbiAgICBib2R5LmprIC50aXRsZS1hcmVhLFxuICAgIGJvZHkua2sgLnRpdGxlLWFyZWEsXG4gICAgYm9keS5rZiAudGl0bGUtYXJlYSxcbiAgICBib2R5LnRtIC50aXRsZS1hcmVhLFxuICAgIGJvZHkueXMgLnRpdGxlLWFyZWEsXG4gICAgYm9keS5teSAudGl0bGUtYXJlYSxcbiAgICBib2R5LnRrIC50aXRsZS1hcmVhLFxuICAgIGJvZHkuY24gLnRpdGxlLWFyZWEsXG4gICAgYm9keS5uYSAudGl0bGUtYXJlYSxcbiAgICBib2R5LmFpIC50aXRsZS1hcmVhIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjE0Mjg2cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkubmkgLnRpdGxlLWFyZWEsXG4gICAgYm9keS5zbiAudGl0bGUtYXJlYSxcbiAgICBib2R5Lm1uIC50aXRsZS1hcmVhLFxuICAgIGJvZHkuaG0gLnRpdGxlLWFyZWEsXG4gICAgYm9keS5qayAudGl0bGUtYXJlYSxcbiAgICBib2R5LmtrIC50aXRsZS1hcmVhLFxuICAgIGJvZHkua2YgLnRpdGxlLWFyZWEsXG4gICAgYm9keS50bSAudGl0bGUtYXJlYSxcbiAgICBib2R5LnlzIC50aXRsZS1hcmVhLFxuICAgIGJvZHkubXkgLnRpdGxlLWFyZWEsXG4gICAgYm9keS50ayAudGl0bGUtYXJlYSxcbiAgICBib2R5LmNuIC50aXRsZS1hcmVhLFxuICAgIGJvZHkubmEgLnRpdGxlLWFyZWEsXG4gICAgYm9keS5haSAudGl0bGUtYXJlYSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIGJvZHkubmkgLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgYm9keS5zbiAudGl0bGUtYXJlYTo6YmVmb3JlLFxuICBib2R5Lm1uIC50aXRsZS1hcmVhOjpiZWZvcmUsXG4gIGJvZHkuaG0gLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgYm9keS5qayAudGl0bGUtYXJlYTo6YmVmb3JlLFxuICBib2R5LmtrIC50aXRsZS1hcmVhOjpiZWZvcmUsXG4gIGJvZHkua2YgLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgYm9keS50bSAudGl0bGUtYXJlYTo6YmVmb3JlLFxuICBib2R5LnlzIC50aXRsZS1hcmVhOjpiZWZvcmUsXG4gIGJvZHkubXkgLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgYm9keS50ayAudGl0bGUtYXJlYTo6YmVmb3JlLFxuICBib2R5LmNuIC50aXRsZS1hcmVhOjpiZWZvcmUsXG4gIGJvZHkubmEgLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgYm9keS5haSAudGl0bGUtYXJlYTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDgwZGVnLCAjMTExMTExIDQ1JSwgdHJhbnNwYXJlbnQgNDUlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIGJvZHkubmkgLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgICAgIGJvZHkuc24gLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgICAgIGJvZHkubW4gLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgICAgIGJvZHkuaG0gLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgICAgIGJvZHkuamsgLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgICAgIGJvZHkua2sgLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgICAgIGJvZHkua2YgLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgICAgIGJvZHkudG0gLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgICAgIGJvZHkueXMgLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgICAgIGJvZHkubXkgLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgICAgIGJvZHkudGsgLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgICAgIGJvZHkuY24gLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgICAgIGJvZHkubmEgLnRpdGxlLWFyZWE6OmJlZm9yZSxcbiAgICAgIGJvZHkuYWkgLnRpdGxlLWFyZWE6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTExMTE7IH0gfVxuICBib2R5Lm5pIC50aXRsZS1hcmVhIC5pbm5lcixcbiAgYm9keS5zbiAudGl0bGUtYXJlYSAuaW5uZXIsXG4gIGJvZHkubW4gLnRpdGxlLWFyZWEgLmlubmVyLFxuICBib2R5LmhtIC50aXRsZS1hcmVhIC5pbm5lcixcbiAgYm9keS5qayAudGl0bGUtYXJlYSAuaW5uZXIsXG4gIGJvZHkua2sgLnRpdGxlLWFyZWEgLmlubmVyLFxuICBib2R5LmtmIC50aXRsZS1hcmVhIC5pbm5lcixcbiAgYm9keS50bSAudGl0bGUtYXJlYSAuaW5uZXIsXG4gIGJvZHkueXMgLnRpdGxlLWFyZWEgLmlubmVyLFxuICBib2R5Lm15IC50aXRsZS1hcmVhIC5pbm5lcixcbiAgYm9keS50ayAudGl0bGUtYXJlYSAuaW5uZXIsXG4gIGJvZHkuY24gLnRpdGxlLWFyZWEgLmlubmVyLFxuICBib2R5Lm5hIC50aXRsZS1hcmVhIC5pbm5lcixcbiAgYm9keS5haSAudGl0bGUtYXJlYSAuaW5uZXIge1xuICAgIHdpZHRoOiAxMTAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICBib2R5Lm5pIC50aXRsZS1hcmVhIC5pbm5lcixcbiAgICAgIGJvZHkuc24gLnRpdGxlLWFyZWEgLmlubmVyLFxuICAgICAgYm9keS5tbiAudGl0bGUtYXJlYSAuaW5uZXIsXG4gICAgICBib2R5LmhtIC50aXRsZS1hcmVhIC5pbm5lcixcbiAgICAgIGJvZHkuamsgLnRpdGxlLWFyZWEgLmlubmVyLFxuICAgICAgYm9keS5rayAudGl0bGUtYXJlYSAuaW5uZXIsXG4gICAgICBib2R5LmtmIC50aXRsZS1hcmVhIC5pbm5lcixcbiAgICAgIGJvZHkudG0gLnRpdGxlLWFyZWEgLmlubmVyLFxuICAgICAgYm9keS55cyAudGl0bGUtYXJlYSAuaW5uZXIsXG4gICAgICBib2R5Lm15IC50aXRsZS1hcmVhIC5pbm5lcixcbiAgICAgIGJvZHkudGsgLnRpdGxlLWFyZWEgLmlubmVyLFxuICAgICAgYm9keS5jbiAudGl0bGUtYXJlYSAuaW5uZXIsXG4gICAgICBib2R5Lm5hIC50aXRsZS1hcmVhIC5pbm5lcixcbiAgICAgIGJvZHkuYWkgLnRpdGxlLWFyZWEgLmlubmVyIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogYXV0byAxLjQyODU3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICBib2R5Lm5pIC50aXRsZS1hcmVhIC5pbm5lcixcbiAgICAgIGJvZHkuc24gLnRpdGxlLWFyZWEgLmlubmVyLFxuICAgICAgYm9keS5tbiAudGl0bGUtYXJlYSAuaW5uZXIsXG4gICAgICBib2R5LmhtIC50aXRsZS1hcmVhIC5pbm5lcixcbiAgICAgIGJvZHkuamsgLnRpdGxlLWFyZWEgLmlubmVyLFxuICAgICAgYm9keS5rayAudGl0bGUtYXJlYSAuaW5uZXIsXG4gICAgICBib2R5LmtmIC50aXRsZS1hcmVhIC5pbm5lcixcbiAgICAgIGJvZHkudG0gLnRpdGxlLWFyZWEgLmlubmVyLFxuICAgICAgYm9keS55cyAudGl0bGUtYXJlYSAuaW5uZXIsXG4gICAgICBib2R5Lm15IC50aXRsZS1hcmVhIC5pbm5lcixcbiAgICAgIGJvZHkudGsgLnRpdGxlLWFyZWEgLmlubmVyLFxuICAgICAgYm9keS5jbiAudGl0bGUtYXJlYSAuaW5uZXIsXG4gICAgICBib2R5Lm5hIC50aXRsZS1hcmVhIC5pbm5lcixcbiAgICAgIGJvZHkuYWkgLnRpdGxlLWFyZWEgLmlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzAlIGNlbnRlcjsgfSB9XG4gICAgYm9keS5uaSAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwLFxuICAgIGJvZHkuc24gLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcCxcbiAgICBib2R5Lm1uIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXAsXG4gICAgYm9keS5obSAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwLFxuICAgIGJvZHkuamsgLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcCxcbiAgICBib2R5LmtrIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXAsXG4gICAgYm9keS5rZiAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwLFxuICAgIGJvZHkudG0gLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcCxcbiAgICBib2R5LnlzIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXAsXG4gICAgYm9keS5teSAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwLFxuICAgIGJvZHkudGsgLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcCxcbiAgICBib2R5LmNuIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXAsXG4gICAgYm9keS5uYSAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwLFxuICAgIGJvZHkuYWkgLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcCB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjg1NzE0cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjcxNDI5cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuODU3MTRyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS5uaSAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwLFxuICAgICAgICBib2R5LnNuIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXAsXG4gICAgICAgIGJvZHkubW4gLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcCxcbiAgICAgICAgYm9keS5obSAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwLFxuICAgICAgICBib2R5LmprIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXAsXG4gICAgICAgIGJvZHkua2sgLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcCxcbiAgICAgICAgYm9keS5rZiAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwLFxuICAgICAgICBib2R5LnRtIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXAsXG4gICAgICAgIGJvZHkueXMgLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcCxcbiAgICAgICAgYm9keS5teSAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwLFxuICAgICAgICBib2R5LnRrIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXAsXG4gICAgICAgIGJvZHkuY24gLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcCxcbiAgICAgICAgYm9keS5uYSAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwLFxuICAgICAgICBib2R5LmFpIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMS40Mjg1N3JlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjQyODU3cmVtOyB9IH1cbiAgICAgIGJvZHkubmkgLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcDo6YWZ0ZXIsXG4gICAgICBib2R5LnNuIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXA6OmFmdGVyLFxuICAgICAgYm9keS5tbiAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwOjphZnRlcixcbiAgICAgIGJvZHkuaG0gLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcDo6YWZ0ZXIsXG4gICAgICBib2R5LmprIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXA6OmFmdGVyLFxuICAgICAgYm9keS5rayAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwOjphZnRlcixcbiAgICAgIGJvZHkua2YgLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcDo6YWZ0ZXIsXG4gICAgICBib2R5LnRtIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXA6OmFmdGVyLFxuICAgICAgYm9keS55cyAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwOjphZnRlcixcbiAgICAgIGJvZHkubXkgLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcDo6YWZ0ZXIsXG4gICAgICBib2R5LnRrIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXA6OmFmdGVyLFxuICAgICAgYm9keS5jbiAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwOjphZnRlcixcbiAgICAgIGJvZHkubmEgLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcDo6YWZ0ZXIsXG4gICAgICBib2R5LmFpIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXA6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4ICNmZmZmZmYgc29saWQ7XG4gICAgICAgIHdpZHRoOiAxLjQyODU3cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuMDcxNDNyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAtMTBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgYm9keS5uaSAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwOjphZnRlcixcbiAgICAgICAgICBib2R5LnNuIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXA6OmFmdGVyLFxuICAgICAgICAgIGJvZHkubW4gLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcDo6YWZ0ZXIsXG4gICAgICAgICAgYm9keS5obSAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwOjphZnRlcixcbiAgICAgICAgICBib2R5LmprIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXA6OmFmdGVyLFxuICAgICAgICAgIGJvZHkua2sgLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcDo6YWZ0ZXIsXG4gICAgICAgICAgYm9keS5rZiAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwOjphZnRlcixcbiAgICAgICAgICBib2R5LnRtIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXA6OmFmdGVyLFxuICAgICAgICAgIGJvZHkueXMgLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcDo6YWZ0ZXIsXG4gICAgICAgICAgYm9keS5teSAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwOjphZnRlcixcbiAgICAgICAgICBib2R5LnRrIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXA6OmFmdGVyLFxuICAgICAgICAgIGJvZHkuY24gLnRpdGxlLWFyZWEgLmlubmVyIC5udW1iZXItd3JhcDo6YWZ0ZXIsXG4gICAgICAgICAgYm9keS5uYSAudGl0bGUtYXJlYSAuaW5uZXIgLm51bWJlci13cmFwOjphZnRlcixcbiAgICAgICAgICBib2R5LmFpIC50aXRsZS1hcmVhIC5pbm5lciAubnVtYmVyLXdyYXA6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDsgfSB9XG4gICAgYm9keS5uaSAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgYm9keS5zbiAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgYm9keS5tbiAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgYm9keS5obSAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgYm9keS5qayAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgYm9keS5rayAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgYm9keS5rZiAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgYm9keS50bSAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgYm9keS55cyAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgYm9keS5teSAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgYm9keS50ayAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgYm9keS5jbiAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgYm9keS5uYSAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgYm9keS5haSAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDIuODU3MTRyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICBib2R5Lm5pIC50aXRsZS1hcmVhIC5pbm5lciAubGVhZCxcbiAgICAgICAgYm9keS5zbiAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgICAgIGJvZHkubW4gLnRpdGxlLWFyZWEgLmlubmVyIC5sZWFkLFxuICAgICAgICBib2R5LmhtIC50aXRsZS1hcmVhIC5pbm5lciAubGVhZCxcbiAgICAgICAgYm9keS5qayAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgICAgIGJvZHkua2sgLnRpdGxlLWFyZWEgLmlubmVyIC5sZWFkLFxuICAgICAgICBib2R5LmtmIC50aXRsZS1hcmVhIC5pbm5lciAubGVhZCxcbiAgICAgICAgYm9keS50bSAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgICAgIGJvZHkueXMgLnRpdGxlLWFyZWEgLmlubmVyIC5sZWFkLFxuICAgICAgICBib2R5Lm15IC50aXRsZS1hcmVhIC5pbm5lciAubGVhZCxcbiAgICAgICAgYm9keS50ayAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQsXG4gICAgICAgIGJvZHkuY24gLnRpdGxlLWFyZWEgLmlubmVyIC5sZWFkLFxuICAgICAgICBib2R5Lm5hIC50aXRsZS1hcmVhIC5pbm5lciAubGVhZCxcbiAgICAgICAgYm9keS5haSAudGl0bGUtYXJlYSAuaW5uZXIgLmxlYWQge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICBmb250LXNpemU6IDEuNTcxNDNyZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS40Mjg1N3JlbTsgfSB9XG4gICAgYm9keS5uaSAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgYm9keS5zbiAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgYm9keS5tbiAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgYm9keS5obSAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgYm9keS5qayAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgYm9keS5rayAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgYm9keS5rZiAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgYm9keS50bSAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgYm9keS55cyAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgYm9keS5teSAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgYm9keS50ayAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgYm9keS5jbiAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgYm9keS5uYSAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgYm9keS5haSAudGl0bGUtYXJlYSAuaW5uZXIgaDEge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgZm9udC1zaXplOiAxLjE0Mjg2cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgIGJvZHkubmkgLnRpdGxlLWFyZWEgLmlubmVyIGgxLFxuICAgICAgICBib2R5LnNuIC50aXRsZS1hcmVhIC5pbm5lciBoMSxcbiAgICAgICAgYm9keS5tbiAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgICAgIGJvZHkuaG0gLnRpdGxlLWFyZWEgLmlubmVyIGgxLFxuICAgICAgICBib2R5LmprIC50aXRsZS1hcmVhIC5pbm5lciBoMSxcbiAgICAgICAgYm9keS5rayAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgICAgIGJvZHkua2YgLnRpdGxlLWFyZWEgLmlubmVyIGgxLFxuICAgICAgICBib2R5LnRtIC50aXRsZS1hcmVhIC5pbm5lciBoMSxcbiAgICAgICAgYm9keS55cyAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgICAgIGJvZHkubXkgLnRpdGxlLWFyZWEgLmlubmVyIGgxLFxuICAgICAgICBib2R5LnRrIC50aXRsZS1hcmVhIC5pbm5lciBoMSxcbiAgICAgICAgYm9keS5jbiAudGl0bGUtYXJlYSAuaW5uZXIgaDEsXG4gICAgICAgIGJvZHkubmEgLnRpdGxlLWFyZWEgLmlubmVyIGgxLFxuICAgICAgICBib2R5LmFpIC50aXRsZS1hcmVhIC5pbm5lciBoMSB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICBib3R0b206IGluaXRpYWw7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNDI4NTdyZW07IH0gfVxuICAgICAgYm9keS5uaSAudGl0bGUtYXJlYSAuaW5uZXIgaDEgc3BhbixcbiAgICAgIGJvZHkuc24gLnRpdGxlLWFyZWEgLmlubmVyIGgxIHNwYW4sXG4gICAgICBib2R5Lm1uIC50aXRsZS1hcmVhIC5pbm5lciBoMSBzcGFuLFxuICAgICAgYm9keS5obSAudGl0bGUtYXJlYSAuaW5uZXIgaDEgc3BhbixcbiAgICAgIGJvZHkuamsgLnRpdGxlLWFyZWEgLmlubmVyIGgxIHNwYW4sXG4gICAgICBib2R5LmtrIC50aXRsZS1hcmVhIC5pbm5lciBoMSBzcGFuLFxuICAgICAgYm9keS5rZiAudGl0bGUtYXJlYSAuaW5uZXIgaDEgc3BhbixcbiAgICAgIGJvZHkudG0gLnRpdGxlLWFyZWEgLmlubmVyIGgxIHNwYW4sXG4gICAgICBib2R5LnlzIC50aXRsZS1hcmVhIC5pbm5lciBoMSBzcGFuLFxuICAgICAgYm9keS5teSAudGl0bGUtYXJlYSAuaW5uZXIgaDEgc3BhbixcbiAgICAgIGJvZHkudGsgLnRpdGxlLWFyZWEgLmlubmVyIGgxIHNwYW4sXG4gICAgICBib2R5LmNuIC50aXRsZS1hcmVhIC5pbm5lciBoMSBzcGFuLFxuICAgICAgYm9keS5uYSAudGl0bGUtYXJlYSAuaW5uZXIgaDEgc3BhbixcbiAgICAgIGJvZHkuYWkgLnRpdGxlLWFyZWEgLmlubmVyIGgxIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBwYWRkaW5nOiAwLjIxNDI5cmVtIDAuNzE0MjlyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zNTcxNHJlbTsgfVxuXG5ib2R5Lm5pIG1haW4gaDIsXG5ib2R5LnNuIG1haW4gaDIsXG5ib2R5Lm1uIG1haW4gaDIsXG5ib2R5LmhtIG1haW4gaDIsXG5ib2R5LmprIG1haW4gaDIsXG5ib2R5LmtrIG1haW4gaDIsXG5ib2R5LmtmIG1haW4gaDIsXG5ib2R5LnRtIG1haW4gaDIsXG5ib2R5LnlzIG1haW4gaDIsXG5ib2R5Lm15IG1haW4gaDIsXG5ib2R5LnRrIG1haW4gaDIsXG5ib2R5LmNuIG1haW4gaDIsXG5ib2R5Lm5hIG1haW4gaDIsXG5ib2R5LmFpIG1haW4gaDIge1xuICBjb2xvcjogIzAzMmM2NjtcbiAgZm9udC1zaXplOiAxLjcxNDI5cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogMS43ODU3MXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS40Mjg1N3JlbTtcbiAgbWFyZ2luLXRvcDogMS40Mjg1N3JlbTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgYm9keS5uaSBtYWluIGgyOm50aC1jaGlsZCgxKSxcbiAgYm9keS5zbiBtYWluIGgyOm50aC1jaGlsZCgxKSxcbiAgYm9keS5tbiBtYWluIGgyOm50aC1jaGlsZCgxKSxcbiAgYm9keS5obSBtYWluIGgyOm50aC1jaGlsZCgxKSxcbiAgYm9keS5qayBtYWluIGgyOm50aC1jaGlsZCgxKSxcbiAgYm9keS5rayBtYWluIGgyOm50aC1jaGlsZCgxKSxcbiAgYm9keS5rZiBtYWluIGgyOm50aC1jaGlsZCgxKSxcbiAgYm9keS50bSBtYWluIGgyOm50aC1jaGlsZCgxKSxcbiAgYm9keS55cyBtYWluIGgyOm50aC1jaGlsZCgxKSxcbiAgYm9keS5teSBtYWluIGgyOm50aC1jaGlsZCgxKSxcbiAgYm9keS50ayBtYWluIGgyOm50aC1jaGlsZCgxKSxcbiAgYm9keS5jbiBtYWluIGgyOm50aC1jaGlsZCgxKSxcbiAgYm9keS5uYSBtYWluIGgyOm50aC1jaGlsZCgxKSxcbiAgYm9keS5haSBtYWluIGgyOm50aC1jaGlsZCgxKSB7XG4gICAgbWFyZ2luLXRvcDogLTEuNzg1NzFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkubmkgbWFpbiBoMixcbiAgICBib2R5LnNuIG1haW4gaDIsXG4gICAgYm9keS5tbiBtYWluIGgyLFxuICAgIGJvZHkuaG0gbWFpbiBoMixcbiAgICBib2R5LmprIG1haW4gaDIsXG4gICAgYm9keS5rayBtYWluIGgyLFxuICAgIGJvZHkua2YgbWFpbiBoMixcbiAgICBib2R5LnRtIG1haW4gaDIsXG4gICAgYm9keS55cyBtYWluIGgyLFxuICAgIGJvZHkubXkgbWFpbiBoMixcbiAgICBib2R5LnRrIG1haW4gaDIsXG4gICAgYm9keS5jbiBtYWluIGgyLFxuICAgIGJvZHkubmEgbWFpbiBoMixcbiAgICBib2R5LmFpIG1haW4gaDIge1xuICAgICAgZm9udC1zaXplOiAxLjI4NTcxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIuODU3MTRyZW07IH0gfVxuICBib2R5Lm5pIG1haW4gaDI6OmJlZm9yZSxcbiAgYm9keS5zbiBtYWluIGgyOjpiZWZvcmUsXG4gIGJvZHkubW4gbWFpbiBoMjo6YmVmb3JlLFxuICBib2R5LmhtIG1haW4gaDI6OmJlZm9yZSxcbiAgYm9keS5qayBtYWluIGgyOjpiZWZvcmUsXG4gIGJvZHkua2sgbWFpbiBoMjo6YmVmb3JlLFxuICBib2R5LmtmIG1haW4gaDI6OmJlZm9yZSxcbiAgYm9keS50bSBtYWluIGgyOjpiZWZvcmUsXG4gIGJvZHkueXMgbWFpbiBoMjo6YmVmb3JlLFxuICBib2R5Lm15IG1haW4gaDI6OmJlZm9yZSxcbiAgYm9keS50ayBtYWluIGgyOjpiZWZvcmUsXG4gIGJvZHkuY24gbWFpbiBoMjo6YmVmb3JlLFxuICBib2R5Lm5hIG1haW4gaDI6OmJlZm9yZSxcbiAgYm9keS5haSBtYWluIGgyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy90eHQtaW50ZXJ2aWV3LXEuc3ZnKSBuby1yZXBlYXQgMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDQzcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLXRvcDogLTAuMzU3MTRyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjQyODU3cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS5uaSBtYWluIGgyOjpiZWZvcmUsXG4gICAgICBib2R5LnNuIG1haW4gaDI6OmJlZm9yZSxcbiAgICAgIGJvZHkubW4gbWFpbiBoMjo6YmVmb3JlLFxuICAgICAgYm9keS5obSBtYWluIGgyOjpiZWZvcmUsXG4gICAgICBib2R5LmprIG1haW4gaDI6OmJlZm9yZSxcbiAgICAgIGJvZHkua2sgbWFpbiBoMjo6YmVmb3JlLFxuICAgICAgYm9keS5rZiBtYWluIGgyOjpiZWZvcmUsXG4gICAgICBib2R5LnRtIG1haW4gaDI6OmJlZm9yZSxcbiAgICAgIGJvZHkueXMgbWFpbiBoMjo6YmVmb3JlLFxuICAgICAgYm9keS5teSBtYWluIGgyOjpiZWZvcmUsXG4gICAgICBib2R5LnRrIG1haW4gaDI6OmJlZm9yZSxcbiAgICAgIGJvZHkuY24gbWFpbiBoMjo6YmVmb3JlLFxuICAgICAgYm9keS5uYSBtYWluIGgyOjpiZWZvcmUsXG4gICAgICBib2R5LmFpIG1haW4gaDI6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0wLjcxNDI5cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIuODU3MTRyZW07IH0gfVxuXG5ib2R5Lm5pIG1haW4gLmludGVydmlldy1jb250ZW50LFxuYm9keS5zbiBtYWluIC5pbnRlcnZpZXctY29udGVudCxcbmJvZHkubW4gbWFpbiAuaW50ZXJ2aWV3LWNvbnRlbnQsXG5ib2R5LmhtIG1haW4gLmludGVydmlldy1jb250ZW50LFxuYm9keS5qayBtYWluIC5pbnRlcnZpZXctY29udGVudCxcbmJvZHkua2sgbWFpbiAuaW50ZXJ2aWV3LWNvbnRlbnQsXG5ib2R5LmtmIG1haW4gLmludGVydmlldy1jb250ZW50LFxuYm9keS50bSBtYWluIC5pbnRlcnZpZXctY29udGVudCxcbmJvZHkueXMgbWFpbiAuaW50ZXJ2aWV3LWNvbnRlbnQsXG5ib2R5Lm15IG1haW4gLmludGVydmlldy1jb250ZW50LFxuYm9keS50ayBtYWluIC5pbnRlcnZpZXctY29udGVudCxcbmJvZHkuY24gbWFpbiAuaW50ZXJ2aWV3LWNvbnRlbnQsXG5ib2R5Lm5hIG1haW4gLmludGVydmlldy1jb250ZW50LFxuYm9keS5haSBtYWluIC5pbnRlcnZpZXctY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkubmkgbWFpbiAuaW50ZXJ2aWV3LWNvbnRlbnQsXG4gICAgYm9keS5zbiBtYWluIC5pbnRlcnZpZXctY29udGVudCxcbiAgICBib2R5Lm1uIG1haW4gLmludGVydmlldy1jb250ZW50LFxuICAgIGJvZHkuaG0gbWFpbiAuaW50ZXJ2aWV3LWNvbnRlbnQsXG4gICAgYm9keS5qayBtYWluIC5pbnRlcnZpZXctY29udGVudCxcbiAgICBib2R5LmtrIG1haW4gLmludGVydmlldy1jb250ZW50LFxuICAgIGJvZHkua2YgbWFpbiAuaW50ZXJ2aWV3LWNvbnRlbnQsXG4gICAgYm9keS50bSBtYWluIC5pbnRlcnZpZXctY29udGVudCxcbiAgICBib2R5LnlzIG1haW4gLmludGVydmlldy1jb250ZW50LFxuICAgIGJvZHkubXkgbWFpbiAuaW50ZXJ2aWV3LWNvbnRlbnQsXG4gICAgYm9keS50ayBtYWluIC5pbnRlcnZpZXctY29udGVudCxcbiAgICBib2R5LmNuIG1haW4gLmludGVydmlldy1jb250ZW50LFxuICAgIGJvZHkubmEgbWFpbiAuaW50ZXJ2aWV3LWNvbnRlbnQsXG4gICAgYm9keS5haSBtYWluIC5pbnRlcnZpZXctY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjU3MTQzcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICBib2R5Lm5pIG1haW4gLm9wcG9zaXRlID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgYm9keS5zbiBtYWluIC5vcHBvc2l0ZSA+IGRpdjpudGgtY2hpbGQoMSksXG4gIGJvZHkubW4gbWFpbiAub3Bwb3NpdGUgPiBkaXY6bnRoLWNoaWxkKDEpLFxuICBib2R5LmhtIG1haW4gLm9wcG9zaXRlID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgYm9keS5qayBtYWluIC5vcHBvc2l0ZSA+IGRpdjpudGgtY2hpbGQoMSksXG4gIGJvZHkua2sgbWFpbiAub3Bwb3NpdGUgPiBkaXY6bnRoLWNoaWxkKDEpLFxuICBib2R5LmtmIG1haW4gLm9wcG9zaXRlID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgYm9keS50bSBtYWluIC5vcHBvc2l0ZSA+IGRpdjpudGgtY2hpbGQoMSksXG4gIGJvZHkueXMgbWFpbiAub3Bwb3NpdGUgPiBkaXY6bnRoLWNoaWxkKDEpLFxuICBib2R5Lm15IG1haW4gLm9wcG9zaXRlID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgYm9keS50ayBtYWluIC5vcHBvc2l0ZSA+IGRpdjpudGgtY2hpbGQoMSksXG4gIGJvZHkuY24gbWFpbiAub3Bwb3NpdGUgPiBkaXY6bnRoLWNoaWxkKDEpLFxuICBib2R5Lm5hIG1haW4gLm9wcG9zaXRlID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgYm9keS5haSBtYWluIC5vcHBvc2l0ZSA+IGRpdjpudGgtY2hpbGQoMSkge1xuICAgIG9yZGVyOiAxOyB9IH1cblxuYm9keS5uaSBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuYm9keS5zbiBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuYm9keS5tbiBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuYm9keS5obSBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuYm9keS5qayBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuYm9keS5rayBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuYm9keS5rZiBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuYm9keS50bSBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuYm9keS55cyBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuYm9keS5teSBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuYm9keS50ayBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuYm9keS5jbiBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuYm9keS5uYSBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuYm9keS5haSBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHdpZHRoOiAxMzUlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICBib2R5Lm5pIG1haW4gLmltZy1jdXN0b20tcG9zaXRpb24sXG4gICAgYm9keS5zbiBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuICAgIGJvZHkubW4gbWFpbiAuaW1nLWN1c3RvbS1wb3NpdGlvbixcbiAgICBib2R5LmhtIG1haW4gLmltZy1jdXN0b20tcG9zaXRpb24sXG4gICAgYm9keS5qayBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuICAgIGJvZHkua2sgbWFpbiAuaW1nLWN1c3RvbS1wb3NpdGlvbixcbiAgICBib2R5LmtmIG1haW4gLmltZy1jdXN0b20tcG9zaXRpb24sXG4gICAgYm9keS50bSBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuICAgIGJvZHkueXMgbWFpbiAuaW1nLWN1c3RvbS1wb3NpdGlvbixcbiAgICBib2R5Lm15IG1haW4gLmltZy1jdXN0b20tcG9zaXRpb24sXG4gICAgYm9keS50ayBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuICAgIGJvZHkuY24gbWFpbiAuaW1nLWN1c3RvbS1wb3NpdGlvbixcbiAgICBib2R5Lm5hIG1haW4gLmltZy1jdXN0b20tcG9zaXRpb24sXG4gICAgYm9keS5haSBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uIHtcbiAgICAgIHdpZHRoOiAxMjAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkubmkgbWFpbiAuaW1nLWN1c3RvbS1wb3NpdGlvbixcbiAgICBib2R5LnNuIG1haW4gLmltZy1jdXN0b20tcG9zaXRpb24sXG4gICAgYm9keS5tbiBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuICAgIGJvZHkuaG0gbWFpbiAuaW1nLWN1c3RvbS1wb3NpdGlvbixcbiAgICBib2R5LmprIG1haW4gLmltZy1jdXN0b20tcG9zaXRpb24sXG4gICAgYm9keS5rayBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuICAgIGJvZHkua2YgbWFpbiAuaW1nLWN1c3RvbS1wb3NpdGlvbixcbiAgICBib2R5LnRtIG1haW4gLmltZy1jdXN0b20tcG9zaXRpb24sXG4gICAgYm9keS55cyBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuICAgIGJvZHkubXkgbWFpbiAuaW1nLWN1c3RvbS1wb3NpdGlvbixcbiAgICBib2R5LnRrIG1haW4gLmltZy1jdXN0b20tcG9zaXRpb24sXG4gICAgYm9keS5jbiBtYWluIC5pbWctY3VzdG9tLXBvc2l0aW9uLFxuICAgIGJvZHkubmEgbWFpbiAuaW1nLWN1c3RvbS1wb3NpdGlvbixcbiAgICBib2R5LmFpIG1haW4gLmltZy1jdXN0b20tcG9zaXRpb24ge1xuICAgICAgd2lkdGg6IDExMCU7IH0gfVxuXG5ib2R5Lm5pIG1haW4gLm1lc3NhZ2UsXG5ib2R5LnNuIG1haW4gLm1lc3NhZ2UsXG5ib2R5Lm1uIG1haW4gLm1lc3NhZ2UsXG5ib2R5LmhtIG1haW4gLm1lc3NhZ2UsXG5ib2R5LmprIG1haW4gLm1lc3NhZ2UsXG5ib2R5LmtrIG1haW4gLm1lc3NhZ2UsXG5ib2R5LmtmIG1haW4gLm1lc3NhZ2UsXG5ib2R5LnRtIG1haW4gLm1lc3NhZ2UsXG5ib2R5LnlzIG1haW4gLm1lc3NhZ2UsXG5ib2R5Lm15IG1haW4gLm1lc3NhZ2UsXG5ib2R5LnRrIG1haW4gLm1lc3NhZ2UsXG5ib2R5LmNuIG1haW4gLm1lc3NhZ2UsXG5ib2R5Lm5hIG1haW4gLm1lc3NhZ2UsXG5ib2R5LmFpIG1haW4gLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyICNmMmYyZjI7XG4gIHBhZGRpbmc6IDIuODU3MTRyZW0gMS40Mjg1N3JlbTtcbiAgbWFyZ2luLXRvcDogNy4xNDI4NnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgYm9keS5uaSBtYWluIC5tZXNzYWdlLFxuICAgIGJvZHkuc24gbWFpbiAubWVzc2FnZSxcbiAgICBib2R5Lm1uIG1haW4gLm1lc3NhZ2UsXG4gICAgYm9keS5obSBtYWluIC5tZXNzYWdlLFxuICAgIGJvZHkuamsgbWFpbiAubWVzc2FnZSxcbiAgICBib2R5LmtrIG1haW4gLm1lc3NhZ2UsXG4gICAgYm9keS5rZiBtYWluIC5tZXNzYWdlLFxuICAgIGJvZHkudG0gbWFpbiAubWVzc2FnZSxcbiAgICBib2R5LnlzIG1haW4gLm1lc3NhZ2UsXG4gICAgYm9keS5teSBtYWluIC5tZXNzYWdlLFxuICAgIGJvZHkudGsgbWFpbiAubWVzc2FnZSxcbiAgICBib2R5LmNuIG1haW4gLm1lc3NhZ2UsXG4gICAgYm9keS5uYSBtYWluIC5tZXNzYWdlLFxuICAgIGJvZHkuYWkgbWFpbiAubWVzc2FnZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3MCUgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5Lm5pIG1haW4gLm1lc3NhZ2UsXG4gICAgYm9keS5zbiBtYWluIC5tZXNzYWdlLFxuICAgIGJvZHkubW4gbWFpbiAubWVzc2FnZSxcbiAgICBib2R5LmhtIG1haW4gLm1lc3NhZ2UsXG4gICAgYm9keS5qayBtYWluIC5tZXNzYWdlLFxuICAgIGJvZHkua2sgbWFpbiAubWVzc2FnZSxcbiAgICBib2R5LmtmIG1haW4gLm1lc3NhZ2UsXG4gICAgYm9keS50bSBtYWluIC5tZXNzYWdlLFxuICAgIGJvZHkueXMgbWFpbiAubWVzc2FnZSxcbiAgICBib2R5Lm15IG1haW4gLm1lc3NhZ2UsXG4gICAgYm9keS50ayBtYWluIC5tZXNzYWdlLFxuICAgIGJvZHkuY24gbWFpbiAubWVzc2FnZSxcbiAgICBib2R5Lm5hIG1haW4gLm1lc3NhZ2UsXG4gICAgYm9keS5haSBtYWluIC5tZXNzYWdlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDYwJSBjZW50ZXI7IH0gfVxuICBib2R5Lm5pIG1haW4gLm1lc3NhZ2UgLmNlbGwsXG4gIGJvZHkuc24gbWFpbiAubWVzc2FnZSAuY2VsbCxcbiAgYm9keS5tbiBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICBib2R5LmhtIG1haW4gLm1lc3NhZ2UgLmNlbGwsXG4gIGJvZHkuamsgbWFpbiAubWVzc2FnZSAuY2VsbCxcbiAgYm9keS5rayBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICBib2R5LmtmIG1haW4gLm1lc3NhZ2UgLmNlbGwsXG4gIGJvZHkudG0gbWFpbiAubWVzc2FnZSAuY2VsbCxcbiAgYm9keS55cyBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICBib2R5Lm15IG1haW4gLm1lc3NhZ2UgLmNlbGwsXG4gIGJvZHkudGsgbWFpbiAubWVzc2FnZSAuY2VsbCxcbiAgYm9keS5jbiBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICBib2R5Lm5hIG1haW4gLm1lc3NhZ2UgLmNlbGwsXG4gIGJvZHkuYWkgbWFpbiAubWVzc2FnZSAuY2VsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgICBwYWRkaW5nOiAyLjE0Mjg2cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS5uaSBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICAgICAgYm9keS5zbiBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICAgICAgYm9keS5tbiBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICAgICAgYm9keS5obSBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICAgICAgYm9keS5qayBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICAgICAgYm9keS5rayBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICAgICAgYm9keS5rZiBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICAgICAgYm9keS50bSBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICAgICAgYm9keS55cyBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICAgICAgYm9keS5teSBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICAgICAgYm9keS50ayBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICAgICAgYm9keS5jbiBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICAgICAgYm9keS5uYSBtYWluIC5tZXNzYWdlIC5jZWxsLFxuICAgICAgYm9keS5haSBtYWluIC5tZXNzYWdlIC5jZWxsIHtcbiAgICAgICAgcGFkZGluZzogMS40Mjg1N3JlbSAxLjA3MTQzcmVtOyB9IH1cbiAgICBib2R5Lm5pIG1haW4gLm1lc3NhZ2UgLmNlbGwgcCxcbiAgICBib2R5LnNuIG1haW4gLm1lc3NhZ2UgLmNlbGwgcCxcbiAgICBib2R5Lm1uIG1haW4gLm1lc3NhZ2UgLmNlbGwgcCxcbiAgICBib2R5LmhtIG1haW4gLm1lc3NhZ2UgLmNlbGwgcCxcbiAgICBib2R5LmprIG1haW4gLm1lc3NhZ2UgLmNlbGwgcCxcbiAgICBib2R5LmtrIG1haW4gLm1lc3NhZ2UgLmNlbGwgcCxcbiAgICBib2R5LmtmIG1haW4gLm1lc3NhZ2UgLmNlbGwgcCxcbiAgICBib2R5LnRtIG1haW4gLm1lc3NhZ2UgLmNlbGwgcCxcbiAgICBib2R5LnlzIG1haW4gLm1lc3NhZ2UgLmNlbGwgcCxcbiAgICBib2R5Lm15IG1haW4gLm1lc3NhZ2UgLmNlbGwgcCxcbiAgICBib2R5LnRrIG1haW4gLm1lc3NhZ2UgLmNlbGwgcCxcbiAgICBib2R5LmNuIG1haW4gLm1lc3NhZ2UgLmNlbGwgcCxcbiAgICBib2R5Lm5hIG1haW4gLm1lc3NhZ2UgLmNlbGwgcCxcbiAgICBib2R5LmFpIG1haW4gLm1lc3NhZ2UgLmNlbGwgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIGJvZHkubmkgbWFpbiAubWVzc2FnZS5iZy1jb3ZlcixcbiAgYm9keS5zbiBtYWluIC5tZXNzYWdlLmJnLWNvdmVyLFxuICBib2R5Lm1uIG1haW4gLm1lc3NhZ2UuYmctY292ZXIsXG4gIGJvZHkuaG0gbWFpbiAubWVzc2FnZS5iZy1jb3ZlcixcbiAgYm9keS5qayBtYWluIC5tZXNzYWdlLmJnLWNvdmVyLFxuICBib2R5LmtrIG1haW4gLm1lc3NhZ2UuYmctY292ZXIsXG4gIGJvZHkua2YgbWFpbiAubWVzc2FnZS5iZy1jb3ZlcixcbiAgYm9keS50bSBtYWluIC5tZXNzYWdlLmJnLWNvdmVyLFxuICBib2R5LnlzIG1haW4gLm1lc3NhZ2UuYmctY292ZXIsXG4gIGJvZHkubXkgbWFpbiAubWVzc2FnZS5iZy1jb3ZlcixcbiAgYm9keS50ayBtYWluIC5tZXNzYWdlLmJnLWNvdmVyLFxuICBib2R5LmNuIG1haW4gLm1lc3NhZ2UuYmctY292ZXIsXG4gIGJvZHkubmEgbWFpbiAubWVzc2FnZS5iZy1jb3ZlcixcbiAgYm9keS5haSBtYWluIC5tZXNzYWdlLmJnLWNvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIGJvZHkubmkgbWFpbiAubWVzc2FnZSBoMixcbiAgYm9keS5zbiBtYWluIC5tZXNzYWdlIGgyLFxuICBib2R5Lm1uIG1haW4gLm1lc3NhZ2UgaDIsXG4gIGJvZHkuaG0gbWFpbiAubWVzc2FnZSBoMixcbiAgYm9keS5qayBtYWluIC5tZXNzYWdlIGgyLFxuICBib2R5LmtrIG1haW4gLm1lc3NhZ2UgaDIsXG4gIGJvZHkua2YgbWFpbiAubWVzc2FnZSBoMixcbiAgYm9keS50bSBtYWluIC5tZXNzYWdlIGgyLFxuICBib2R5LnlzIG1haW4gLm1lc3NhZ2UgaDIsXG4gIGJvZHkubXkgbWFpbiAubWVzc2FnZSBoMixcbiAgYm9keS50ayBtYWluIC5tZXNzYWdlIGgyLFxuICBib2R5LmNuIG1haW4gLm1lc3NhZ2UgaDIsXG4gIGJvZHkubmEgbWFpbiAubWVzc2FnZSBoMixcbiAgYm9keS5haSBtYWluIC5tZXNzYWdlIGgyIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIGZvbnQtc2l6ZTogMS44NTcxNHJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIGJvZHkubmkgbWFpbiAubWVzc2FnZSBoMixcbiAgICAgIGJvZHkuc24gbWFpbiAubWVzc2FnZSBoMixcbiAgICAgIGJvZHkubW4gbWFpbiAubWVzc2FnZSBoMixcbiAgICAgIGJvZHkuaG0gbWFpbiAubWVzc2FnZSBoMixcbiAgICAgIGJvZHkuamsgbWFpbiAubWVzc2FnZSBoMixcbiAgICAgIGJvZHkua2sgbWFpbiAubWVzc2FnZSBoMixcbiAgICAgIGJvZHkua2YgbWFpbiAubWVzc2FnZSBoMixcbiAgICAgIGJvZHkudG0gbWFpbiAubWVzc2FnZSBoMixcbiAgICAgIGJvZHkueXMgbWFpbiAubWVzc2FnZSBoMixcbiAgICAgIGJvZHkubXkgbWFpbiAubWVzc2FnZSBoMixcbiAgICAgIGJvZHkudGsgbWFpbiAubWVzc2FnZSBoMixcbiAgICAgIGJvZHkuY24gbWFpbiAubWVzc2FnZSBoMixcbiAgICAgIGJvZHkubmEgbWFpbiAubWVzc2FnZSBoMixcbiAgICAgIGJvZHkuYWkgbWFpbiAubWVzc2FnZSBoMiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yODU3MXJlbTsgfSB9XG4gICAgYm9keS5uaSBtYWluIC5tZXNzYWdlIGgyOjpiZWZvcmUsXG4gICAgYm9keS5zbiBtYWluIC5tZXNzYWdlIGgyOjpiZWZvcmUsXG4gICAgYm9keS5tbiBtYWluIC5tZXNzYWdlIGgyOjpiZWZvcmUsXG4gICAgYm9keS5obSBtYWluIC5tZXNzYWdlIGgyOjpiZWZvcmUsXG4gICAgYm9keS5qayBtYWluIC5tZXNzYWdlIGgyOjpiZWZvcmUsXG4gICAgYm9keS5rayBtYWluIC5tZXNzYWdlIGgyOjpiZWZvcmUsXG4gICAgYm9keS5rZiBtYWluIC5tZXNzYWdlIGgyOjpiZWZvcmUsXG4gICAgYm9keS50bSBtYWluIC5tZXNzYWdlIGgyOjpiZWZvcmUsXG4gICAgYm9keS55cyBtYWluIC5tZXNzYWdlIGgyOjpiZWZvcmUsXG4gICAgYm9keS5teSBtYWluIC5tZXNzYWdlIGgyOjpiZWZvcmUsXG4gICAgYm9keS50ayBtYWluIC5tZXNzYWdlIGgyOjpiZWZvcmUsXG4gICAgYm9keS5jbiBtYWluIC5tZXNzYWdlIGgyOjpiZWZvcmUsXG4gICAgYm9keS5uYSBtYWluIC5tZXNzYWdlIGgyOjpiZWZvcmUsXG4gICAgYm9keS5haSBtYWluIC5tZXNzYWdlIGgyOjpiZWZvcmUge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuXG5ib2R5Lm5pIG1haW4gZGl2LmludGVydmlldyxcbmJvZHkuc24gbWFpbiBkaXYuaW50ZXJ2aWV3LFxuYm9keS5tbiBtYWluIGRpdi5pbnRlcnZpZXcsXG5ib2R5LmhtIG1haW4gZGl2LmludGVydmlldyxcbmJvZHkuamsgbWFpbiBkaXYuaW50ZXJ2aWV3LFxuYm9keS5rayBtYWluIGRpdi5pbnRlcnZpZXcsXG5ib2R5LmtmIG1haW4gZGl2LmludGVydmlldyxcbmJvZHkudG0gbWFpbiBkaXYuaW50ZXJ2aWV3LFxuYm9keS55cyBtYWluIGRpdi5pbnRlcnZpZXcsXG5ib2R5Lm15IG1haW4gZGl2LmludGVydmlldyxcbmJvZHkudGsgbWFpbiBkaXYuaW50ZXJ2aWV3LFxuYm9keS5jbiBtYWluIGRpdi5pbnRlcnZpZXcsXG5ib2R5Lm5hIG1haW4gZGl2LmludGVydmlldyxcbmJvZHkuYWkgbWFpbiBkaXYuaW50ZXJ2aWV3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICBib2R5Lm5pIG1haW4gZGl2LmludGVydmlldyAuY29udGVudC13aWR0aCxcbiAgICBib2R5LnNuIG1haW4gZGl2LmludGVydmlldyAuY29udGVudC13aWR0aCxcbiAgICBib2R5Lm1uIG1haW4gZGl2LmludGVydmlldyAuY29udGVudC13aWR0aCxcbiAgICBib2R5LmhtIG1haW4gZGl2LmludGVydmlldyAuY29udGVudC13aWR0aCxcbiAgICBib2R5LmprIG1haW4gZGl2LmludGVydmlldyAuY29udGVudC13aWR0aCxcbiAgICBib2R5LmtrIG1haW4gZGl2LmludGVydmlldyAuY29udGVudC13aWR0aCxcbiAgICBib2R5LmtmIG1haW4gZGl2LmludGVydmlldyAuY29udGVudC13aWR0aCxcbiAgICBib2R5LnRtIG1haW4gZGl2LmludGVydmlldyAuY29udGVudC13aWR0aCxcbiAgICBib2R5LnlzIG1haW4gZGl2LmludGVydmlldyAuY29udGVudC13aWR0aCxcbiAgICBib2R5Lm15IG1haW4gZGl2LmludGVydmlldyAuY29udGVudC13aWR0aCxcbiAgICBib2R5LnRrIG1haW4gZGl2LmludGVydmlldyAuY29udGVudC13aWR0aCxcbiAgICBib2R5LmNuIG1haW4gZGl2LmludGVydmlldyAuY29udGVudC13aWR0aCxcbiAgICBib2R5Lm5hIG1haW4gZGl2LmludGVydmlldyAuY29udGVudC13aWR0aCxcbiAgICBib2R5LmFpIG1haW4gZGl2LmludGVydmlldyAuY29udGVudC13aWR0aCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjQyODU3cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjQyODU3cmVtOyB9IH1cbiAgYm9keS5uaSBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpLFxuICBib2R5LnNuIG1haW4gZGl2LmludGVydmlldyA+IGRpdiA+IGRpdjpudGgtY2hpbGQoMSksXG4gIGJvZHkubW4gbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgYm9keS5obSBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpLFxuICBib2R5LmprIG1haW4gZGl2LmludGVydmlldyA+IGRpdiA+IGRpdjpudGgtY2hpbGQoMSksXG4gIGJvZHkua2sgbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgYm9keS5rZiBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpLFxuICBib2R5LnRtIG1haW4gZGl2LmludGVydmlldyA+IGRpdiA+IGRpdjpudGgtY2hpbGQoMSksXG4gIGJvZHkueXMgbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgYm9keS5teSBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpLFxuICBib2R5LnRrIG1haW4gZGl2LmludGVydmlldyA+IGRpdiA+IGRpdjpudGgtY2hpbGQoMSksXG4gIGJvZHkuY24gbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgYm9keS5uYSBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpLFxuICBib2R5LmFpIG1haW4gZGl2LmludGVydmlldyA+IGRpdiA+IGRpdjpudGgtY2hpbGQoMSkge1xuICAgIGZvbnQtc2l6ZTogNC4yODU3MXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogNy4xNDI4NnJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgIGJvZHkubmkgbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgICAgIGJvZHkuc24gbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgICAgIGJvZHkubW4gbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgICAgIGJvZHkuaG0gbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgICAgIGJvZHkuamsgbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgICAgIGJvZHkua2sgbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgICAgIGJvZHkua2YgbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgICAgIGJvZHkudG0gbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgICAgIGJvZHkueXMgbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgICAgIGJvZHkubXkgbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgICAgIGJvZHkudGsgbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgICAgIGJvZHkuY24gbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgICAgIGJvZHkubmEgbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSxcbiAgICAgIGJvZHkuYWkgbWFpbiBkaXYuaW50ZXJ2aWV3ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgxKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy41NzE0M3JlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi44NTcxNHJlbTsgfSB9XG4gICAgYm9keS5uaSBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpIHNwYW4sXG4gICAgYm9keS5zbiBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpIHNwYW4sXG4gICAgYm9keS5tbiBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpIHNwYW4sXG4gICAgYm9keS5obSBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpIHNwYW4sXG4gICAgYm9keS5qayBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpIHNwYW4sXG4gICAgYm9keS5rayBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpIHNwYW4sXG4gICAgYm9keS5rZiBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpIHNwYW4sXG4gICAgYm9keS50bSBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpIHNwYW4sXG4gICAgYm9keS55cyBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpIHNwYW4sXG4gICAgYm9keS5teSBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpIHNwYW4sXG4gICAgYm9keS50ayBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpIHNwYW4sXG4gICAgYm9keS5jbiBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpIHNwYW4sXG4gICAgYm9keS5uYSBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpIHNwYW4sXG4gICAgYm9keS5haSBtYWluIGRpdi5pbnRlcnZpZXcgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDEpIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxLjE0Mjg2cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAxLjQyODU3cmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIGNvbG9yOiAjMDMyYzY2OyB9XG4gIGJvZHkubmkgbWFpbiBkaXYuaW50ZXJ2aWV3OjphZnRlcixcbiAgYm9keS5zbiBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICBib2R5Lm1uIG1haW4gZGl2LmludGVydmlldzo6YWZ0ZXIsXG4gIGJvZHkuaG0gbWFpbiBkaXYuaW50ZXJ2aWV3OjphZnRlcixcbiAgYm9keS5qayBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICBib2R5LmtrIG1haW4gZGl2LmludGVydmlldzo6YWZ0ZXIsXG4gIGJvZHkua2YgbWFpbiBkaXYuaW50ZXJ2aWV3OjphZnRlcixcbiAgYm9keS50bSBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICBib2R5LnlzIG1haW4gZGl2LmludGVydmlldzo6YWZ0ZXIsXG4gIGJvZHkubXkgbWFpbiBkaXYuaW50ZXJ2aWV3OjphZnRlcixcbiAgYm9keS50ayBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICBib2R5LmNuIG1haW4gZGl2LmludGVydmlldzo6YWZ0ZXIsXG4gIGJvZHkubmEgbWFpbiBkaXYuaW50ZXJ2aWV3OjphZnRlcixcbiAgYm9keS5haSBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMDAlO1xuICAgIGhlaWdodDogNzMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm90dG9tOiAyNCU7XG4gICAgbGVmdDogLTUwJTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjRkZWcpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS5uaSBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICAgICAgYm9keS5zbiBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICAgICAgYm9keS5tbiBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICAgICAgYm9keS5obSBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICAgICAgYm9keS5qayBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICAgICAgYm9keS5rayBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICAgICAgYm9keS5rZiBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICAgICAgYm9keS50bSBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICAgICAgYm9keS55cyBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICAgICAgYm9keS5teSBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICAgICAgYm9keS50ayBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICAgICAgYm9keS5jbiBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICAgICAgYm9keS5uYSBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyLFxuICAgICAgYm9keS5haSBtYWluIGRpdi5pbnRlcnZpZXc6OmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMzAlO1xuICAgICAgICB3aWR0aDogOTIwJTtcbiAgICAgICAgdG9wOiAtMjglO1xuICAgICAgICBib3R0b206IGluaXRpYWw7XG4gICAgICAgIGxlZnQ6IC02OCU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDY1ZGVnKTsgfSB9XG5cbmJvZHkubmkgbWFpbiAuY2FyZC13cmFwLFxuYm9keS5zbiBtYWluIC5jYXJkLXdyYXAsXG5ib2R5Lm1uIG1haW4gLmNhcmQtd3JhcCxcbmJvZHkuaG0gbWFpbiAuY2FyZC13cmFwLFxuYm9keS5qayBtYWluIC5jYXJkLXdyYXAsXG5ib2R5LmtrIG1haW4gLmNhcmQtd3JhcCxcbmJvZHkua2YgbWFpbiAuY2FyZC13cmFwLFxuYm9keS50bSBtYWluIC5jYXJkLXdyYXAsXG5ib2R5LnlzIG1haW4gLmNhcmQtd3JhcCxcbmJvZHkubXkgbWFpbiAuY2FyZC13cmFwLFxuYm9keS50ayBtYWluIC5jYXJkLXdyYXAsXG5ib2R5LmNuIG1haW4gLmNhcmQtd3JhcCxcbmJvZHkubmEgbWFpbiAuY2FyZC13cmFwLFxuYm9keS5haSBtYWluIC5jYXJkLXdyYXAge1xuICBtYXJnaW4tdG9wOiA0LjI4NTcxcmVtO1xuICBtYXJnaW4tYm90dG9tOiA0LjI4NTcxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5Lm5pIG1haW4gLmNhcmQtd3JhcCxcbiAgICBib2R5LnNuIG1haW4gLmNhcmQtd3JhcCxcbiAgICBib2R5Lm1uIG1haW4gLmNhcmQtd3JhcCxcbiAgICBib2R5LmhtIG1haW4gLmNhcmQtd3JhcCxcbiAgICBib2R5LmprIG1haW4gLmNhcmQtd3JhcCxcbiAgICBib2R5LmtrIG1haW4gLmNhcmQtd3JhcCxcbiAgICBib2R5LmtmIG1haW4gLmNhcmQtd3JhcCxcbiAgICBib2R5LnRtIG1haW4gLmNhcmQtd3JhcCxcbiAgICBib2R5LnlzIG1haW4gLmNhcmQtd3JhcCxcbiAgICBib2R5Lm15IG1haW4gLmNhcmQtd3JhcCxcbiAgICBib2R5LnRrIG1haW4gLmNhcmQtd3JhcCxcbiAgICBib2R5LmNuIG1haW4gLmNhcmQtd3JhcCxcbiAgICBib2R5Lm5hIG1haW4gLmNhcmQtd3JhcCxcbiAgICBib2R5LmFpIG1haW4gLmNhcmQtd3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjE0Mjg2cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS40Mjg1N3JlbTsgfSB9XG4gIGJvZHkubmkgbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgYm9keS5zbiBtYWluIC5jYXJkLXdyYXAgPiBhLFxuICBib2R5Lm1uIG1haW4gLmNhcmQtd3JhcCA+IGEsXG4gIGJvZHkuaG0gbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgYm9keS5qayBtYWluIC5jYXJkLXdyYXAgPiBhLFxuICBib2R5LmtrIG1haW4gLmNhcmQtd3JhcCA+IGEsXG4gIGJvZHkua2YgbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgYm9keS50bSBtYWluIC5jYXJkLXdyYXAgPiBhLFxuICBib2R5LnlzIG1haW4gLmNhcmQtd3JhcCA+IGEsXG4gIGJvZHkubXkgbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgYm9keS50ayBtYWluIC5jYXJkLXdyYXAgPiBhLFxuICBib2R5LmNuIG1haW4gLmNhcmQtd3JhcCA+IGEsXG4gIGJvZHkubmEgbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgYm9keS5haSBtYWluIC5jYXJkLXdyYXAgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIGJvZHkubmkgbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgICAgIGJvZHkuc24gbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgICAgIGJvZHkubW4gbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgICAgIGJvZHkuaG0gbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgICAgIGJvZHkuamsgbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgICAgIGJvZHkua2sgbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgICAgIGJvZHkua2YgbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgICAgIGJvZHkudG0gbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgICAgIGJvZHkueXMgbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgICAgIGJvZHkubXkgbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgICAgIGJvZHkudGsgbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgICAgIGJvZHkuY24gbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgICAgIGJvZHkubmEgbWFpbiAuY2FyZC13cmFwID4gYSxcbiAgICAgIGJvZHkuYWkgbWFpbiAuY2FyZC13cmFwID4gYSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNDI4NTdyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNDI4NTdyZW07IH0gfVxuICAgIGJvZHkubmkgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoMiksIGJvZHkubmkgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoNSksIGJvZHkubmkgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCksXG4gICAgYm9keS5zbiBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgyKSxcbiAgICBib2R5LnNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgIGJvZHkuc24gbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCksXG4gICAgYm9keS5tbiBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgyKSxcbiAgICBib2R5Lm1uIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgIGJvZHkubW4gbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCksXG4gICAgYm9keS5obSBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgyKSxcbiAgICBib2R5LmhtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgIGJvZHkuaG0gbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCksXG4gICAgYm9keS5qayBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgyKSxcbiAgICBib2R5LmprIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgIGJvZHkuamsgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCksXG4gICAgYm9keS5rayBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgyKSxcbiAgICBib2R5LmtrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgIGJvZHkua2sgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCksXG4gICAgYm9keS5rZiBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgyKSxcbiAgICBib2R5LmtmIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgIGJvZHkua2YgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCksXG4gICAgYm9keS50bSBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgyKSxcbiAgICBib2R5LnRtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgIGJvZHkudG0gbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCksXG4gICAgYm9keS55cyBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgyKSxcbiAgICBib2R5LnlzIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgIGJvZHkueXMgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCksXG4gICAgYm9keS5teSBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgyKSxcbiAgICBib2R5Lm15IG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgIGJvZHkubXkgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCksXG4gICAgYm9keS50ayBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgyKSxcbiAgICBib2R5LnRrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgIGJvZHkudGsgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCksXG4gICAgYm9keS5jbiBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgyKSxcbiAgICBib2R5LmNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgIGJvZHkuY24gbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCksXG4gICAgYm9keS5uYSBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgyKSxcbiAgICBib2R5Lm5hIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgIGJvZHkubmEgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCksXG4gICAgYm9keS5haSBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgyKSxcbiAgICBib2R5LmFpIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgIGJvZHkuYWkgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtNC4yODU3MXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICBib2R5Lm5pIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLCBib2R5Lm5pIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLCBib2R5Lm5pIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDgpLFxuICAgICAgICBib2R5LnNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLFxuICAgICAgICBib2R5LnNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgICAgICBib2R5LnNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDgpLFxuICAgICAgICBib2R5Lm1uIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLFxuICAgICAgICBib2R5Lm1uIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgICAgICBib2R5Lm1uIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDgpLFxuICAgICAgICBib2R5LmhtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLFxuICAgICAgICBib2R5LmhtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgICAgICBib2R5LmhtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDgpLFxuICAgICAgICBib2R5LmprIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLFxuICAgICAgICBib2R5LmprIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgICAgICBib2R5LmprIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDgpLFxuICAgICAgICBib2R5LmtrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLFxuICAgICAgICBib2R5LmtrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgICAgICBib2R5LmtrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDgpLFxuICAgICAgICBib2R5LmtmIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLFxuICAgICAgICBib2R5LmtmIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgICAgICBib2R5LmtmIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDgpLFxuICAgICAgICBib2R5LnRtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLFxuICAgICAgICBib2R5LnRtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgICAgICBib2R5LnRtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDgpLFxuICAgICAgICBib2R5LnlzIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLFxuICAgICAgICBib2R5LnlzIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgICAgICBib2R5LnlzIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDgpLFxuICAgICAgICBib2R5Lm15IG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLFxuICAgICAgICBib2R5Lm15IG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgICAgICBib2R5Lm15IG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDgpLFxuICAgICAgICBib2R5LnRrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLFxuICAgICAgICBib2R5LnRrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgICAgICBib2R5LnRrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDgpLFxuICAgICAgICBib2R5LmNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLFxuICAgICAgICBib2R5LmNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgICAgICBib2R5LmNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDgpLFxuICAgICAgICBib2R5Lm5hIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLFxuICAgICAgICBib2R5Lm5hIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgICAgICBib2R5Lm5hIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDgpLFxuICAgICAgICBib2R5LmFpIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDIpLFxuICAgICAgICBib2R5LmFpIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDUpLFxuICAgICAgICBib2R5LmFpIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDgpIHtcbiAgICAgICAgICB0b3A6IDA7IH0gfVxuICAgIGJvZHkubmkgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoMyksIGJvZHkubmkgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoNiksIGJvZHkubmkgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSksXG4gICAgYm9keS5zbiBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgzKSxcbiAgICBib2R5LnNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgIGJvZHkuc24gbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSksXG4gICAgYm9keS5tbiBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgzKSxcbiAgICBib2R5Lm1uIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgIGJvZHkubW4gbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSksXG4gICAgYm9keS5obSBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgzKSxcbiAgICBib2R5LmhtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgIGJvZHkuaG0gbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSksXG4gICAgYm9keS5qayBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgzKSxcbiAgICBib2R5LmprIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgIGJvZHkuamsgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSksXG4gICAgYm9keS5rayBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgzKSxcbiAgICBib2R5LmtrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgIGJvZHkua2sgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSksXG4gICAgYm9keS5rZiBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgzKSxcbiAgICBib2R5LmtmIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgIGJvZHkua2YgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSksXG4gICAgYm9keS50bSBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgzKSxcbiAgICBib2R5LnRtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgIGJvZHkudG0gbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSksXG4gICAgYm9keS55cyBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgzKSxcbiAgICBib2R5LnlzIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgIGJvZHkueXMgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSksXG4gICAgYm9keS5teSBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgzKSxcbiAgICBib2R5Lm15IG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgIGJvZHkubXkgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSksXG4gICAgYm9keS50ayBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgzKSxcbiAgICBib2R5LnRrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgIGJvZHkudGsgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSksXG4gICAgYm9keS5jbiBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgzKSxcbiAgICBib2R5LmNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgIGJvZHkuY24gbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSksXG4gICAgYm9keS5uYSBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgzKSxcbiAgICBib2R5Lm5hIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgIGJvZHkubmEgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSksXG4gICAgYm9keS5haSBtYWluIC5jYXJkLXdyYXAgPiBhOm50aC1jaGlsZCgzKSxcbiAgICBib2R5LmFpIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgIGJvZHkuYWkgbWFpbiAuY2FyZC13cmFwID4gYTpudGgtY2hpbGQoOSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtOC41NzE0M3JlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICBib2R5Lm5pIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLCBib2R5Lm5pIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLCBib2R5Lm5pIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDkpLFxuICAgICAgICBib2R5LnNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLFxuICAgICAgICBib2R5LnNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgICAgICBib2R5LnNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDkpLFxuICAgICAgICBib2R5Lm1uIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLFxuICAgICAgICBib2R5Lm1uIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgICAgICBib2R5Lm1uIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDkpLFxuICAgICAgICBib2R5LmhtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLFxuICAgICAgICBib2R5LmhtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgICAgICBib2R5LmhtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDkpLFxuICAgICAgICBib2R5LmprIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLFxuICAgICAgICBib2R5LmprIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgICAgICBib2R5LmprIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDkpLFxuICAgICAgICBib2R5LmtrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLFxuICAgICAgICBib2R5LmtrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgICAgICBib2R5LmtrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDkpLFxuICAgICAgICBib2R5LmtmIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLFxuICAgICAgICBib2R5LmtmIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgICAgICBib2R5LmtmIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDkpLFxuICAgICAgICBib2R5LnRtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLFxuICAgICAgICBib2R5LnRtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgICAgICBib2R5LnRtIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDkpLFxuICAgICAgICBib2R5LnlzIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLFxuICAgICAgICBib2R5LnlzIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgICAgICBib2R5LnlzIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDkpLFxuICAgICAgICBib2R5Lm15IG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLFxuICAgICAgICBib2R5Lm15IG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgICAgICBib2R5Lm15IG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDkpLFxuICAgICAgICBib2R5LnRrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLFxuICAgICAgICBib2R5LnRrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgICAgICBib2R5LnRrIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDkpLFxuICAgICAgICBib2R5LmNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLFxuICAgICAgICBib2R5LmNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgICAgICBib2R5LmNuIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDkpLFxuICAgICAgICBib2R5Lm5hIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLFxuICAgICAgICBib2R5Lm5hIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgICAgICBib2R5Lm5hIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDkpLFxuICAgICAgICBib2R5LmFpIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDMpLFxuICAgICAgICBib2R5LmFpIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDYpLFxuICAgICAgICBib2R5LmFpIG1haW4gLmNhcmQtd3JhcCA+IGE6bnRoLWNoaWxkKDkpIHtcbiAgICAgICAgICB0b3A6IDA7IH0gfVxuICAgIGJvZHkubmkgbWFpbiAuY2FyZC13cmFwID4gYSAubnVtYmVyLFxuICAgIGJvZHkuc24gbWFpbiAuY2FyZC13cmFwID4gYSAubnVtYmVyLFxuICAgIGJvZHkubW4gbWFpbiAuY2FyZC13cmFwID4gYSAubnVtYmVyLFxuICAgIGJvZHkuaG0gbWFpbiAuY2FyZC13cmFwID4gYSAubnVtYmVyLFxuICAgIGJvZHkuamsgbWFpbiAuY2FyZC13cmFwID4gYSAubnVtYmVyLFxuICAgIGJvZHkua2sgbWFpbiAuY2FyZC13cmFwID4gYSAubnVtYmVyLFxuICAgIGJvZHkua2YgbWFpbiAuY2FyZC13cmFwID4gYSAubnVtYmVyLFxuICAgIGJvZHkudG0gbWFpbiAuY2FyZC13cmFwID4gYSAubnVtYmVyLFxuICAgIGJvZHkueXMgbWFpbiAuY2FyZC13cmFwID4gYSAubnVtYmVyLFxuICAgIGJvZHkubXkgbWFpbiAuY2FyZC13cmFwID4gYSAubnVtYmVyLFxuICAgIGJvZHkudGsgbWFpbiAuY2FyZC13cmFwID4gYSAubnVtYmVyLFxuICAgIGJvZHkuY24gbWFpbiAuY2FyZC13cmFwID4gYSAubnVtYmVyLFxuICAgIGJvZHkubmEgbWFpbiAuY2FyZC13cmFwID4gYSAubnVtYmVyLFxuICAgIGJvZHkuYWkgbWFpbiAuY2FyZC13cmFwID4gYSAubnVtYmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0b3A6IC0xMHB4O1xuICAgICAgbGVmdDogLTEwcHg7IH1cbiAgICBib2R5Lm5pIG1haW4gLmNhcmQtd3JhcCA+IGEgLnRpdGxlLFxuICAgIGJvZHkuc24gbWFpbiAuY2FyZC13cmFwID4gYSAudGl0bGUsXG4gICAgYm9keS5tbiBtYWluIC5jYXJkLXdyYXAgPiBhIC50aXRsZSxcbiAgICBib2R5LmhtIG1haW4gLmNhcmQtd3JhcCA+IGEgLnRpdGxlLFxuICAgIGJvZHkuamsgbWFpbiAuY2FyZC13cmFwID4gYSAudGl0bGUsXG4gICAgYm9keS5rayBtYWluIC5jYXJkLXdyYXAgPiBhIC50aXRsZSxcbiAgICBib2R5LmtmIG1haW4gLmNhcmQtd3JhcCA+IGEgLnRpdGxlLFxuICAgIGJvZHkudG0gbWFpbiAuY2FyZC13cmFwID4gYSAudGl0bGUsXG4gICAgYm9keS55cyBtYWluIC5jYXJkLXdyYXAgPiBhIC50aXRsZSxcbiAgICBib2R5Lm15IG1haW4gLmNhcmQtd3JhcCA+IGEgLnRpdGxlLFxuICAgIGJvZHkudGsgbWFpbiAuY2FyZC13cmFwID4gYSAudGl0bGUsXG4gICAgYm9keS5jbiBtYWluIC5jYXJkLXdyYXAgPiBhIC50aXRsZSxcbiAgICBib2R5Lm5hIG1haW4gLmNhcmQtd3JhcCA+IGEgLnRpdGxlLFxuICAgIGJvZHkuYWkgbWFpbiAuY2FyZC13cmFwID4gYSAudGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkYjI3MjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgcGFkZGluZzogMC4xNDI4NnJlbSAxLjA3MTQzcmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg1NzE0cmVtOyB9XG4gICAgYm9keS5uaSBtYWluIC5jYXJkLXdyYXAgPiBhIC5pbWFnZS13cmFwLFxuICAgIGJvZHkuc24gbWFpbiAuY2FyZC13cmFwID4gYSAuaW1hZ2Utd3JhcCxcbiAgICBib2R5Lm1uIG1haW4gLmNhcmQtd3JhcCA+IGEgLmltYWdlLXdyYXAsXG4gICAgYm9keS5obSBtYWluIC5jYXJkLXdyYXAgPiBhIC5pbWFnZS13cmFwLFxuICAgIGJvZHkuamsgbWFpbiAuY2FyZC13cmFwID4gYSAuaW1hZ2Utd3JhcCxcbiAgICBib2R5LmtrIG1haW4gLmNhcmQtd3JhcCA+IGEgLmltYWdlLXdyYXAsXG4gICAgYm9keS5rZiBtYWluIC5jYXJkLXdyYXAgPiBhIC5pbWFnZS13cmFwLFxuICAgIGJvZHkudG0gbWFpbiAuY2FyZC13cmFwID4gYSAuaW1hZ2Utd3JhcCxcbiAgICBib2R5LnlzIG1haW4gLmNhcmQtd3JhcCA+IGEgLmltYWdlLXdyYXAsXG4gICAgYm9keS5teSBtYWluIC5jYXJkLXdyYXAgPiBhIC5pbWFnZS13cmFwLFxuICAgIGJvZHkudGsgbWFpbiAuY2FyZC13cmFwID4gYSAuaW1hZ2Utd3JhcCxcbiAgICBib2R5LmNuIG1haW4gLmNhcmQtd3JhcCA+IGEgLmltYWdlLXdyYXAsXG4gICAgYm9keS5uYSBtYWluIC5jYXJkLXdyYXAgPiBhIC5pbWFnZS13cmFwLFxuICAgIGJvZHkuYWkgbWFpbiAuY2FyZC13cmFwID4gYSAuaW1hZ2Utd3JhcCB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICBib2R5Lm5pIG1haW4gLmNhcmQtd3JhcCA+IGEgLmltYWdlLXdyYXAgaW1nLFxuICAgICAgYm9keS5zbiBtYWluIC5jYXJkLXdyYXAgPiBhIC5pbWFnZS13cmFwIGltZyxcbiAgICAgIGJvZHkubW4gbWFpbiAuY2FyZC13cmFwID4gYSAuaW1hZ2Utd3JhcCBpbWcsXG4gICAgICBib2R5LmhtIG1haW4gLmNhcmQtd3JhcCA+IGEgLmltYWdlLXdyYXAgaW1nLFxuICAgICAgYm9keS5qayBtYWluIC5jYXJkLXdyYXAgPiBhIC5pbWFnZS13cmFwIGltZyxcbiAgICAgIGJvZHkua2sgbWFpbiAuY2FyZC13cmFwID4gYSAuaW1hZ2Utd3JhcCBpbWcsXG4gICAgICBib2R5LmtmIG1haW4gLmNhcmQtd3JhcCA+IGEgLmltYWdlLXdyYXAgaW1nLFxuICAgICAgYm9keS50bSBtYWluIC5jYXJkLXdyYXAgPiBhIC5pbWFnZS13cmFwIGltZyxcbiAgICAgIGJvZHkueXMgbWFpbiAuY2FyZC13cmFwID4gYSAuaW1hZ2Utd3JhcCBpbWcsXG4gICAgICBib2R5Lm15IG1haW4gLmNhcmQtd3JhcCA+IGEgLmltYWdlLXdyYXAgaW1nLFxuICAgICAgYm9keS50ayBtYWluIC5jYXJkLXdyYXAgPiBhIC5pbWFnZS13cmFwIGltZyxcbiAgICAgIGJvZHkuY24gbWFpbiAuY2FyZC13cmFwID4gYSAuaW1hZ2Utd3JhcCBpbWcsXG4gICAgICBib2R5Lm5hIG1haW4gLmNhcmQtd3JhcCA+IGEgLmltYWdlLXdyYXAgaW1nLFxuICAgICAgYm9keS5haSBtYWluIC5jYXJkLXdyYXAgPiBhIC5pbWFnZS13cmFwIGltZyB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgYm9keS5ob21lID4gZGl2LmludGVydmlldyAuY2FyZC13cmFwID4gYTpob3ZlciAuaW1hZ2Utd3JhcCBpbWcsXG4gICAgICAgIGJvZHkuaW50ZXJ2aWV3IC5jb250ZW50IG1haW4gLmNhcmQtd3JhcCA+IGE6aG92ZXIgLmltYWdlLXdyYXAgaW1nLFxuICAgICAgICBib2R5IG1haW4gZGl2LmludGVydmlldy5mdWxsLXdpZHRoIC5jYXJkLXdyYXAgPiBhOmhvdmVyIC5pbWFnZS13cmFwIGltZyxcbiAgICAgICAgYm9keSBmb290ZXIucGFnZS1mb290ZXIgLmZvb3Rlci1pbm5lciAuZm9vdGVyLWVudHJ5IGE6aG92ZXIgaW1nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG4gICAgYm9keS5uaSBtYWluIC5jYXJkLXdyYXAgPiBhIGgzLFxuICAgIGJvZHkuc24gbWFpbiAuY2FyZC13cmFwID4gYSBoMyxcbiAgICBib2R5Lm1uIG1haW4gLmNhcmQtd3JhcCA+IGEgaDMsXG4gICAgYm9keS5obSBtYWluIC5jYXJkLXdyYXAgPiBhIGgzLFxuICAgIGJvZHkuamsgbWFpbiAuY2FyZC13cmFwID4gYSBoMyxcbiAgICBib2R5LmtrIG1haW4gLmNhcmQtd3JhcCA+IGEgaDMsXG4gICAgYm9keS5rZiBtYWluIC5jYXJkLXdyYXAgPiBhIGgzLFxuICAgIGJvZHkudG0gbWFpbiAuY2FyZC13cmFwID4gYSBoMyxcbiAgICBib2R5LnlzIG1haW4gLmNhcmQtd3JhcCA+IGEgaDMsXG4gICAgYm9keS5teSBtYWluIC5jYXJkLXdyYXAgPiBhIGgzLFxuICAgIGJvZHkudGsgbWFpbiAuY2FyZC13cmFwID4gYSBoMyxcbiAgICBib2R5LmNuIG1haW4gLmNhcmQtd3JhcCA+IGEgaDMsXG4gICAgYm9keS5uYSBtYWluIC5jYXJkLXdyYXAgPiBhIGgzLFxuICAgIGJvZHkuYWkgbWFpbiAuY2FyZC13cmFwID4gYSBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMjg1NzFyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiAjMDMyYzY2OyB9XG5cbi8qXG4gKiDjgqTjg7Pjgr/jg5Pjg6Xjg7wg5ZCE44Oa44O844K4XG4gKi9cbmJvZHkubmkgLnRpdGxlLWFyZWEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmctcGFnZS1uaS5qcGdcIik7IH1cblxuYm9keS5uaSBtYWluIC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLXBhZ2UtbmktbWVzc2FnZS5qcGdcIik7IH1cblxuYm9keS5zbiAudGl0bGUtYXJlYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1wYWdlLXNuLmpwZ1wiKTsgfVxuXG5ib2R5LnNuIG1haW4gLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmctcGFnZS1zbi1tZXNzYWdlLmpwZ1wiKTsgfVxuXG5ib2R5Lm1uIC50aXRsZS1hcmVhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLXBhZ2UtbW4uanBnXCIpOyB9XG5cbmJvZHkubW4gbWFpbiAubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1wYWdlLW1uLW1lc3NhZ2UuanBnXCIpOyB9XG5cbmJvZHkuaG0gLnRpdGxlLWFyZWEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmctcGFnZS1obS5qcGdcIik7IH1cblxuYm9keS5obSBtYWluIC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLXBhZ2UtaG0tbWVzc2FnZS5qcGdcIik7IH1cblxuYm9keS5qayAudGl0bGUtYXJlYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1wYWdlLWprLmpwZ1wiKTsgfVxuXG5ib2R5LmprIG1haW4gLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmctcGFnZS1qay1tZXNzYWdlLmpwZ1wiKTsgfVxuXG5ib2R5LmtrIC50aXRsZS1hcmVhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLXBhZ2Uta2suanBnXCIpOyB9XG5cbmJvZHkua2sgbWFpbiAubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1wYWdlLWtrLW1lc3NhZ2UuanBnXCIpOyB9XG5cbmJvZHkua2YgLnRpdGxlLWFyZWEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmctcGFnZS1rZi5qcGdcIik7IH1cblxuYm9keS5rZiBtYWluIC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLXBhZ2Uta2YtbWVzc2FnZS5qcGdcIik7IH1cblxuYm9keS50bSAudGl0bGUtYXJlYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1wYWdlLXRtLmpwZ1wiKTsgfVxuXG5ib2R5LnRtIG1haW4gLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmctcGFnZS10bS1tZXNzYWdlLmpwZ1wiKTsgfVxuXG5ib2R5LnlzIC50aXRsZS1hcmVhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLXBhZ2UteXMuanBnXCIpOyB9XG5cbmJvZHkueXMgbWFpbiAubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1wYWdlLXlzLW1lc3NhZ2UuanBnXCIpOyB9XG5cbmJvZHkubXkgLnRpdGxlLWFyZWEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmctcGFnZS1teS5qcGdcIik7IH1cblxuYm9keS5teSBtYWluIC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLXBhZ2UtbXktbWVzc2FnZS5qcGdcIik7IH1cblxuYm9keS50ayAudGl0bGUtYXJlYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1wYWdlLXRrLmpwZ1wiKTsgfVxuXG5ib2R5LnRrIG1haW4gLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmctcGFnZS10ay1tZXNzYWdlLmpwZ1wiKTsgfVxuXG5ib2R5LmNuIC50aXRsZS1hcmVhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLXBhZ2UtY24uanBnXCIpOyB9XG5cbmJvZHkuY24gbWFpbiAubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1wYWdlLWNuLW1lc3NhZ2UuanBnXCIpOyB9XG5cbmJvZHkubmEgLnRpdGxlLWFyZWEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmctcGFnZS1uYS5qcGdcIik7IH1cblxuYm9keS5uYSBtYWluIC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLXBhZ2UtbmEtbWVzc2FnZS5qcGdcIik7IH1cblxuYm9keS5haSAudGl0bGUtYXJlYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1wYWdlLWFpLmpwZ1wiKTsgfVxuXG5ib2R5LmFpIG1haW4gLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmctcGFnZS1haS1tZXNzYWdlLmpwZ1wiKTsgfVxuXG4vKlxuICog5aWz5oCn56S+5ZOh44Gu5YON44GN5pa5XG4gKi9cbmJvZHkudGFsayAuY29udGVudCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206IDQuMjg1NzFyZW07IH1cblxuYm9keS50YWxrIC50aXRsZS1hcmVhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iZy1wYWdlLXRhbGsuanBnKTtcbiAgaGVpZ2h0OiA1NDJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgYm9keS50YWxrIC50aXRsZS1hcmVhIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5LnRhbGsgLnRpdGxlLWFyZWEge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAlIGNlbnRlcjsgfSB9XG4gIGJvZHkudGFsayAudGl0bGUtYXJlYSAuaW5uZXIge1xuICAgIHdpZHRoOiAxMTAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgIGJvZHkudGFsayAudGl0bGUtYXJlYSAuaW5uZXIge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiBhdXRvIDEuNDI4NTdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIGJvZHkudGFsayAudGl0bGUtYXJlYSAuaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3MCUgY2VudGVyOyB9IH1cbiAgICBib2R5LnRhbGsgLnRpdGxlLWFyZWEgLmlubmVyIC50aXRsZS1pbm5lciB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgIGJvZHkudGFsayAudGl0bGUtYXJlYSAuaW5uZXIgLnRpdGxlLWlubmVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMS40Mjg1N3JlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIGJvZHkudGFsayAudGl0bGUtYXJlYSAuaW5uZXIgLnRpdGxlLWlubmVyIC5sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNzQ5ODU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xNDI4NnJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjcxNDI5cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjcxNDI5cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjA3MTQzcmVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICBib2R5LnRhbGsgLnRpdGxlLWFyZWEgLmlubmVyIC50aXRsZS1pbm5lciAubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zNTcxNHJlbTsgfSB9XG4gICAgICBib2R5LnRhbGsgLnRpdGxlLWFyZWEgLmlubmVyIC50aXRsZS1pbm5lciBoMSB7XG4gICAgICAgIGNvbG9yOiAjZTc0OTg1OyB9XG4gICAgICAgIGJvZHkudGFsayAudGl0bGUtYXJlYSAuaW5uZXIgLnRpdGxlLWlubmVyIGgxIHNwYW4ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNC4yODU3MXJlbTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNnB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMDcxNDNyZW07XG4gICAgICAgICAgcGFkZGluZzogMC4zNTcxNHJlbSAxLjQyODU3cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgICBib2R5LnRhbGsgLnRpdGxlLWFyZWEgLmlubmVyIC50aXRsZS1pbm5lciBoMSBzcGFuIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMC4wNzE0M3JlbTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjM1NzE0cmVtOyB9IH1cbiAgICBib2R5LnRhbGsgLnRpdGxlLWFyZWEgLmlubmVyIC5sYWRpZXMge1xuICAgICAgbWFyZ2luLXRvcDogMi44NTcxNHJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICBib2R5LnRhbGsgLnRpdGxlLWFyZWEgLmlubmVyIC5sYWRpZXMge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICBib2R5LnRhbGsgLnRpdGxlLWFyZWEgLmlubmVyIC5sYWRpZXMge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0zLjU3MTQzcmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgICBib2R5LnRhbGsgLnRpdGxlLWFyZWEgLmlubmVyIC5sYWRpZXMgaW1nLm1haW4ge1xuICAgICAgICBtYXgtd2lkdGg6IDExMCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgIGJvZHkudGFsayAudGl0bGUtYXJlYSAuaW5uZXIgLmxhZGllcyBpbWcubWFpbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuICAgICAgYm9keS50YWxrIC50aXRsZS1hcmVhIC5pbm5lciAubGFkaWVzIC5mcmVzaCxcbiAgICAgIGJvZHkudGFsayAudGl0bGUtYXJlYSAuaW5uZXIgLmxhZGllcyAuc2VuaW9yIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDMwcHg7IH1cbiAgICAgICAgYm9keS50YWxrIC50aXRsZS1hcmVhIC5pbm5lciAubGFkaWVzIC5mcmVzaCAubGFiZWwsXG4gICAgICAgIGJvZHkudGFsayAudGl0bGUtYXJlYSAuaW5uZXIgLmxhZGllcyAuc2VuaW9yIC5sYWJlbCB7XG4gICAgICAgICAgcGFkZGluZzogMC4zNTcxNHJlbSAxLjQyODU3cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzLjU3MTQzcmVtO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjcxNDI5cmVtOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgICAgYm9keS50YWxrIC50aXRsZS1hcmVhIC5pbm5lciAubGFkaWVzIC5mcmVzaCAubGFiZWwsXG4gICAgICAgICAgICBib2R5LnRhbGsgLnRpdGxlLWFyZWEgLmlubmVyIC5sYWRpZXMgLnNlbmlvciAubGFiZWwge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjM1NzE0cmVtIDAuNzE0MjlyZW07IH0gfVxuICAgICAgYm9keS50YWxrIC50aXRsZS1hcmVhIC5pbm5lciAubGFkaWVzIC5mcmVzaCB7XG4gICAgICAgIGxlZnQ6IDEwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAgIGJvZHkudGFsayAudGl0bGUtYXJlYSAuaW5uZXIgLmxhZGllcyAuZnJlc2gge1xuICAgICAgICAgICAgbGVmdDogMDsgfSB9XG4gICAgICAgIGJvZHkudGFsayAudGl0bGUtYXJlYSAuaW5uZXIgLmxhZGllcyAuZnJlc2ggLmxhYmVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTc0OTg1OyB9XG4gICAgICBib2R5LnRhbGsgLnRpdGxlLWFyZWEgLmlubmVyIC5sYWRpZXMgLnNlbmlvciB7XG4gICAgICAgIHJpZ2h0OiAxMDBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICAgICAgYm9keS50YWxrIC50aXRsZS1hcmVhIC5pbm5lciAubGFkaWVzIC5zZW5pb3Ige1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgYm9keS50YWxrIC50aXRsZS1hcmVhIC5pbm5lciAubGFkaWVzIC5zZW5pb3Ige1xuICAgICAgICAgICAgcmlnaHQ6IDA7IH0gfVxuXG5ib2R5LnRhbGsgLmxlYWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmNmZjO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIuODU3MTRyZW0gMS40Mjg1N3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgYm9keS50YWxrIC5sZWFkIHtcbiAgICAgIHBhZGRpbmc6IDEuNDI4NTdyZW0gMS40Mjg1N3JlbTsgfSB9XG4gIGJvZHkudGFsayAubGVhZCA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjQyODU3cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGNvbG9yOiAjMDMyYzY2O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIGJvZHkudGFsayAubGVhZCA+IHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEuNDI4NTdyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBib2R5LnRhbGsgLmxlYWQgPiBkaXYge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMTQyODZyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICBib2R5LnRhbGsgLmxlYWQgPiBkaXYge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgYm9keS50YWxrIC5sZWFkIC5pbmZvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIGJvZHkudGFsayAubGVhZCAuaW5mbyBkZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjQyODU3cmVtOyB9XG4gICAgYm9keS50YWxrIC5sZWFkIC5pbmZvIC5uYW1lIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIGJvZHkudGFsayAubGVhZCAuaW5mbyAubmFtZSBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkyODU3cmVtOyB9XG4gIGJvZHkudGFsayAubGVhZCBhLnJlYWRtb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAxLjQyODU3cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuMTQyODZyZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjMDMyYzY2O1xuICAgIGNvbG9yOiAjMDMyYzY2O1xuICAgIG1pbi13aWR0aDogMjYwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIGJvZHkudGFsayAubGVhZCBhLnJlYWRtb3JlOmhvdmVyLCBib2R5LnRhbGsgLmxlYWQgYS5yZWFkbW9yZTpmb2N1cywgYm9keS50YWxrIC5sZWFkIGEucmVhZG1vcmU6YWN0aXZlIHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBodnItYmFjay1wdWxzZS1ibHVlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzMmM2NjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICBib2R5LnRhbGsgLmxlYWQgYS5yZWFkbW9yZTpob3ZlciBwb2x5bGluZSwgYm9keS50YWxrIC5sZWFkIGEucmVhZG1vcmU6Zm9jdXMgcG9seWxpbmUsIGJvZHkudGFsayAubGVhZCBhLnJlYWRtb3JlOmFjdGl2ZSBwb2x5bGluZSB7XG4gICAgICAgIHN0cm9rZTogI2ZmZmZmZjsgfVxuICAgICAgYm9keS50YWxrIC5sZWFkIGEucmVhZG1vcmU6aG92ZXI6OmFmdGVyLCBib2R5LnRhbGsgLmxlYWQgYS5yZWFkbW9yZTpmb2N1czo6YWZ0ZXIsIGJvZHkudGFsayAubGVhZCBhLnJlYWRtb3JlOmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljby1leHRlcm5hbC13aGl0ZS5zdmcpOyB9XG4gICAgYm9keS50YWxrIC5sZWFkIGEucmVhZG1vcmU6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMC4zNTcxNHJlbTtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvLWV4dGVybmFsLWJsYWNrLnN2Zykgbm8tcmVwZWF0IDAgMDsgfVxuXG5ib2R5LnRhbGsgbWFpbiAudGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDMuNTcxNDNyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMTQyODZyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5LnRhbGsgbWFpbiAudGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICBib2R5LnRhbGsgbWFpbiAudGl0bGUgc3BhbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjM1NzE0cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkudGFsayBtYWluIC50aXRsZSBzcGFuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjA3MTQzcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjI4NTcxcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC40Mjg1N3JlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDsgfSB9XG4gIGJvZHkudGFsayBtYWluIC50aXRsZSBzcGFuIGltZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgIGJvZHkudGFsayBtYWluIC50aXRsZSBzcGFuIGltZyB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7IH1cbiAgICAgICAgYm9keS50YWxrIG1haW4gLnRpdGxlIHNwYW4gaW1nOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgd2lkdGg6IDQycHg7IH1cbiAgICAgICAgYm9keS50YWxrIG1haW4gLnRpdGxlIHNwYW4gaW1nOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgd2lkdGg6IDQ5cHg7IH1cbiAgICAgICAgYm9keS50YWxrIG1haW4gLnRpdGxlIHNwYW4gaW1nOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgd2lkdGg6IDUxLjhweDsgfSB9XG4gIGJvZHkudGFsayBtYWluIC50aXRsZSBoMiB7XG4gICAgZm9udC1zaXplOiAxLjcxNDI5cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDIuMTQyODZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyLjE0Mjg2cmVtO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICBib2R5LnRhbGsgbWFpbiAudGl0bGUgaDIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIGJvZHkudGFsayBtYWluIC50aXRsZSBoMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNDI4NTdyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjA3MTQzcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxLjE0Mjg2cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIGJvZHkudGFsayBtYWluIC50aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTIwMHB4O1xuICAgIGhlaWdodDogNDMwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTYwcHg7XG4gICAgcmlnaHQ6IC0yMDBweDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgYm9keS50YWxrIG1haW4gLnRpdGxlOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogODAwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIGJvZHkudGFsayBtYWluIC50aXRsZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTsgfSB9XG4gIGJvZHkudGFsayBtYWluIC50aXRsZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiA1NjBweDtcbiAgICBoZWlnaHQ6IDExMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IC0xODBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3R4dC10YWxrLWJnLnN2Zyk7XG4gICAgei1pbmRleDogLTE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICBib2R5LnRhbGsgbWFpbiAudGl0bGU6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTsgfSB9XG4gIGJvZHkudGFsayBtYWluIC50aXRsZS50aXRsZS0yIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgYm9keS50YWxrIG1haW4gLnRpdGxlLnRpdGxlLTI6OmJlZm9yZSB7XG4gICAgICB0b3A6IDE0MHB4O1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICBsZWZ0OiAtNjAwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS50YWxrIG1haW4gLnRpdGxlLnRpdGxlLTI6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogLTQwMHB4OyB9IH1cbiAgICBib2R5LnRhbGsgbWFpbiAudGl0bGUudGl0bGUtMjo6YWZ0ZXIge1xuICAgICAgdG9wOiA2MDBweDtcbiAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgbGVmdDogLTczMHB4OyB9XG4gIGJvZHkudGFsayBtYWluIC50aXRsZS50aXRsZS0zOjpiZWZvcmUge1xuICAgIHRvcDogMzAwcHg7XG4gICAgaGVpZ2h0OiA4MzBweDsgfVxuICBib2R5LnRhbGsgbWFpbiAudGl0bGUudGl0bGUtMzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cblxuYm9keS50YWxrIG1haW4gLmNvbnRlbnQtMiB7XG4gIG1hcmdpbi10b3A6IDMuNTcxNDNyZW07IH1cblxuYm9keS50YWxrIG1haW4gLmJpZy1waWMge1xuICBtYXJnaW4tYm90dG9tOiAzLjU3MTQzcmVtOyB9XG5cbmJvZHkudGFsayBtYWluIGRsIGR0LmludC0xLFxuYm9keS50YWxrIG1haW4gZGwgZHQuaW50LTIge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IGJvdGg7XG4gIGxpbmUtaGVpZ2h0OiAyOyB9XG5cbmJvZHkudGFsayBtYWluIGRsIGR0LmludC0xIHtcbiAgY29sb3I6ICMwMzJjNjY7IH1cblxuYm9keS50YWxrIG1haW4gZGwgZHQuaW50LTIge1xuICBjb2xvcjogI2U3NDk4NTsgfVxuXG5ib2R5LnRhbGsgbWFpbiBkbCBkZCB7XG4gIG1hcmdpbi1sZWZ0OiAzLjU3MTQzcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjQyODU3cmVtO1xuICBsaW5lLWhlaWdodDogMjsgfVxuXG5ib2R5LnRhbGsgbWFpbiAuY29udGVudC0yID4gZGl2Om50aC1jaGlsZCgxKSB7XG4gIG9yZGVyOiAyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5LnRhbGsgbWFpbiAuY29udGVudC0yID4gZGl2Om50aC1jaGlsZCgxKSB7XG4gICAgICBvcmRlcjogMTsgfSB9XG5cbmJvZHkudGFsayBtYWluIC5jb250ZW50LTIgPiBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgb3JkZXI6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkudGFsayBtYWluIC5jb250ZW50LTIgPiBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIG9yZGVyOiAyOyB9IH1cblxuLypcbiAqIOaxguOCgeOCi+S6uuadkFxuICovXG5ib2R5LnRhbGVudCAudGl0bGUtYXJlYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS10YWxlbnQuanBnKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgYm9keS50YWxlbnQgLnRpdGxlLWFyZWEge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzAlIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS10YWxlbnQtc3AuanBnKTsgfSB9XG5cbmJvZHkudGFsZW50IC5sZWFkIHtcbiAgbWFyZ2luLXRvcDogNS4xNDI4NnJlbSAhaW1wb3J0YW50OyB9XG4gIGJvZHkudGFsZW50IC5sZWFkICsgcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS50YWxlbnQgLmxlYWQgKyBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbmJvZHkudGFsZW50IC5jaGFyYWN0ZXJpc3RpYyB7XG4gIG1hcmdpbi10b3A6IDMuNTcxNDNyZW07IH1cbiAgYm9keS50YWxlbnQgLmNoYXJhY3RlcmlzdGljIC5wYW5lbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAxLjQyODU3cmVtO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMDMyYzY2OyB9XG4gICAgYm9keS50YWxlbnQgLmNoYXJhY3RlcmlzdGljIC5wYW5lbCAudGl0bGUtd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjcxNDI5cmVtOyB9XG4gICAgICBib2R5LnRhbGVudCAuY2hhcmFjdGVyaXN0aWMgLnBhbmVsIC50aXRsZS13cmFwIHNwYW4ge1xuICAgICAgICBjb2xvcjogI2Q3ZTFlMTtcbiAgICAgICAgZm9udC1zaXplOiAzLjU3MTQzcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgYm9keS50YWxlbnQgLmNoYXJhY3RlcmlzdGljIC5wYW5lbCAudGl0bGUtd3JhcCBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41NzE0M3JlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICBib2R5LnRhbGVudCAuY2hhcmFjdGVyaXN0aWMgLnBhbmVsIC50aXRsZS13cmFwIGgyIGRpdiB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg1NzE0cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgY29sb3I6ICMwMzJjNjY7IH1cbiAgICBib2R5LnRhbGVudCAuY2hhcmFjdGVyaXN0aWMgLnBhbmVsIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIGJvZHkudGFsZW50IC5jaGFyYWN0ZXJpc3RpYyAucGFuZWwgdWwgbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMjsgfVxuICBib2R5LnRhbGVudCAuY2hhcmFjdGVyaXN0aWMgYS5yZWFkbW9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzMmM2NjsgfVxuXG4vKlxuICog5pWZ6IKy56CU5L+u44Kr44Oq44Kt44Ol44Op44OgXG4gKi9cbmJvZHkudHJhaW5pbmcgLnRpdGxlLWFyZWEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2JnLXBhZ2UtdHJhaW5pbmcuanBnKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgYm9keS50cmFpbmluZyAudGl0bGUtYXJlYSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3MCUgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iZy1wYWdlLXRyYWluaW5nLXNwLmpwZyk7IH0gfVxuXG5ib2R5LnRyYWluaW5nIC5sZWFkIHtcbiAgbWFyZ2luLXRvcDogNS43MTQyOXJlbSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5LnRyYWluaW5nIC5sZWFkIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuMTQyODZyZW0gIWltcG9ydGFudDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cbiAgYm9keS50cmFpbmluZyAubGVhZDpudGgtY2hpbGQoMSkge1xuICAgIG1hcmdpbi10b3A6IDUuMTQyODZyZW0gIWltcG9ydGFudDsgfVxuXG5ib2R5LnRyYWluaW5nIC5zY2hlZHVsZSBkbCB7XG4gIG1hcmdpbi1ib3R0b206IDIuMTQyODZyZW07IH1cbiAgYm9keS50cmFpbmluZyAuc2NoZWR1bGUgZGw6bGFzdC1vZi10eXBlIGR0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgYm9keS50cmFpbmluZyAuc2NoZWR1bGUgZGwgZHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZGIyNzI7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDUuNzE0MjlyZW07XG4gICAgbGluZS1oZWlnaHQ6IDUuNzE0MjlyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC43MTQyOXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICBib2R5LnRyYWluaW5nIC5zY2hlZHVsZSBkbCBkdCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsgfSB9XG4gICAgYm9keS50cmFpbmluZyAuc2NoZWR1bGUgZGwgZHQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmRiMjcyO1xuICAgICAgdG9wOiAzOHB4O1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS50cmFpbmluZyAuc2NoZWR1bGUgZGwgZHQ6OmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAzcHg7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyB9IH1cbiAgICBib2R5LnRyYWluaW5nIC5zY2hlZHVsZSBkbCBkdDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogLTU5cHg7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlcjogNDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkICMyZGIyNzI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS50cmFpbmluZyAuc2NoZWR1bGUgZGwgZHQ6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBib3R0b206IC0zNnB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmRiMjcyO1xuICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAwJSwgNTAlIDEwMCUpO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMCU7XG4gICAgICAgICAgei1pbmRleDogLTE7IH0gfVxuICAgIGJvZHkudHJhaW5pbmcgLnNjaGVkdWxlIGRsIGR0IHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxLjcxNDI5cmVtOyB9XG4gICAgYm9keS50cmFpbmluZyAuc2NoZWR1bGUgZGwgZHQgaW1nIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjcxNDI5cmVtOyB9XG4gIGJvZHkudHJhaW5pbmcgLnNjaGVkdWxlIGRsIGRkIHtcbiAgICBmb250LXNpemU6IDAuODU3MTRyZW07IH1cbiAgICBib2R5LnRyYWluaW5nIC5zY2hlZHVsZSBkbCBkZCBkaXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICAgIGNvbG9yOiAjMDMyYzY2O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuMjg1NzFyZW0gMC43MTQyOXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNzE0MjlyZW07XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGhlaWdodDogMy41NzE0M3JlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBib2R5LnRyYWluaW5nIC5zY2hlZHVsZSBkbCBkZCBkaXYgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIGJvZHkudHJhaW5pbmcgLnNjaGVkdWxlIGRsIGRkIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5ib2R5LnRyYWluaW5nIC5wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIHBhZGRpbmc6IDEuNDI4NTdyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuODU3MTRyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgYm9keS50cmFpbmluZyAucGFuZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS40Mjg1N3JlbTsgfSB9XG4gIGJvZHkudHJhaW5pbmcgLnBhbmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMjBweDtcbiAgICB3aWR0aDogMi4yODU3MXJlbTtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgIzAzMmM2NjsgfVxuICBib2R5LnRyYWluaW5nIC5wYW5lbCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjQyODU3cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4wNzE0M3JlbTsgfVxuICAgIGJvZHkudHJhaW5pbmcgLnBhbmVsIGgzIGRpdiB7XG4gICAgICBmb250LXNpemU6IDAuODU3MTRyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMwMzJjNjY7IH1cbiAgYm9keS50cmFpbmluZyAucGFuZWwgPiBkaXYge1xuICAgIGxpbmUtaGVpZ2h0OiAyOyB9XG5cbmJvZHkudHJhaW5pbmcgLnVzYW1pIHtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBib2R5LnRyYWluaW5nIC51c2FtaSA+IGRpdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43MTQyOXJlbTsgfVxuXG5ib2R5LnRyYWluaW5nIHRhYmxlIHtcbiAgbWFyZ2luLWJvdHRvbTogNC4yODU3MXJlbTsgfVxuICBib2R5LnRyYWluaW5nIHRhYmxlIHRoZWFkIHRoLFxuICBib2R5LnRyYWluaW5nIHRhYmxlIHRoZWFkIHRkLFxuICBib2R5LnRyYWluaW5nIHRhYmxlIHRib2R5IHRoLFxuICBib2R5LnRyYWluaW5nIHRhYmxlIHRib2R5IHRkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDMzJTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWRlZGVkOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5LnRyYWluaW5nIHRhYmxlIHRoZWFkIHRkLFxuICAgIGJvZHkudHJhaW5pbmcgdGFibGUgdGJvZHkgdGQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH0gfVxuXG4vKlxuICog5YWI6Lyp56S+5ZOh44GuMeaXpVxuICovXG5ib2R5LnNjaGVkdWxlIC5jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3R4dC1zY2hlZHVsZS1iZy5zdmcpIG5vLXJlcGVhdCAxMDElIDg4MHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE1MHB4O1xuICB6LWluZGV4OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICBib2R5LnNjaGVkdWxlIC5jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDUlIDc3MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkuc2NoZWR1bGUgLmNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTA1JSA2ODBweDsgfSB9XG4gIGJvZHkuc2NoZWR1bGUgLmNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiA3MDBweDtcbiAgICBsZWZ0OiAtMzUlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zMGRlZyk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICBib2R5LnNjaGVkdWxlIC5jb250ZW50OjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMjAwJTtcbiAgICAgICAgbGVmdDogLTYwJTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTMwZGVnKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS5zY2hlZHVsZSAuY29udGVudDo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDMwMCU7XG4gICAgICAgIHRvcDogMTAwMHB4O1xuICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpOyB9IH1cblxuYm9keS5zY2hlZHVsZSAudGl0bGUtYXJlYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS1zY2hlZHVsZS5qcGcpO1xuICBoZWlnaHQ6IDQyLjg1NzE0cmVtO1xuICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICBib2R5LnNjaGVkdWxlIC50aXRsZS1hcmVhIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjE0Mjg2cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkuc2NoZWR1bGUgLnRpdGxlLWFyZWEge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxODAlO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTUlIHRvcDtcbiAgICAgIGhlaWdodDogMzkuMjg1NzFyZW07IH0gfVxuICBib2R5LnNjaGVkdWxlIC50aXRsZS1hcmVhIC5pbm5lciB7XG4gICAgd2lkdGg6IDExMDBweDtcbiAgICBoZWlnaHQ6IDQyLjg1NzE0cmVtO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICBib2R5LnNjaGVkdWxlIC50aXRsZS1hcmVhIC5pbm5lciB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IGF1dG8gMS40Mjg1N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS5zY2hlZHVsZSAudGl0bGUtYXJlYSAuaW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDM5LjI4NTcxcmVtOyB9IH1cbiAgICBib2R5LnNjaGVkdWxlIC50aXRsZS1hcmVhIC5pbm5lciAudGl0bGUtaW5uZXIge1xuICAgICAgd2lkdGg6IDI4LjU3MTQzcmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExMTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgcGFkZGluZzogNi4yODU3MXJlbSAyLjg1NzE0cmVtO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgIGJvZHkuc2NoZWR1bGUgLnRpdGxlLWFyZWEgLmlubmVyIC50aXRsZS1pbm5lciB7XG4gICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDIuODU3MTRyZW0gMS40Mjg1N3JlbTtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgICAgYm9keS5zY2hlZHVsZSAudGl0bGUtYXJlYSAuaW5uZXIgLnRpdGxlLWlubmVyIGgxIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44NTcxNHJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgYm9keS5zY2hlZHVsZSAudGl0bGUtYXJlYSAuaW5uZXIgLnRpdGxlLWlubmVyIGgxIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuODU3MTRyZW07IH0gfVxuICAgICAgYm9keS5zY2hlZHVsZSAudGl0bGUtYXJlYSAuaW5uZXIgLnRpdGxlLWlubmVyIC50aXRsZS10ZXh0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5ib2R5LnNjaGVkdWxlIG1haW4gLmluZm9ybWF0aW9uIHtcbiAgbGluZS1oZWlnaHQ6IDI7IH1cbiAgYm9keS5zY2hlZHVsZSBtYWluIC5pbmZvcm1hdGlvbiBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbmJvZHkuc2NoZWR1bGUgbWFpbiAubmFtZSB7XG4gIGZvbnQtc2l6ZTogMS43MTQyOXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMwMzJjNjY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgYm9keS5zY2hlZHVsZSBtYWluIC5uYW1lIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuNTcxNDNyZW07IH0gfVxuICBib2R5LnNjaGVkdWxlIG1haW4gLm5hbWUgc3BhbiB7XG4gICAgZm9udC1zaXplOiAzLjQyODU3cmVtOyB9XG4gIGJvZHkuc2NoZWR1bGUgbWFpbiAubmFtZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4ICMwMzJjNjYgc29saWQ7XG4gICAgd2lkdGg6IDMuMTQyODZyZW07XG4gICAgaGVpZ2h0OiAwLjE0Mjg2cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogLTEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICBib2R5LnNjaGVkdWxlIG1haW4gLm5hbWU6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAwOyB9IH1cblxuYm9keS5zY2hlZHVsZSBtYWluIC5jaXJjbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgYm9keS5zY2hlZHVsZSBtYWluIC5jaXJjbGU6OmJlZm9yZSwgYm9keS5zY2hlZHVsZSBtYWluIC5jaXJjbGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMC4wNzE0M3JlbTtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgICB0b3A6IDI4cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgIGJvZHkuc2NoZWR1bGUgbWFpbiAuY2lyY2xlOjpiZWZvcmUsIGJvZHkuc2NoZWR1bGUgbWFpbiAuY2lyY2xlOjphZnRlciB7XG4gICAgICAgIGxlZnQ6IDEycHg7IH0gfVxuICBib2R5LnNjaGVkdWxlIG1haW4gLmNpcmNsZTo6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgdG9wOiAyOHB4OyB9XG4gIGJvZHkuc2NoZWR1bGUgbWFpbiAuY2lyY2xlOjphZnRlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogNDNweDsgfVxuICBib2R5LnNjaGVkdWxlIG1haW4gLmNpcmNsZS5sYXN0LWNoaWxkOjpiZWZvcmUsIGJvZHkuc2NoZWR1bGUgbWFpbiAuY2lyY2xlLmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICBib2R5LnNjaGVkdWxlIG1haW4gLmNpcmNsZSBjaXJjbGUge1xuICAgICAgY3g6IDEyOyB9IH1cbiAgYm9keS5zY2hlZHVsZSBtYWluIC5jaXJjbGUubGFzdC1jaGlsZCBzdmcge1xuICAgIGhlaWdodDogNDBweDsgfVxuXG5ib2R5LnNjaGVkdWxlIG1haW4gLnRpbWUge1xuICBmb250LXNpemU6IDEuNTcxNDNyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgYm9keS5zY2hlZHVsZSBtYWluIC50aW1lIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMS43MTQyOXJlbTtcbiAgICBjb2xvcjogIzAzMmM2NjsgfVxuICAgIGJvZHkuc2NoZWR1bGUgbWFpbiAudGltZSBzcGFuOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNDI4NTdyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS40Mjg1N3JlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBib2R5LnNjaGVkdWxlIG1haW4gLnRpbWUubm8tdGl0bGUgc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cblxuYm9keS5zY2hlZHVsZSBtYWluIC5zdW1tYXJ5IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZy1ib3R0b206IDIuODU3MTRyZW07XG4gIG1hcmdpbi10b3A6IC0xLjQyODU3cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5LnNjaGVkdWxlIG1haW4gLnN1bW1hcnkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNDI4NTdyZW07IH0gfVxuXG4vKlxuICog56S+5ZOh44Ki44Oz44Kx44O844OIXG4gKi9cbmJvZHkucXVlc3Rpb25uYWlyZSAudGl0bGUtYXJlYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS1xdWVzdGlvbm5haXJlLmpwZyk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkucXVlc3Rpb25uYWlyZSAudGl0bGUtYXJlYSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3MCUgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iZy1wYWdlLXF1ZXN0aW9ubmFpcmUtc3AuanBnKTsgfSB9XG5cbmJvZHkucXVlc3Rpb25uYWlyZSBtYWluIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgYm9keS5xdWVzdGlvbm5haXJlIG1haW4ge1xuICAgICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuICBib2R5LnF1ZXN0aW9ubmFpcmUgbWFpbiAucXVlc3Rpb24taW5uZXIge1xuICAgIHdpZHRoOiAxMTAwcHg7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgYm9keS5xdWVzdGlvbm5haXJlIG1haW4gLnF1ZXN0aW9uLWlubmVyIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIGJvZHkucXVlc3Rpb25uYWlyZSBtYWluIC5xdWVzdGlvbi1pbm5lcjpudGgtY2hpbGQoMm4pIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmYztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICBib2R5LnF1ZXN0aW9ubmFpcmUgbWFpbiAucXVlc3Rpb24taW5uZXI6bnRoLWNoaWxkKDJuKSAucXVlc3Rpb24td2lkdGgge1xuICAgICAgICB3aWR0aDogMTEwMHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAgIGJvZHkucXVlc3Rpb25uYWlyZSBtYWluIC5xdWVzdGlvbi1pbm5lcjpudGgtY2hpbGQoMm4pIC5xdWVzdGlvbi13aWR0aCB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgYm9keS5xdWVzdGlvbm5haXJlIG1haW4gLnF1ZXN0aW9uLWlubmVyID4gZGl2ID4gZGl2IHtcbiAgICAgIHBhZGRpbmc6IDIuODU3MTRyZW0gMS40Mjg1N3JlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgYm9keS5xdWVzdGlvbm5haXJlIG1haW4gLnF1ZXN0aW9uLWlubmVyID4gZGl2ID4gZGl2IC5xdWVzdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAxODBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi44NTcxNHJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgYm9keS5xdWVzdGlvbm5haXJlIG1haW4gLnF1ZXN0aW9uLWlubmVyID4gZGl2ID4gZGl2IC5xdWVzdGlvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0MHB4OyB9IH1cbiAgICAgICAgYm9keS5xdWVzdGlvbm5haXJlIG1haW4gLnF1ZXN0aW9uLWlubmVyID4gZGl2ID4gZGl2IC5xdWVzdGlvbiAubnVtYmVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgICAgICBib2R5LnF1ZXN0aW9ubmFpcmUgbWFpbiAucXVlc3Rpb24taW5uZXIgPiBkaXYgPiBkaXYgLnF1ZXN0aW9uIC5udW1iZXIgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgICAgICBib2R5LnF1ZXN0aW9ubmFpcmUgbWFpbiAucXVlc3Rpb24taW5uZXIgPiBkaXYgPiBkaXYgLnF1ZXN0aW9uIC5udW1iZXIgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0MHB4OyB9IH1cbiAgICAgICAgYm9keS5xdWVzdGlvbm5haXJlIG1haW4gLnF1ZXN0aW9uLWlubmVyID4gZGl2ID4gZGl2IC5xdWVzdGlvbiBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjU3MTQzcmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAgIGJvZHkucXVlc3Rpb25uYWlyZSBtYWluIC5xdWVzdGlvbi1pbm5lciA+IGRpdiA+IGRpdiAucXVlc3Rpb24gaDIge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNzE0MjlyZW07IH0gfVxuICAgICAgICAgIGJvZHkucXVlc3Rpb25uYWlyZSBtYWluIC5xdWVzdGlvbi1pbm5lciA+IGRpdiA+IGRpdiAucXVlc3Rpb24gaDIgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjg1NzFyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIGJvZHkucXVlc3Rpb25uYWlyZSBtYWluIC5xdWVzdGlvbi1pbm5lciA+IGRpdiA+IGRpdiAuY29tbWVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkY2YwZmE7XG4gICAgICAgIHBhZGRpbmc6IDEuNDI4NTdyZW07IH1cbiAgICAgICAgYm9keS5xdWVzdGlvbm5haXJlIG1haW4gLnF1ZXN0aW9uLWlubmVyID4gZGl2ID4gZGl2IC5jb21tZW50IGR0IHtcbiAgICAgICAgICBjb2xvcjogIzAzMmM2NjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjQyODU3cmVtOyB9XG4gICAgICAgIGJvZHkucXVlc3Rpb25uYWlyZSBtYWluIC5xdWVzdGlvbi1pbm5lciA+IGRpdiA+IGRpdiAuY29tbWVudCBkZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBwYWRkaW5nOiAxLjA3MTQzcmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgIGJvZHkucXVlc3Rpb25uYWlyZSBtYWluIC5xdWVzdGlvbi1pbm5lciA+IGRpdiA+IGRpdiAuY29tbWVudCBkZDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3JkZXI6IDEwcHggdHJhbnNwYXJlbnQgc29saWQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDhweDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogOHB4O1xuICAgICAgICAgICAgdG9wOiAtMTlweDtcbiAgICAgICAgICAgIGxlZnQ6IDIwcHg7IH1cbiAgICAgICAgICBib2R5LnF1ZXN0aW9ubmFpcmUgbWFpbiAucXVlc3Rpb24taW5uZXIgPiBkaXYgPiBkaXYgLmNvbW1lbnQgZGQgZGl2IHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDMyYzY2O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzU3MTRyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS5xdWVzdGlvbm5haXJlIG1haW4gLnF1ZXN0aW9uLWlubmVyID4gZGl2ID4gZGl2ID4gZGl2Om50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICAgIGJvZHkucXVlc3Rpb25uYWlyZSBtYWluIC5xdWVzdGlvbi1pbm5lciA+IGRpdiA+IGRpdiA+IGRpdjpudGgtY2hpbGQoMikgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBtYXgtd2lkdGg6IDQ1JTtcbiAgICAgICAgbWF4LWhlaWdodDogODAlOyB9XG4gICAgICAgIGJvZHkucXVlc3Rpb25uYWlyZSBtYWluIC5xdWVzdGlvbi1pbm5lciA+IGRpdiA+IGRpdiA+IGRpdjpudGgtY2hpbGQoMikgaW1nLnF1ZXN0aW9ubmFpcmUtNSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogOTAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgICBib2R5LnF1ZXN0aW9ubmFpcmUgbWFpbiAucXVlc3Rpb24taW5uZXIgPiBkaXYgPiBkaXYgPiBkaXY6bnRoLWNoaWxkKDIpIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuMTQyODZyZW07IH0gfVxuXG4vKlxuICogU05T44K344Kn44Ki44Oc44K/44OzXG4gKi9cbi5zbnMtYnV0dG9ucyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gIC5zbnMtYnV0dG9ucyAubnNuc2J1dHR0b25saXN0IHN2ZyB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuc25zLWJ1dHRvbnMge1xuICAgICAgbWFyZ2luLXRvcDogMi4xNDI4NnJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuMTQyODZyZW07IH1cbiAgICAgIC5zbnMtYnV0dG9ucyAubnNuc2J1dHR0b25saXN0IHN2ZyB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7IH0gfVxuXG4vKlxuICog5oCn5qC85Yil5Za25qWt44K/44Kk44OX6Ki65patXG4gKi9cbmJvZHkucGVyc29uYWxpdHl0ZXN0IC50aXRsZS1hcmVhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2JnLXBhZ2UtcHQuanBnKTsgfVxuICBib2R5LnBlcnNvbmFsaXR5dGVzdCAudGl0bGUtYXJlYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDQxLjE2NjY2NjY2NjY2NjclOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAudGl0bGUtYXJlYSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iZy1wYWdlLXB0LXNwLmpwZyk7IH1cbiAgICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC50aXRsZS1hcmVhOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMTEuNzMzMzMzMzMzMzMzMyU7IH0gfVxuXG5ib2R5LnBlcnNvbmFsaXR5dGVzdCAucHQtdGl0bGUtaW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiA2LjY2NjY3dnc7IH1cbiAgYm9keS5wZXJzb25hbGl0eXRlc3QgLnB0LXRpdGxlLWlubmVyIC5wdC10aXRsZS1sZWFkIHtcbiAgICBvcmRlcjogMTtcbiAgICBmb250LXNpemU6IDMuODg4ODl2dztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjM4ODg5dnc7IH1cbiAgYm9keS5wZXJzb25hbGl0eXRlc3QgLnB0LXRpdGxlLWlubmVyIC5wdC10aXRsZS1tYWluIHtcbiAgICBvcmRlcjogMjtcbiAgICBmb250LXNpemU6IDIuODg4ODl2dztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDJGN0E7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcGFkZGluZzogMS4wNTU1NnZ3IDEuNjY2Njd2dyAxdnc7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5wdC10aXRsZS1pbm5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMjh2dzsgfVxuICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLnB0LXRpdGxlLWlubmVyIC5wdC10aXRsZS1sZWFkIHtcbiAgICAgICAgZm9udC1zaXplOiA3LjQ2NjY3dnc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMxLjMzMzMzdnc7IH1cbiAgICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5wdC10aXRsZS1pbm5lciAucHQtdGl0bGUtbWFpbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNS42dnc7XG4gICAgICAgIHBhZGRpbmc6IDIuNHZ3IDIuMTMzMzN2dyAyLjEzMzMzdnc7IH0gfVxuXG5ib2R5LnBlcnNvbmFsaXR5dGVzdCAucHQtcmVzdWx0cy1sZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1vdXQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAxMDRweDtcbiAgcGFkZGluZzogMy4xMTExMXZ3IDAgMS42NjY2N3Z3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMy4xMTExMXZ3O1xuICBsaW5lLWhlaWdodDogMS4wZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOyB9XG4gIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5wdC1yZXN1bHRzLWxlYWQuc2hvdyB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxLjA7IH1cbiAgYm9keS5wZXJzb25hbGl0eXRlc3QgLnB0LXJlc3VsdHMtbGVhZCA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyRjdBO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDAuODMzMzN2dyAxLjMzMzMzdncgMC43MjIyMnZ3O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAucHQtcmVzdWx0cy1sZWFkIHtcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICBwYWRkaW5nOiAyLjY2NjY3dncgMCAzLjJ2dztcbiAgICAgIGZvbnQtc2l6ZTogNi44dnc7XG4gICAgICBsaW5lLWhlaWdodDogMS42ZW07IH1cbiAgICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5wdC1yZXN1bHRzLWxlYWQgPiBzcGFuIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMGVtO1xuICAgICAgICBwYWRkaW5nOiAyLjI2NjY3dncgMi4yNjY2N3Z3IDEuNzMzMzN2dztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5ib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1pbm5lciB7XG4gIHBhZGRpbmctdG9wOiA0LjY2NjY3dnc7XG4gIHBhZGRpbmctYm90dG9tOiA2LjY2NjY3dnc7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LWlubmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2LjY2NjY3dnc7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAuNjY2Njd2dzsgfSB9XG4gIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LWlubmVyIC5zbnMtYnV0dG9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5ib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1sZWFkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyLjIyMjIydnc7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LWxlYWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNS44NjY2N3Z3OyB9IH1cbiAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtbGVhZCBwIHtcbiAgICBmb250LXNpemU6IDEuNjExMTF2dztcbiAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS42ZW07IH1cbiAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1sZWFkIHA6bnRoLWxhc3QtY2hpbGQoMSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LWxlYWQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4ydnc7IH0gfVxuXG5ib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1xdWVzdGlvbi1udW1iZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDIuMjIyMjJ2dztcbiAgZm9udC1zaXplOiAydnc7XG4gIGxpbmUtaGVpZ2h0OiAxLjBlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMDAyRjdBOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1xdWVzdGlvbi1udW1iZXIge1xuICAgICAgZm9udC1zaXplOiA0LjI2NjY3dnc7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0LjI2NjY3dnc7IH0gfVxuXG5ib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1xdWVzdGlvbi1jdXJyZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDIuMjIyMjJ2dzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcXVlc3Rpb24tY3VycmVudCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcXVlc3Rpb24tY3VycmVudCA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjU1NTU2dnc7XG4gICAgaGVpZ2h0OiAxLjU1NTU2dnc7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LWluZGVudDogLTkwMDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW46IDAgMi4yMjIyMnZ3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEMUQxRDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLW91dDsgfVxuICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXF1ZXN0aW9uLWN1cnJlbnQgPiBzcGFuLmN1cnJlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMkY3QTsgfVxuXG5ib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1xdWVzdGlvbi1vdXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGNhbGMoMHB4IC0gMS40Mjg1N3JlbSk7IH1cbiAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcXVlc3Rpb24tb3V0ZXIgLnB0LXF1ZXN0aW9uLWl0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1xdWVzdGlvbi1vdXRlciAucHQtcXVlc3Rpb24taXRlbSNwdC1xMSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXF1ZXN0aW9uLW91dGVyIC5wdC1xdWVzdGlvbi1pdGVtIC5wdC1xdWVzdGlvbi1ib3gge1xuICAgICAgYm9yZGVyLXRvcDogMC40NDQ0NHZ3IHNvbGlkICMwMDJGN0E7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUFFQUVBO1xuICAgICAgcGFkZGluZzogMS42NjY2N3Z3IDIuNzc3Nzh2dyAyLjc3Nzc4dnc7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcXVlc3Rpb24tb3V0ZXIgLnB0LXF1ZXN0aW9uLWl0ZW0gLnB0LXF1ZXN0aW9uLWJveCB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMS4wNjY2N3Z3O1xuICAgICAgICAgIHBhZGRpbmc6IDIuNjY2Njd2dyAyLjY2NjY3dncgNi42NjY2N3Z3OyB9IH1cbiAgICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXF1ZXN0aW9uLW91dGVyIC5wdC1xdWVzdGlvbi1pdGVtIC5wdC1xdWVzdGlvbi1ib3ggLnB0LXF1ZXN0aW9uLWhlYWQge1xuICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgXCJzYW5zLXNlcmlmXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMi43Nzc3OHZ3O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4wZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogIzAwMkY3QTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43Nzc3OHZ3OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1xdWVzdGlvbi1vdXRlciAucHQtcXVlc3Rpb24taXRlbSAucHQtcXVlc3Rpb24tYm94IC5wdC1xdWVzdGlvbi1oZWFkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNi4xMzMzM3Z3O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC44dnc7IH0gfVxuICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcXVlc3Rpb24tb3V0ZXIgLnB0LXF1ZXN0aW9uLWl0ZW0gLnB0LXF1ZXN0aW9uLWJveCAucHQtcXVlc3Rpb24tYm9keSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi43Nzc3OHZ3O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4wZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogIzExMTExMTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcXVlc3Rpb24tb3V0ZXIgLnB0LXF1ZXN0aW9uLWl0ZW0gLnB0LXF1ZXN0aW9uLWJveCAucHQtcXVlc3Rpb24tYm9keSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDYuMTMzMzN2dzsgfSB9XG4gICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcXVlc3Rpb24tb3V0ZXIgLnB0LXF1ZXN0aW9uLWl0ZW0gLnB0LXF1ZXN0aW9uLXllc25vIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMy44ODg4OXZ3IDAgMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXF1ZXN0aW9uLW91dGVyIC5wdC1xdWVzdGlvbi1pdGVtIC5wdC1xdWVzdGlvbi15ZXNubyB7XG4gICAgICAgICAgd2lkdGg6IDc2LjI2NjY3dnc7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1xdWVzdGlvbi1vdXRlciAucHQtcXVlc3Rpb24taXRlbSAucHQtcXVlc3Rpb24teWVzbm8gPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiA0NiU7XG4gICAgICAgIGhlaWdodDogNi4yMjIyMnZ3OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1xdWVzdGlvbi1vdXRlciAucHQtcXVlc3Rpb24taXRlbSAucHQtcXVlc3Rpb24teWVzbm8gPiBsaSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTIuOHZ3O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNy40NjY2N3Z3OyB9IH1cbiAgICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcXVlc3Rpb24tb3V0ZXIgLnB0LXF1ZXN0aW9uLWl0ZW0gLnB0LXF1ZXN0aW9uLXllc25vID4gbGkgPiBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBcInNhbnMtc2VyaWZcIjtcbiAgICAgICAgICBmb250LXNpemU6IDIuMzMzMzN2dztcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4wZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZS1vdXQ7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1xdWVzdGlvbi1vdXRlciAucHQtcXVlc3Rpb24taXRlbSAucHQtcXVlc3Rpb24teWVzbm8gPiBsaSA+IGEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDUuMDY2Njd2dzsgfSB9XG4gICAgICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcXVlc3Rpb24tb3V0ZXIgLnB0LXF1ZXN0aW9uLWl0ZW0gLnB0LXF1ZXN0aW9uLXllc25vID4gbGkgPiBhOmxpbmssIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXF1ZXN0aW9uLW91dGVyIC5wdC1xdWVzdGlvbi1pdGVtIC5wdC1xdWVzdGlvbi15ZXNubyA+IGxpID4gYTp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgb3BhY2l0eTogMS4wOyB9XG4gICAgICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcXVlc3Rpb24tb3V0ZXIgLnB0LXF1ZXN0aW9uLWl0ZW0gLnB0LXF1ZXN0aW9uLXllc25vID4gbGkgPiBhOmhvdmVyLCBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1xdWVzdGlvbi1vdXRlciAucHQtcXVlc3Rpb24taXRlbSAucHQtcXVlc3Rpb24teWVzbm8gPiBsaSA+IGE6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXF1ZXN0aW9uLW91dGVyIC5wdC1xdWVzdGlvbi1pdGVtIC5wdC1xdWVzdGlvbi15ZXNubyA+IGxpLnllcyA+IGE6bGluaywgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcXVlc3Rpb24tb3V0ZXIgLnB0LXF1ZXN0aW9uLWl0ZW0gLnB0LXF1ZXN0aW9uLXllc25vID4gbGkueWVzID4gYTp2aXNpdGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyRjdBOyB9XG4gICAgICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXF1ZXN0aW9uLW91dGVyIC5wdC1xdWVzdGlvbi1pdGVtIC5wdC1xdWVzdGlvbi15ZXNubyA+IGxpLnllcyA+IGE6aG92ZXIsIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXF1ZXN0aW9uLW91dGVyIC5wdC1xdWVzdGlvbi1pdGVtIC5wdC1xdWVzdGlvbi15ZXNubyA+IGxpLnllcyA+IGE6YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyRjdBOyB9XG4gICAgICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXF1ZXN0aW9uLW91dGVyIC5wdC1xdWVzdGlvbi1pdGVtIC5wdC1xdWVzdGlvbi15ZXNubyA+IGxpLm5vID4gYTpsaW5rLCBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1xdWVzdGlvbi1vdXRlciAucHQtcXVlc3Rpb24taXRlbSAucHQtcXVlc3Rpb24teWVzbm8gPiBsaS5ubyA+IGE6dmlzaXRlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc5Nzk3OTsgfVxuICAgICAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1xdWVzdGlvbi1vdXRlciAucHQtcXVlc3Rpb24taXRlbSAucHQtcXVlc3Rpb24teWVzbm8gPiBsaS5ubyA+IGE6aG92ZXIsIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXF1ZXN0aW9uLW91dGVyIC5wdC1xdWVzdGlvbi1pdGVtIC5wdC1xdWVzdGlvbi15ZXNubyA+IGxpLm5vID4gYTphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3OTc5Nzk7IH1cblxuYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcmVzdWx0cy1vdXRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2Utb3V0O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXJlc3VsdHMtb3V0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMHB4IC0gMS40Mjg1N3JlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMHB4IC0gMS40Mjg1N3JlbSk7IH0gfVxuICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1yZXN1bHRzLW91dGVyLnNob3cge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMS4wOyB9XG4gIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXJlc3VsdHMtb3V0ZXIgLnB0LXJlc3VsdHMtaXRlbSB7XG4gICAgb3JkZXI6IDI7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGJvcmRlci10b3A6IDAuNzIyMjJ2dyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogMi41dncgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAxNS43MjIyMnZ3O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDJ2dyAzLjg4ODg5dncgMnZ3IDIwLjg4ODg5dnc7XG4gICAgbWFyZ2luLXRvcDogMS43Nzc3OHZ3OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcmVzdWx0cy1vdXRlciAucHQtcmVzdWx0cy1pdGVtIHtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMjMuNzMzMzN2dztcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDUuNnZ3O1xuICAgICAgICBwYWRkaW5nOiAxNy42dncgNS4zMzMzM3Z3IDUuMzMzMzN2dyA1LjMzMzMzdnc7XG4gICAgICAgIG1hcmdpbi10b3A6IDUuODY2Njd2dzsgfSB9XG4gICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcmVzdWx0cy1vdXRlciAucHQtcmVzdWx0cy1pdGVtIC5wdC1yZXN1bHRzLWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0yLjV2dztcbiAgICAgIHRvcDogLTAuNzIyMjJ2dztcbiAgICAgIHdpZHRoOiAyMC4zODg4OXZ3O1xuICAgICAgaGVpZ2h0OiAxNHZ3O1xuICAgICAgYm94LXNoYWRvdzogMHB4IDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KTsgfVxuICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcmVzdWx0cy1vdXRlciAucHQtcmVzdWx0cy1pdGVtIC5wdC1yZXN1bHRzLWltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IDUwJSA1MCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcmVzdWx0cy1vdXRlciAucHQtcmVzdWx0cy1pdGVtIC5wdC1yZXN1bHRzLWltYWdlIHtcbiAgICAgICAgICBsZWZ0OiAtNS42dnc7XG4gICAgICAgICAgdG9wOiAtMjMuNzMzMzN2dztcbiAgICAgICAgICB3aWR0aDogNTQuOTMzMzN2dztcbiAgICAgICAgICBoZWlnaHQ6IDM3LjZ2dzsgfSB9XG4gICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcmVzdWx0cy1vdXRlciAucHQtcmVzdWx0cy1pdGVtIC5wdC1yZXN1bHRzLWhlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAxLjg4ODg5dnc7XG4gICAgICBsaW5lLWhlaWdodDogMS4wZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMzMzMzN2dzsgfVxuICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcmVzdWx0cy1vdXRlciAucHQtcmVzdWx0cy1pdGVtIC5wdC1yZXN1bHRzLWhlYWRpbmcgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyRjdBO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgcGFkZGluZzogMC40NDQ0NHZ3IDAuNjY2Njd2dyAwLjMzMzMzdnc7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjFlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjFlbTsgfVxuICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcmVzdWx0cy1vdXRlciAucHQtcmVzdWx0cy1pdGVtIC5wdC1yZXN1bHRzLWhlYWRpbmcgYnIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXJlc3VsdHMtb3V0ZXIgLnB0LXJlc3VsdHMtaXRlbSAucHQtcmVzdWx0cy1oZWFkaW5nIHtcbiAgICAgICAgICBmb250LXNpemU6IDQuOHZ3O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjI2NjY3dnc7IH1cbiAgICAgICAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1yZXN1bHRzLW91dGVyIC5wdC1yZXN1bHRzLWl0ZW0gLnB0LXJlc3VsdHMtaGVhZGluZyA+IHNwYW4ge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMGVtO1xuICAgICAgICAgICAgcGFkZGluZzogMS4zMzMzM3Z3IDEuODY2Njd2dyAxLjMzMzMzdnc7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXJlc3VsdHMtb3V0ZXIgLnB0LXJlc3VsdHMtaXRlbSAucHQtcmVzdWx0cy1oZWFkaW5nIGJyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1yZXN1bHRzLW91dGVyIC5wdC1yZXN1bHRzLWl0ZW0gLnB0LXJlc3VsdHMtdGV4dCB7XG4gICAgICBmb250LXNpemU6IDEuMjIyMjJ2dztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1yZXN1bHRzLW91dGVyIC5wdC1yZXN1bHRzLWl0ZW0gLnB0LXJlc3VsdHMtdGV4dCB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjkzMzMzdnc7IH1cbiAgICAgICAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1yZXN1bHRzLW91dGVyIC5wdC1yZXN1bHRzLWl0ZW0gLnB0LXJlc3VsdHMtdGV4dCBiciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1yZXN1bHRzLW91dGVyIC5wdC1yZXN1bHRzLWl0ZW0uc2hvdyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNS41NTU1NnZ3O1xuICAgICAgYm9yZGVyLXRvcDogMS40NDQ0NHZ3IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgbWluLWhlaWdodDogMjAuODg4ODl2dztcbiAgICAgIHBhZGRpbmc6IDEuNDQ0NDR2dyAyLjQ0NDQ0dncgMi42NjY2N3Z3IDI1LjU1NTU2dnc7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcmVzdWx0cy1vdXRlciAucHQtcmVzdWx0cy1pdGVtLnNob3cge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUuMzMzMzN2dztcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAzOS4wNjY2N3Z3O1xuICAgICAgICAgIHBhZGRpbmc6IDE0LjY2NjY3dncgNS4zMzMzM3Z3IDUuMzMzMzN2dyA1LjMzMzMzdnc7IH0gfVxuICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcmVzdWx0cy1vdXRlciAucHQtcmVzdWx0cy1pdGVtLnNob3c6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDAuMzMzMzN2dztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMkY3QTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXJlc3VsdHMtb3V0ZXIgLnB0LXJlc3VsdHMtaXRlbS5zaG93OmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEuMDY2Njd2dzsgfSB9XG4gICAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1yZXN1bHRzLW91dGVyIC5wdC1yZXN1bHRzLWl0ZW0uc2hvdyAucHQtcmVzdWx0cy1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMS40NDQ0NHZ3O1xuICAgICAgICB3aWR0aDogMjUuNjExMTF2dztcbiAgICAgICAgaGVpZ2h0OiAxOS4yNzc3OHZ3OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1yZXN1bHRzLW91dGVyIC5wdC1yZXN1bHRzLWl0ZW0uc2hvdyAucHQtcmVzdWx0cy1pbWFnZSB7XG4gICAgICAgICAgICB0b3A6IC0zOS4wNjY2N3Z3O1xuICAgICAgICAgICAgd2lkdGg6IDY2dnc7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4LjUzMzMzdnc7IH0gfVxuICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtcmVzdWx0cy1vdXRlciAucHQtcmVzdWx0cy1pdGVtLnNob3cgLnB0LXJlc3VsdHMtaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnZ3O1xuICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTU1NTZ2dzsgfVxuICAgICAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1yZXN1bHRzLW91dGVyIC5wdC1yZXN1bHRzLWl0ZW0uc2hvdyAucHQtcmVzdWx0cy1oZWFkaW5nID4gc3BhbiB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMGVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAuNDQ0NDR2dyAxdncgMC40NDQ0NHZ3O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXJlc3VsdHMtb3V0ZXIgLnB0LXJlc3VsdHMtaXRlbS5zaG93IC5wdC1yZXN1bHRzLWhlYWRpbmcgYnIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC1yZXN1bHRzLW91dGVyIC5wdC1yZXN1bHRzLWl0ZW0uc2hvdyAucHQtcmVzdWx0cy1oZWFkaW5nIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNS42dnc7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjI2NjY3dnc7IH1cbiAgICAgICAgICAgIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXJlc3VsdHMtb3V0ZXIgLnB0LXJlc3VsdHMtaXRlbS5zaG93IC5wdC1yZXN1bHRzLWhlYWRpbmcgPiBzcGFuIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMS43MzMzM3Z3IDEuODY2Njd2dyAxLjMzMzMzdnc7IH0gfVxuXG5ib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC10b2hvbWUge1xuICBtYXJnaW4tdG9wOiA0LjQ0NDQ0dnc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtdG9ob21lIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuMTQyODZyZW07IH0gfVxuICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC10b2hvbWUgPiBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMi4zMzMzM3Z3O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjBlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2Utb3V0O1xuICAgIHBhZGRpbmc6IDAuNmVtIDIuMGVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS5wZXJzb25hbGl0eXRlc3QgLmNvbnRlbnQgbWFpbiAucHQtdG9ob21lID4gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNS4wNjY2N3Z3OyB9IH1cbiAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC10b2hvbWUgPiBhOmxpbmssIGJvZHkucGVyc29uYWxpdHl0ZXN0IC5jb250ZW50IG1haW4gLnB0LXRvaG9tZSA+IGE6dmlzaXRlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmRiMjcyO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC10b2hvbWUgPiBhOmhvdmVyLCBib2R5LnBlcnNvbmFsaXR5dGVzdCAuY29udGVudCBtYWluIC5wdC10b2hvbWUgPiBhOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLypcbiAqIOWDjeOBjeaWueaUuemdqVxuICovXG5ib2R5LnJlZm9ybSAudGl0bGUtYXJlYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iZy1wYWdlLXJlZm9ybS5qcGcpOyB9XG4gIGJvZHkucmVmb3JtIC50aXRsZS1hcmVhOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogNDEuMTY2NjY2NjY2NjY2NyU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkucmVmb3JtIC50aXRsZS1hcmVhIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2JnLXBhZ2UtcmVmb3JtLXNwLmpwZyk7IH1cbiAgICAgIGJvZHkucmVmb3JtIC50aXRsZS1hcmVhOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMTEuNzMzMzMzMzMzMzMzMyU7IH0gfVxuXG5ib2R5LnJlZm9ybSAucHQtdGl0bGUtaW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAyLjIyMjIydnc7IH1cbiAgYm9keS5yZWZvcm0gLnB0LXRpdGxlLWlubmVyIC5wdC10aXRsZS1sZWFkIHtcbiAgICBvcmRlcjogMTtcbiAgICBmb250LXNpemU6IDIuMjIyMjJ2dztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjM4ODg5dnc7IH1cbiAgYm9keS5yZWZvcm0gLnB0LXRpdGxlLWlubmVyIC5wdC10aXRsZS1tYWluIHtcbiAgICBvcmRlcjogMjtcbiAgICBmb250LXNpemU6IDQuNDQ0NDR2dztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDIyNTk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcGFkZGluZzogMS4wNTU1NnZ3IDEuNjY2Njd2dyAxdnc7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkucmVmb3JtIC5wdC10aXRsZS1pbm5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAuNjY2Njd2dzsgfVxuICAgICAgYm9keS5yZWZvcm0gLnB0LXRpdGxlLWlubmVyIC5wdC10aXRsZS1sZWFkIHtcbiAgICAgICAgZm9udC1zaXplOiA0LjI2NjY3dnc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNnZ3OyB9XG4gICAgICBib2R5LnJlZm9ybSAucHQtdGl0bGUtaW5uZXIgLnB0LXRpdGxlLW1haW4ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogNy40NjY2N3Z3O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICAgIHBhZGRpbmc6IDIuNHZ3IDIuMTMzMzN2dyAyLjEzMzMzdnc7IH0gfVxuXG5ib2R5LnJlZm9ybSAuY29udGVudCBtYWluIHtcbiAgd2lkdGg6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4ge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4ge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLWxlYWQge1xuICAgIHBhZGRpbmctdG9wOiA0LjQ0NDQ0dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDUuNTU1NTZ2dztcbiAgICB3aWR0aDogNjYuNjY2Njd2dztcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNDI4NTdyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS40Mjg1N3JlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1sZWFkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDYuNjY2Njd2dztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYuNjY2Njd2dzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLWxlYWQge1xuICAgICAgICB3aWR0aDogODguODg4ODl2dzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLWxlYWQge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLWxlYWQgLnRleHQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjExMTExdncgLSAxMi43Nzc3OHZ3KTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMTExMXZ3O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBib3JkZXItbGVmdDogMC4zMzMzM3Z3IHNvbGlkICMwMDJGN0E7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNTU1NTZ2dzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tbGVhZCAudGV4dCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMTExMTF2dyAtIDE1LjU1NTU2dncpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40NDQ0NHZ3OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLWxlYWQgLnRleHQge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi45MzMzM3Z3O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjBlbTtcbiAgICAgICAgICBib3JkZXItbGVmdDogMC41MzMzM3Z3IHNvbGlkICMwMDJGN0E7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjEzMzMzdnc7IH0gfVxuICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1sZWFkIC5wZW9wbGUge1xuICAgICAgd2lkdGg6IDEyLjc3Nzc4dnc7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tbGVhZCAucGVvcGxlIHtcbiAgICAgICAgICB3aWR0aDogMTUuNTU1NTZ2dzsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1sZWFkIC5wZW9wbGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDQuMjY2Njd2dztcbiAgICAgICAgICB3aWR0aDogMzQuNjY2Njd2dztcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tbGVhZCAucGVvcGxlIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLWxlYWQgLnBlb3BsZSAuaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjJ2dzsgfSB9XG4gICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tbGVhZCAucGVvcGxlIC5jYXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxdnc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjBlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tbGVhZCAucGVvcGxlIC5jYXB0aW9uID4gc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICMwMDIyNTk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1sZWFkIC5wZW9wbGUgLmNhcHRpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjMzMzMzdnc7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLWxlYWQgLnBlb3BsZSAuY2FwdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNjY2Njd2dzsgfSB9XG4gIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA2LjY2NjY3dnc7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwLjY2NjY3dnc7IH0gfVxuICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjIC5yZWZvcm0tc2VjLW1haW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzLjg4ODg5dnc7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjc3Nzc4dnc7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWMgLnJlZm9ybS1zZWMtbWFpbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDcuMzMzMzN2dztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0dnc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLXNlYy1vdXRlciAucmVmb3JtLXNlYyAucmVmb3JtLXNlYy1tYWluIGgyLCBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjIC5yZWZvcm0tc2VjLW1haW4gaDMsIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWMgLnJlZm9ybS1zZWMtbWFpbiBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLXNlYy1vdXRlciAucmVmb3JtLXNlYyAucmVmb3JtLXNlYy1tYWluIC5oZWFkaW5nIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IFwic2xudFwiIDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMC4xNjY2N3Z3O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNHZ3O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjBlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4xMTExMXZ3O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzc3Nzh2dzsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWMgLnJlZm9ybS1zZWMtbWFpbiAuaGVhZGluZyB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiA3LjczMzMzdnc7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNHZ3O1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDR2dztcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNHZ3O1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4wNjY2N3Z3O1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwLjR2dztcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNC4yNjY2N3Z3OyB9IH1cbiAgICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLXNlYy1vdXRlciAucmVmb3JtLXNlYyAucmVmb3JtLXNlYy1tYWluIC5xdWVzdGlvbiB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyMjU5O1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40NDQ0NHZ3O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBwYWRkaW5nOiAxLjIyMjIydncgMS41NTU1NnZ3IDEuMTExMTF2dzsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWMgLnJlZm9ybS1zZWMtbWFpbiAucXVlc3Rpb24ge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDMuMnZ3O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAyLjkzMzMzdncgMy43MzMzM3Z3IDIuNjY2Njd2dzsgfSB9XG4gICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWMgLnJlZm9ybS1zZWMtbWFpbiAuYW5zd2VyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMi43Nzc3OHZ3O1xuICAgICAgICAgIHBhZGRpbmc6IDQuNDQ0NDR2dyAxLjU1NTU2dncgMS42NjY2N3Z3O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjIC5yZWZvcm0tc2VjLW1haW4gLmFuc3dlciB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IC02LjY2NjY3dnc7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDkuMzMzMzN2dyA0dncgMi42NjY2N3Z3OyB9IH1cbiAgICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjIC5yZWZvcm0tc2VjLW1haW4gLmFuc3dlciAubmFtZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODg4ODl2dztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjBlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAyMjU5OyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWMgLnJlZm9ybS1zZWMtbWFpbiAuYW5zd2VyIC5uYW1lIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuOTMzMzN2dztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMi4wZW07IH0gfVxuICAgICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWMgLnJlZm9ybS1zZWMtbWFpbiAuYW5zd2VyIC50ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44ODg4OXZ3O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMGVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLXNlYy1vdXRlciAucmVmb3JtLXNlYyAucmVmb3JtLXNlYy1tYWluIC5hbnN3ZXIgLnRleHQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi45MzMzM3Z3O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjBlbTsgfSB9XG4gICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjIC5yZWZvcm0tc2VjLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAzMC40NDQ0NHZ3O1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWMgLnJlZm9ybS1zZWMtaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDh2dyk7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0Ni42NjY2N3Z3O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMi42NjY2N3Z3OyB9IH1cbiAgICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLXNlYy1vdXRlciAucmVmb3JtLXNlYyAucmVmb3JtLXNlYy1pbWFnZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICBvYmplY3QtcG9zaXRpb246IDUwJSAwJTsgfVxuICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLXNlYy1vdXRlciAucmVmb3JtLXNlYzpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U2RTZFNjsgfVxuICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjOm50aC1vZi10eXBlKG9kZCkgLnJlZm9ybS1zZWMtbWFpbiB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCgxMDB2dyAtIDEyMDBweCkgLyAyKTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWM6bnRoLW9mLXR5cGUob2RkKSAucmVmb3JtLXNlYy1tYWluIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjQyODU3cmVtOyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjOm50aC1vZi10eXBlKG9kZCkgLnJlZm9ybS1zZWMtbWFpbiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNHZ3OyB9IH1cbiAgICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjOm50aC1vZi10eXBlKG9kZCkgLnJlZm9ybS1zZWMtbWFpbiAuaGVhZGluZyB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjOm50aC1vZi10eXBlKG9kZCkgLnJlZm9ybS1zZWMtbWFpbiAucXVlc3Rpb24ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXZ3OyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWM6bnRoLW9mLXR5cGUob2RkKSAucmVmb3JtLXNlYy1tYWluIC5xdWVzdGlvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0dnc7IH0gfVxuICAgICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWM6bnRoLW9mLXR5cGUob2RkKSAucmVmb3JtLXNlYy1tYWluIC5hbnN3ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNi4xMTExMXZ3OyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWM6bnRoLW9mLXR5cGUob2RkKSAucmVmb3JtLXNlYy1tYWluIC5hbnN3ZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjOm50aC1vZi10eXBlKG9kZCkgLnJlZm9ybS1zZWMtaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTIzLjMzMzMzdnc7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLXNlYy1vdXRlciAucmVmb3JtLXNlYzpudGgtb2YtdHlwZShvZGQpOm50aC1sYXN0LW9mLXR5cGUoMSkgLnJlZm9ybS1zZWMtaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjOm50aC1vZi10eXBlKGV2ZW4pIC5yZWZvcm0tc2VjLW1haW4ge1xuICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gMTIwMHB4KSAvIDIpOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLXNlYy1vdXRlciAucmVmb3JtLXNlYzpudGgtb2YtdHlwZShldmVuKSAucmVmb3JtLXNlYy1tYWluIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS40Mjg1N3JlbTtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwLjY2NjY3dnc7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWM6bnRoLW9mLXR5cGUoZXZlbikgLnJlZm9ybS1zZWMtbWFpbiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNHZ3O1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjOm50aC1vZi10eXBlKGV2ZW4pIC5yZWZvcm0tc2VjLW1haW4gLmhlYWRpbmcge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgwLCAzNCwgODksIDAuMTUpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAzNCwgODksIDAuMTUpOyB9XG4gICAgICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLXNlYy1vdXRlciAucmVmb3JtLXNlYzpudGgtb2YtdHlwZShldmVuKSAucmVmb3JtLXNlYy1tYWluIC5xdWVzdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTcuMjIyMjJ2dztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4xMTExMXZ3OyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgICAgIGJvZHkucmVmb3JtIC5jb250ZW50IG1haW4gLnJlZm9ybS1zZWMtb3V0ZXIgLnJlZm9ybS1zZWM6bnRoLW9mLXR5cGUoZXZlbikgLnJlZm9ybS1zZWMtbWFpbiAucXVlc3Rpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHZ3OyB9IH1cbiAgICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjOm50aC1vZi10eXBlKGV2ZW4pIC5yZWZvcm0tc2VjLW1haW4gLmFuc3dlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNCwgMjM0LCAyMzQsIDAuOSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTcuMjIyMjJ2dzsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgICAgICBib2R5LnJlZm9ybSAuY29udGVudCBtYWluIC5yZWZvcm0tc2VjLW91dGVyIC5yZWZvcm0tc2VjOm50aC1vZi10eXBlKGV2ZW4pIC5yZWZvcm0tc2VjLW1haW4gLmFuc3dlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICAgICAgYm9keS5yZWZvcm0gLmNvbnRlbnQgbWFpbiAucmVmb3JtLXNlYy1vdXRlciAucmVmb3JtLXNlYzpudGgtb2YtdHlwZShldmVuKSAucmVmb3JtLXNlYy1tYWluIHtcbiAgICAgICAgICBvcmRlcjogMTsgfVxuXG4vKlxuICog6LGK44OI44Op44K544OG44Kj6Ki85Yi45o6h55So44OB44Oj44Oz44ON44OrXG4gKi9cbmJvZHkuY2hhbm5lbCAudGl0bGUtYXJlYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS1jaGFubmVsLmpwZz90PTIwMjQwNTIyMDEpOyB9XG4gIGJvZHkuY2hhbm5lbCAudGl0bGUtYXJlYSAudGl0bGUtaW5uZXIgLnRpdGxlLXRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgYm9keS5jaGFubmVsIC50aXRsZS1hcmVhIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS1jaGFubmVsLXNwLmpwZz90PTIwMjQwNTIyMDEpOyB9IH1cbiAgYm9keS5jaGFubmVsIC50aXRsZS1hcmVhIC50aXRsZS1hcmVhLXl0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgYm9keS5jaGFubmVsIC50aXRsZS1hcmVhIC50aXRsZS1hcmVhLXl0IC55dC1idXR0b24ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYTMzMjM7XG4gICAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiA4cHggMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjBlbTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIGJvZHkuY2hhbm5lbCAudGl0bGUtYXJlYSAudGl0bGUtYXJlYS15dCAueXQtYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICBib2R5LmNoYW5uZWwgLnRpdGxlLWFyZWEgLnRpdGxlLWFyZWEteXQgLnl0LWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY195b3V0dWJlX2ZmZi5wbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOGVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYm9keS5jaGFubmVsIC50aXRsZS1hcmVhIC50aXRsZS1hcmVhLXl0IHtcbiAgICAgICAgYm90dG9tOiA0dnc7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgYm9keS5jaGFubmVsIC50aXRsZS1hcmVhIC50aXRsZS1hcmVhLXl0IC55dC1idXR0b24ge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDR2dztcbiAgICAgICAgICBwYWRkaW5nOiAydncgNnZ3O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4wZW07IH1cbiAgICAgICAgICBib2R5LmNoYW5uZWwgLnRpdGxlLWFyZWEgLnRpdGxlLWFyZWEteXQgLnl0LWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7IH0gfVxuXG5ib2R5LmNoYW5uZWwgI3l0LW91dGVyIHtcbiAgcGFkZGluZy10b3A6IDQuNDQ0NDR2dztcbiAgcGFkZGluZy1ib3R0b206IDUuNTU1NTZ2dzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgYm9keS5jaGFubmVsICN5dC1vdXRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogNi42NjY2N3Z3O1xuICAgICAgcGFkZGluZy1ib3R0b206IDYuNjY2Njd2dzsgfSB9XG5cbmJvZHkuY2hhbm5lbCAjeXQtbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTEuMTExMTF2dztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5LmNoYW5uZWwgI3l0LWxpc3Qge1xuICAgICAgbWluLWhlaWdodDogMjYuNjY2Njd2dzsgfSB9XG4gIGJvZHkuY2hhbm5lbCAjeXQtbGlzdCAueXQtb3ZlcmxheSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDEuMDtcbiAgICB6LWluZGV4OiAyOyB9XG4gIGJvZHkuY2hhbm5lbCAjeXQtbGlzdCAueXQtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzJSAtIDEuNjY2Njd2dyk7XG4gICAgbWFyZ2luOiAwIDAuODMzMzN2dyAyLjIyMjIydnc7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjExMTExdnc7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42cztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDsgfVxuICBib2R5LmNoYW5uZWwgI3l0LWxpc3QubG9hZGVkIC55dC1vdmVybGF5IHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDsgfVxuICBib2R5LmNoYW5uZWwgI3l0LWxpc3QubG9hZGVkIC55dC1pdGVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDEuMDsgfVxuICBib2R5LmNoYW5uZWwgI3l0LWxpc3QgLnRpdGxlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyMjU5O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4yMjIyMnZ3O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAxLjExMTExdncgMC44MzMzM3Z3O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNjY2Njd2dztcbiAgICBmbGV4OiAxOyB9XG4gIGJvZHkuY2hhbm5lbCAjeXQtbGlzdCAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDEuNjY2Njd2dyAxLjExMTExdnc7IH1cbiAgICBib2R5LmNoYW5uZWwgI3l0LWxpc3QgLmRlc2NyaXB0aW9uIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxdnc7XG4gICAgICBsaW5lLWhlaWdodDogMS43NWVtOyB9XG4gICAgICBib2R5LmNoYW5uZWwgI3l0LWxpc3QgLmRlc2NyaXB0aW9uIHA6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIGJvZHkuY2hhbm5lbCAjeXQtbGlzdCAueW91dHViZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAxLjExMTExdnc7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBib2R5LmNoYW5uZWwgI3l0LWxpc3QgLnlvdXR1YmU6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICBib2R5LmNoYW5uZWwgI3l0LWxpc3QgLnlvdXR1YmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaWNvLXNob3J0LnBuZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAzLjU1NTU2dnc7IH1cbiAgYm9keS5jaGFubmVsICN5dC1saXN0IC55b3V0dWJlIGltZyB7XG4gICAgd2lkdGg6IDEzLjMzMzMzdnc7XG4gICAgaGVpZ2h0OiAyMy42NjY2N3Z3O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBib2R5LmNoYW5uZWwgI3l0LWxpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIGJvZHkuY2hhbm5lbCAjeXQtbGlzdCAueXQtaXRlbSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG1pbi13aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4dnc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIuNjY2Njd2dztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgYm9keS5jaGFubmVsICN5dC1saXN0IC55dC1pdGVtIC50aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiA0dnc7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgIHBhZGRpbmc6IDIuNjY2Njd2dyAydnc7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHZ3OyB9XG4gICAgICAgIGJvZHkuY2hhbm5lbCAjeXQtbGlzdCAueXQtaXRlbSAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgIHBhZGRpbmc6IDR2dyAyLjY2NjY3dnc7IH1cbiAgICAgICAgICBib2R5LmNoYW5uZWwgI3l0LWxpc3QgLnl0LWl0ZW0gLmRlc2NyaXB0aW9uIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjkzMzMzdnc7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS43NWVtOyB9XG4gICAgICAgIGJvZHkuY2hhbm5lbCAjeXQtbGlzdCAueXQtaXRlbSAueW91dHViZSB7XG4gICAgICAgICAgd2lkdGg6IDYwdnc7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIuNjY2Njd2dztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgYm9keS5jaGFubmVsICN5dC1saXN0IC55dC1pdGVtIC55b3V0dWJlOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTcuMDY2Njd2dzsgfVxuICAgICAgYm9keS5jaGFubmVsICN5dC1saXN0IC55dC1pdGVtLnNob3J0IGlmcmFtZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiA2MHZ3O1xuICAgICAgICBoZWlnaHQ6IDEyNXZ3OyB9XG4gICAgICBib2R5LmNoYW5uZWwgI3l0LWxpc3QgLnl0LWl0ZW0uc2hvcnQgaW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDYwdnc7XG4gICAgICAgIGhlaWdodDogMTA3dnc7IH0gfVxuXG5ib2R5LmNoYW5uZWwgLm1vZGFsLXZpZGVvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTsgfVxuXG5ib2R5LmNoYW5uZWwgLm1vZGFsLXZpZGVvLWlubmVyIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbmJvZHkuY2hhbm5lbCAubW9kYWwtdmlkZW8tbW92aWUtd3JhcCB7XG4gIHBhZGRpbmctYm90dG9tOiAxNzcuNzclICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICBib2R5LmNoYW5uZWwgLm1vZGFsLXZpZGVvLWlubmVyIHtcbiAgICB3aWR0aDogNzAlICFpbXBvcnRhbnQ7IH1cbiAgYm9keS5jaGFubmVsIC5tb2RhbC12aWRlby1jbG9zZS1idG4ge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IC00NXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cblxuLmxvYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMHB4O1xuICByaWdodDogMHB4O1xuICB0b3A6IDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IC05MDAwcHg7XG4gIGJvcmRlci10b3A6IDAuNWVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJpZ2h0OiAwLjVlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlci1ib3R0b206IDAuNWVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLWxlZnQ6IDAuNWVtIHNvbGlkICMwMDAwMDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkaW5nIDEuMXMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IGxvYWRpbmcgMS4xcyBpbmZpbml0ZSBsaW5lYXI7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxvYWRpbmcge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgbG9hZGluZyB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLmxvYWRlcixcbi5sb2FkZXI6YWZ0ZXIge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5sb2FkZXIsXG4gICAgLmxvYWRlcjphZnRlciB7XG4gICAgICB3aWR0aDogMTAuNjY2Njd2dztcbiAgICAgIGhlaWdodDogMTAuNjY2Njd2dzsgfSB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDg3LjUlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtZmFtaWx5OiBZdUdvdGhpYywgXCLmuLjjgrTjgrfjg4Pjgq9cIiwgXCLjg5Ljg6njgq7jg47op5LjgrQgUHJvIFczXCIsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwiWXUgR290aGljIE1lZGl1bVwiLCBcIua4uOOCtOOCt+ODg+OCryBNZWRpdW1cIiwgWXVHb3RoaWMsIFwi5ri444K044K344OD44Kv5L2TXCIsIFwi44Oh44Kk44Oq44KqXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMTExMTExO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi43ODU3MXJlbTtcbiAgbWFyZ2luOiAwIDAgMS4xNDI4NnJlbTtcbiAgcGFkZGluZzogMC41NzE0M3JlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTcsIDE3LCAxNywgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NnJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMxMTExMTE7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhOyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMS4xNDI4NnJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41NzE0M3JlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjE0Mjg2cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNTcxNDNyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzExMTExMTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDEuMTQyODZyZW07XG4gICAgcGFkZGluZzogMC42NDI4NnJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41NzE0M3JlbTtcbiAgZm9udC1zaXplOiAwLjkyODU3cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMTExMTExOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjE0Mjg2cmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgY29sb3I6ICMxMTExMTE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4xNDI4NnJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41NzE0M3JlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMjg1NzFyZW0gMDtcbiAgcGFkZGluZzogMS40Mjg1N3JlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjIxNDI5cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4yMTQyOXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNzg1NzFyZW07XG4gIG1hcmdpbjogMCAwIDEuMTQyODZyZW07XG4gIHBhZGRpbmc6IDAuNTcxNDNyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMTQyODZyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMTExMTExO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTEuMTQyODZyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNzE0MjlyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2U3NDk4NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZWRmMzsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjZTc0OTg1OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNlNzQ5ODU7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41NzE0M3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4xNDI4NnJlbTtcbiAgZm9udC1zaXplOiAwLjg1NzE0cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNlNzQ5ODU7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS43NTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFl1R290aGljLCBcIua4uOOCtOOCt+ODg+OCr1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCJZdSBHb3RoaWMgTWVkaXVtXCIsIFwi5ri444K044K344OD44KvIE1lZGl1bVwiLCBZdUdvdGhpYywgXCLmuLjjgrTjgrfjg4Pjgq/kvZNcIiwgXCLjg6HjgqTjg6rjgqpcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCwgLmgyIHNtYWxsLFxuICBoMyBzbWFsbCwgLmgzIHNtYWxsLFxuICBoNCBzbWFsbCwgLmg0IHNtYWxsLFxuICBoNSBzbWFsbCwgLmg1IHNtYWxsLFxuICBoNiBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI2NhY2FjYTsgfVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAxLjcxNDI5cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1N3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMzU3MTRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjI4NTcxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4yMTQyOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDEuMTQyODZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDMuNDI4NTdyZW07IH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAyLjg1NzE0cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMi4yMTQyOXJlbTsgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDEuNzg1NzFyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjQyODU3cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMS4xNDI4NnJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMwMzJjNjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDMyNjU4OyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA3OC41NzE0M3JlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuNDI4NTdyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC42NDI4NnJlbSAxLjQyODU3cmVtIDAgMS4zNTcxNHJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgY29sb3I6ICM4YThhOGE7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuOTI4NTdyZW07XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzExMTExMTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjE0Mjg2cmVtIDAuMzU3MTRyZW0gMC4wNzE0M3JlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMTExMTExOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xNDI4NnJlbSAwLjI4NTcxcmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzExMTExMTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMDkuMzc1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzE0MjlyZW07XG4gIHBhZGRpbmctbGVmdDogMC43MTQyOXJlbTtcbiAgbWF4LXdpZHRoOiA3OC41NzE0M3JlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMS40Mjg1N3JlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS40Mjg1N3JlbTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMC43MTQyOXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzE0MjlyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNDI4NTdyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS40Mjg1N3JlbTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNlbGwuYXV0byB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuY2VsbC5zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC43MTQyOXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC43MTQyOXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS40Mjg1N3JlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuNDI4NTdyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS40Mjg1N3JlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNzE0MjlyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjcxNDI5cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi44NTcxNHJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMS40Mjg1N3JlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS40Mjg1N3JlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS40Mjg1N3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuNDI4NTdyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS40Mjg1N3JlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuODU3MTRyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuODU3MTRyZW0pOyB9IH1cblxuLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNzE0MjlyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC43MTQyOXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS40Mjg1N3JlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS40Mjg1N3JlbTsgfSB9XG5cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC43MTQyOXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjcxNDI5cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS40Mjg1N3JlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS40Mjg1N3JlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMC43MTQyOXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjcxNDI5cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMS40Mjg1N3JlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS40Mjg1N3JlbTsgfSB9XG5cbi5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IDEyLjUlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNDI4NTdyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEuNDI4NTdyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuNDI4NTdyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDEuNDI4NTdyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDEuNDI4NTdyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuNDI4NTdyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuNDI4NTdyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS40Mjg1N3JlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMi44NTcxNHJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjg1NzE0cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi44NTcxNHJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAyLjg1NzE0cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDIuODU3MTRyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMi44NTcxNHJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDIuODU3MTRyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjg1NzE0cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjg1NzE0cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjg1NzE0cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAyLjg1NzE0cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAyLjg1NzE0cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjg1NzE0cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAyLjg1NzE0cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDIuODU3MTRyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMi44NTcxNHJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjg1NzE0cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi44NTcxNHJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAyLjg1NzE0cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDIuODU3MTRyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMi44NTcxNHJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDIuODU3MTRyZW0pOyB9IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNzE0MjlyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC43MTQyOXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuNzE0MjlyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjcxNDI5cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC43MTQyOXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuNzE0MjlyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjcxNDI5cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC43MTQyOXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuNzE0MjlyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjcxNDI5cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjcxNDI5cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjcxNDI5cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuNDI4NTdyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS40Mjg1N3JlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuNDI4NTdyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjQyODU3cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS40Mjg1N3JlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuNDI4NTdyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjQyODU3cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS40Mjg1N3JlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuNDI4NTdyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjQyODU3cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjQyODU3cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjQyODU3cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuNDI4NTdyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuNDI4NTdyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS40Mjg1N3JlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjQyODU3cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuNDI4NTdyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS40Mjg1N3JlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjQyODU3cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuNDI4NTdyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS40Mjg1N3JlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjQyODU3cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS40Mjg1N3JlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuNDI4NTdyZW0pOyB9IH1cblxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAuZ3JpZC15ID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gIG1hcmdpbi10b3A6IC0wLjcxNDI5cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC43MTQyOXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTEuNDI4NTdyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMS40Mjg1N3JlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNzE0MjlyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjcxNDI5cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDEuNDI4NTdyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS40Mjg1N3JlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNzE0MjlyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjcxNDI5cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTEuNDI4NTdyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMS40Mjg1N3JlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS40Mjg1N3JlbSk7XG4gICAgbWFyZ2luLXRvcDogMC43MTQyOXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjcxNDI5cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuODU3MTRyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMS40Mjg1N3JlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNDI4NTdyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS40Mjg1N3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuNDI4NTdyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS40Mjg1N3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuNDI4NTdyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS40Mjg1N3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuNDI4NTdyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuNDI4NTdyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS40Mjg1N3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS40Mjg1N3JlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjg1NzE0cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuODU3MTRyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC43MTQyOXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNzE0MjlyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMS40Mjg1N3JlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xLjQyODU3cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjQyODU3cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjcxNDI5cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzE0MjlyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi44NTcxNHJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAxLjQyODU3cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS40Mjg1N3JlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS40Mjg1N3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuNDI4NTdyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS40Mjg1N3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuNDI4NTdyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS40Mjg1N3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuNDI4NTdyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS40Mjg1N3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjQyODU3cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjQyODU3cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuODU3MTRyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDIuODU3MTRyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMi44NTcxNHJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAyLjg1NzE0cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi44NTcxNHJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS40Mjg1N3JlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDIuODU3MTRyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDIuODU3MTRyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDIuODU3MTRyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMi44NTcxNHJlbSk7IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMyYzY2O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMyNTU3O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMyYzY2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAyMjM1MjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZGIyNzI7XG4gICAgY29sb3I6ICMxMTExMTE7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQ4ZTViO1xuICAgICAgY29sb3I6ICMxMTExMTE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMTExMTExOyB9XG4gICAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMTExMTExOyB9XG4gIC5idXR0b24uYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNzQ5ODU7XG4gICAgY29sb3I6ICMxMTExMTE7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNzFjNjM7XG4gICAgICBjb2xvcjogIzExMTExMTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMyYzY2O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMyYzY2O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZGIyNzI7XG4gICAgICAgIGNvbG9yOiAjMTExMTExOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICMxMTExMTE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNzQ5ODU7XG4gICAgICAgIGNvbG9yOiAjMTExMTExOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDMyYzY2O1xuICAgIGNvbG9yOiAjMDMyYzY2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDIxNjMzO1xuICAgICAgY29sb3I6ICMwMjE2MzM7IH1cbiAgICAgIC5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDMyYzY2O1xuICAgICAgICBjb2xvcjogIzAzMmM2NjsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAzMmM2NjtcbiAgICAgIGNvbG9yOiAjMDMyYzY2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDIxNjMzO1xuICAgICAgICBjb2xvcjogIzAyMTYzMzsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMzJjNjY7XG4gICAgICAgICAgY29sb3I6ICMwMzJjNjY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZGIyNzI7XG4gICAgICBjb2xvcjogIzJkYjI3MjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE3NTkzOTtcbiAgICAgICAgY29sb3I6ICMxNzU5Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmRiMjcyO1xuICAgICAgICAgIGNvbG9yOiAjMmRiMjcyOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNzQ5ODU7XG4gICAgICBjb2xvcjogI2U3NDk4NTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODYxMjNlO1xuICAgICAgICBjb2xvcjogIzg2MTIzZTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTc0OTg1O1xuICAgICAgICAgIGNvbG9yOiAjZTc0OTg1OyB9XG4gIC5idXR0b24uY2xlYXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMzJjNjY7XG4gICAgY29sb3I6ICMwMzJjNjY7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDIxNjMzO1xuICAgICAgY29sb3I6ICMwMjE2MzM7IH1cbiAgICAgIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMzJjNjY7XG4gICAgICAgIGNvbG9yOiAjMDMyYzY2OyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMzJjNjY7XG4gICAgICBjb2xvcjogIzAzMmM2NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMjE2MzM7XG4gICAgICAgIGNvbG9yOiAjMDIxNjMzOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDMyYzY2O1xuICAgICAgICAgIGNvbG9yOiAjMDMyYzY2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMmRiMjcyO1xuICAgICAgY29sb3I6ICMyZGIyNzI7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTc1OTM5O1xuICAgICAgICBjb2xvcjogIzE3NTkzOTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJkYjI3MjtcbiAgICAgICAgICBjb2xvcjogIzJkYjI3MjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTc0OTg1O1xuICAgICAgY29sb3I6ICNlNzQ5ODU7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4NjEyM2U7XG4gICAgICAgIGNvbG9yOiAjODYxMjNlOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U3NDk4NTtcbiAgICAgICAgICBjb2xvcjogI2U3NDk4NTsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXI6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDMyYzY2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDMyYzY2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzc2NzY3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zdWNjZXNzOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzJkYjI3MjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZTc0OTg1OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzMmM2NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDIyMzUyO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmRiMjcyO1xuICAgIGNvbG9yOiAjMTExMTExOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNDhlNWI7XG4gICAgICBjb2xvcjogIzExMTExMTsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzExMTExMTsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMxMTExMTE7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTc0OTg1O1xuICAgIGNvbG9yOiAjMTExMTExOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3MWM2MztcbiAgICAgIGNvbG9yOiAjMTExMTExOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMTExMTExOyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0ge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMDMyYzY2O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzAzMmM2NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmRiMjcyO1xuICAgIGNvbG9yOiAjMTExMTExOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMTExMTExOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2U3NDk4NTtcbiAgICBjb2xvcjogIzExMTExMTsgfVxuXG4ucHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7IH1cbiAgLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMyYzY2OyB9XG4gIC5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2OyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJkYjI3MjsgfVxuICAucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7IH1cbiAgLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U3NDk4NTsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzMmM2NjsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi5zbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzMmM2NjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzMjU1NzsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zd2l0Y2gge1xuICBoZWlnaHQ6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICMwMzJjNjY7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43MTQyOXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuODU3MTRyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xNDI4NnJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZGVkZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAxLjQyODU3cmVtIDAuNzE0MjlyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICMwMzJjNjY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNlZGVkZWQ7XG4gICAgY29sb3I6ICMxMTExMTE7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMS40Mjg1N3JlbSAwLjcxNDI5cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAxLjQyODU3cmVtIDAuNzE0MjlyZW07IH1cbiAgdGJvZHkgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZGVkZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuICB0YWJsZS5zdHJpcGVkIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMyODVjOyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNzsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7IH1cblxudGFibGUuaG92ZXIuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMDMyYzY2O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzAzMmM2NjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmRiMjcyO1xuICAgIGNvbG9yOiAjMTExMTExOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMTExMTExOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2U3NDk4NTtcbiAgICBjb2xvcjogIzExMTExMTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjc4NTcxcmVtO1xuICAgIGNvbG9yOiAjMTExMTExO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgY29sb3I6ICNjYWNhY2E7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjMDMyYzY2OyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE3LCAxNywgMTcsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M0ZGNmZDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRmNmVhO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2Q5O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZTRlZDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMTExMTExOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cbiAgLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgcGFkZGluZzogMS41cmVtOyB9XG4gIC5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1pbWFnZSB7XG4gIG1pbi1oZWlnaHQ6IDFweDsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA3MTQzcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMjE0MjlyZW0gMC43MTQyOXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMTExMTExOyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4yMTQyOXJlbSAwLjcxNDI5cmVtO1xuICAgIGJhY2tncm91bmQ6ICMwMzJjNjY7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4yMTQyOXJlbSAwLjcxNDI5cmVtO1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgcGFkZGluZzogMC4yMTQyOXJlbSAwLjcxNDI5cmVtO1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIGNvbG9yOiAjMTExMTExOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGFiJzsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYmInOyB9XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzhhOGE4YTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTExMTExO1xuICAgIGJvdHRvbTogMTAwJTsgfVxuICAudG9vbHRpcC5ib3R0b20uYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxMTExMTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAudG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTExMTExO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLnRvb2x0aXAubGVmdC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTExMTExIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnRvb2x0aXAucmlnaHQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTsgfVxuICAudG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjg1NzE0cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMwMzJjNjY7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMTExMTExOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgMTcsIDE3LCAwLjUpO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgMTcsIDE3LCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjE0Mjg2cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMwMzJjNjY7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwNDM0N2E7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NTcxNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzAzMmM2NjsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAudGFicy10aXRsZSA+IGEge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgY29sb3I6ICMwMzI2NTg7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICAgIGNvbG9yOiAjMDMyYzY2OyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzExMTExMTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDRweCBzb2xpZCAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxNywgMTcsIDE3LCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDMsIDQ0LCAxMDIsIDAuNSk7IH1cbiAgYS50aHVtYm5haWwgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51IGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51LnZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZW51LmV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5tZW51LnNpbXBsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tZW51LnNpbXBsZSBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgLm1lbnUuc2ltcGxlIGEge1xuICAgICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5tZWRpdW0tc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51Lmljb25zIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi10b3AgYSwgLm1lbnUuaWNvbi1yaWdodCBhLCAubWVudS5pY29uLWJvdHRvbSBhLCAubWVudS5pY29uLWxlZnQgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLWxlZnQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXJpZ2h0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXRvcCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDMyYzY2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDMyYzY2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5tZW51LmFsaWduLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubWVudS5hbGlnbi1jZW50ZXIgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS5hbGlnbi1jZW50ZXIgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51IC5tZW51LXRleHQge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZmZmZmYsIDAgMTRweCAwICNmZmZmZmY7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjY2FjYWNhLCAwIDE0cHggMCAjY2FjYWNhOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMxMTExMTE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMTExMTExLCAwIDE0cHggMCAjMTExMTExO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM4YThhOGE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOGE4YThhLCAwIDE0cHggMCAjOGE4YThhOyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwMzJjNjYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDFyZW07XG4gIGxlZnQ6IGF1dG87IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAzMmM2NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7IH1cblxuLmRyaWxsZG93biBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uZHJpbGxkb3duIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcmlsbGRvd24gLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMzJjNjY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmRyaWxsZG93bi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMzJjNjY7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAzMmM2NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDMyYzY2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMC43cmVtIDAuNXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMzJjNjY7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDEwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7IH1cbiAgLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAwLjVyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxNywgMTcsIDE3LCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDE3LCAxNywgMTcsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAtMTNweCAwIDIwcHggLTEzcHggcmdiYSgxNywgMTcsIDE3LCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSgxNywgMTcsIDE3LCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xM3B4IDIwcHggLTEzcHggcmdiYSgxNywgMTcsIDE3LCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMTNweCAyMHB4IC0xM3B4IHJnYmEoMTcsIDE3LCAxNywgMC4yNSk7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cbiAgaHRtbC5pcy1yZXZlYWwtb3Blbi56Zi1oYXMtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDE3LCAxNywgMC40NSk7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDc4LjU3MTQzcmVtOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3OC41NzE0M3JlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA3OC41NzE0M3JlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA3OC41NzE0M3JlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogIzExMTExMTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMC41cmVtIDFyZW0gMC41cmVtIDA7IH1cblxuLnRvcC1iYXItbGVmdCxcbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWNjdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY2N3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9SW50ZXI6d2dodEAxMDAuLjkwMCZkaXNwbGF5PXN3YXAnKTtcblxuLypcbiAqIOWkieaVsOWumue+qVxuICovXG4kbGlnaHRuYXZ5LWNvbG9yOiAjMDAyZjdhICFkZWZhdWx0O1xuJGdyZWVuLWNvbG9yOiAjMmRiMjcyICFkZWZhdWx0O1xuJHBpbmstY29sb3I6ICNlNzQ5ODUgIWRlZmF1bHQ7XG4kd3JhcC13aWR0aDogMTEwMHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZTogcmVtLWNhbGMoMjIpICFkZWZhdWx0OyAvKiAyMnB4ICovXG4kZm9udC1zaXplLW1lZGl1bTogcmVtLWNhbGMoMTQpICFkZWZhdWx0OyAvKiAxNHB4ICovXG4kZm9udC1zaXplLXNtYWxsOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7IC8qIDEycHggKi9cbiRmb250LXNpemUteHNtYWxsOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7IC8qIDEwcHggKi9cblxuLypcbiAqIHZ36KiI566X55SoXG4gKi9cbi8v44K544Oe44Ob55SoXG4kdndfc3BfYmFzZTogNzUwcHg7XG4vL+aAp+agvOWIpeWWtualreOCv+OCpOODl+iouuaWrVxuJHZ3X3B0X2Jhc2U6IDE4MDBweDtcblxuXG4vKlxuICogTWl4aW5cbiAqL1xuLy92d+OCueODnuODm+eUqFxuQGZ1bmN0aW9uIHZ3LXNwKCR2YWx1ZSkge1xuXHRAcmV0dXJuICgkdmFsdWUgLyAkdndfc3BfYmFzZSAqIDEwMCkgKyAwdnc7XG59XG4vL3Z344K544Oe44Ob55SoXG5AZnVuY3Rpb24gdnctcHQoJHZhbHVlKSB7XG5cdEByZXR1cm4gKCR2YWx1ZSAvICR2d19wdF9iYXNlICogMTAwKSArIDB2dztcbn1cblxuQG1peGluIGludGVydmlldy1jYXJkLXdyYXAoKSB7XG4gIG1hcmdpbi10b3A6IHJlbS1jYWxjKDYwKTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gIH1cblxuICA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiA0MHB4LCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAmOm50aC1jaGlsZCg1KSxcbiAgICAmOm50aC1jaGlsZCg4KSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IHJlbS1jYWxjKC02MCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDApO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDMpLFxuICAgICY6bnRoLWNoaWxkKDYpLFxuICAgICY6bnRoLWNoaWxkKDkpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogcmVtLWNhbGMoLTEyMCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5udW1iZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgICBsZWZ0OiAtMTBweDtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIpIHJlbS1jYWxjKDE1KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIH1cblxuICAgIC5pbWFnZS13cmFwIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgQGF0LXJvb3QgYm9keSB7XG4gICAgICAgICAgJi5ob21lID4gZGl2LmludGVydmlldyAuY2FyZC13cmFwID4gYTpob3ZlciAuaW1hZ2Utd3JhcCBpbWcsXG4gICAgICAgICAgJi5pbnRlcnZpZXcgLmNvbnRlbnQgbWFpbiAuY2FyZC13cmFwID4gYTpob3ZlciAuaW1hZ2Utd3JhcCBpbWcsXG4gICAgICAgICAgJiBtYWluIGRpdi5pbnRlcnZpZXcuZnVsbC13aWR0aCAuY2FyZC13cmFwID4gYTpob3ZlciAuaW1hZ2Utd3JhcCBpbWcsXG4gICAgICAgICAgJiBmb290ZXIucGFnZS1mb290ZXIgLmZvb3Rlci1pbm5lciAuZm9vdGVyLWVudHJ5IGE6aG92ZXIgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaW50ZXJ2aWV3LWJnLWxpbmUoJGJvdHRvbTogMjIlLCAkdG9wOiAtMjglLCAkd2lkdGg6IDkyMCUpIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMDAlO1xuICBoZWlnaHQ6IDczMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgYm90dG9tOiAkYm90dG9tO1xuICBsZWZ0OiAtNTAlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjRkZWcpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGhlaWdodDogMTMwJTtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIHRvcDogJHRvcDtcbiAgICBib3R0b206IGluaXRpYWw7XG4gICAgbGVmdDogLTY4JTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg2NWRlZyk7XG4gIH1cbn1cblxuQG1peGluIGludGVydmlldy1lYWNoKCRtYWluLWltZywgJG1lc3NhZ2UtaW1nKSB7XG4gIC50aXRsZS1hcmVhIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJG1haW4taW1nKTtcbiAgfVxuXG4gIG1haW4ge1xuICAgIC5tZXNzYWdlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkbWVzc2FnZS1pbWcpO1xuICAgIH1cbiAgfVxufVxuXG4vKlxuICogQW5pbWF0aW9uXG4gKi9cbkBrZXlmcmFtZXMgc2hvdyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzY3JvbGwtbG9vcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKVxuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpXG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSlcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMCUpXG4gIH1cbn1cblxuQGtleWZyYW1lcyBodnItYmFjay1wdWxzZS1ibHVlIHtcbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSksIDAuNzUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaHZyLWJhY2stcHVsc2UtYmxhY2sge1xuICA1MCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjc1KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGh2ci1iYWNrLXB1bHNlLXBpbmsge1xuICA1MCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHBpbmstY29sb3IsIDAuNzUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaHZyLWJhY2stcHVsc2Utd2hpdGUge1xuICA1MCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLCAwLjc1KTtcbiAgfVxufVxuXG4vKlxuICog5YWx6YCaXG4gKi9cbmhlYWRlci5wYWdlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgbWFyZ2luOiBhdXRvO1xuICB3aWR0aDogJHdyYXAtd2lkdGg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDIwcHg7XG5cbiAgJi5tZW51LW9wZW4ge1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiAyMHB4O1xuICB9XG5cbiAgaDEsXG4gIC5sb2dvIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDcwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51LWJhciB7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMjBweDtcblxuICAgIC5odW1iZXJnZXItaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGF0LXJvb3QgYm9keS5wYWdlIGhlYWRlci5wYWdlLWhlYWRlciAubWVudS1iYXIgLmh1bWJlcmdlci1pY29uIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgJi5vcGVuIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0b3A6IDEwcHg7XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH0gICAgICAgICAgXG4gICAgICAgIH0gICAgICAgIFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5hdiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgJi5sb2FkZWQge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIGFuaW1hdGlvbjogc2hvdyAxcyBlYXNlLW91dDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuOCk7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgYW5pbWF0aW9uOiBzaG93IDAuM3MgZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgPiB1bCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoODApIHJlbS1jYWxjKDIwKSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93bi5tZW51LFxuICAgIC5hY2NvcmRpb24tbWVudS5tZW51IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICAgICAgJi5pcy1hY3RpdmUsXG4gICAgICAgICYuaXMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgICAgICBhLFxuICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQ3KTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAuM3M7XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuM3M7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gICAgICAgIFxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUsXG4gICAgICAgID4gdWwuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSwgMC44KTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKSByZW0tY2FsYygyMCk7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICByaWdodDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0b3A6IDEwNHB4IWltcG9ydGFudDsgICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICYuYWJvdXQge1xuICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuaHVtYW4tcmVzb3VyY2Uge1xuICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgIG1pbi13aWR0aDogMTYwcHg7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYucmVmb3JtIHtcbiAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICBtaW4td2lkdGg6IDE2MHB4O1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnF1ZXN0aW9ubmFpcmUge1xuICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgIG1pbi13aWR0aDogMTYwcHg7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5yZWNydWl0IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcblxuICAgICAgICAgIGE6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljby1leHRlcm5hbC13aGl0ZS5zdmcpIG5vLXJlcGVhdCAwIDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5lbnRyeSB7XG4gICAgICAgICAgLy9tYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvIDA7XG4gICAgICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgLy9wYWRkaW5nOiAwLjdyZW0gM3JlbSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMC43cmVtIDEuOHJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAYXQtcm9vdCBib2R5LnBhZ2UgaGVhZGVyLnBhZ2UtaGVhZGVyIG5hdiAuZHJvcGRvd24ubWVudSBsaSB7XG5cbiAgICAgICAgICAmLmlzLWFjdGl2ZSxcbiAgICAgICAgICAmLmlzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnJlY3J1aXQge1xuICAgICAgICAgICAgYTo6YWZ0ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljby1leHRlcm5hbC1ibGFjay5zdmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuZW50cnkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZm9vdGVyLnBhZ2UtZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgfVxuXG4gICNiYWNrLXRvLXRvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICByaWdodDogMjBweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBib3R0b206IDEwcHg7XG4gICAgICByaWdodDogMTBweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb290ZXItaW5uZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogJHdyYXAtd2lkdGg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoNTApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICAuZm9vdGVyLW1lc3NhZ2Uge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cblxuICAgICAgLmFkZGl0aW9uYWwge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyLWVudHJ5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYwKTtcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMSkge1xuICAgICAgICAvL21hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygyMCkgcmVtLWNhbGMoMzApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29weXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjApIDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gIH1cbn1cblxuLnJlYWRtb3JlLXdyYXAge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbmEucmVhZG1vcmUge1xuICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDUwKTtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDFweCkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGh2ci1iYWNrLXB1bHNlLWJsdWU7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICB9XG5cbiAgc3ZnIHtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuICB9XG59XG5cbi5mdWxsLXdpZHRoIHtcbiAgd2lkdGg6IDEwMHZ3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgcmlnaHQ6IDUwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtNTB2dztcbiAgbWFyZ2luLWxlZnQ6IC01MHZ3O1xufVxuXG4uY29udGVudC13aWR0aCB7XG4gIHdpZHRoOiAkd3JhcC13aWR0aDtcbiAgbWFyZ2luOiBhdXRvO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYmctZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICBwYWRkaW5nOiByZW0tY2FsYyg1MCkgcmVtLWNhbGMoMjApIHJlbS1jYWxjKDIwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuICB9XG59XG5cbnRhYmxlLmNvbXBhcmlzb24ge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgdGFibGUtbGF5b3V0OiBhdXRvO1xuICB9XG5cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0ciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjO1xuICB9XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjY2NjO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgJi5ibHVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0Ym9keSB7XG4gICAgdHIge1xuICAgICAgJi5jb21tb24ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7ICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYmV0dGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZWVmOTtcblxuICAgICAgICB0aCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlZWY5O1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRkIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICYubm9uZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxucC5hbm5vdGF0aW9uIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMikgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgJi5tdC1uNjAge1xuICAgIG1hcmdpbi10b3A6IC02MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgfVxuICB9XG5cbiAgJi5tYi0zMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi5tYi00MCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qXG4gKiDjg4jjg4Pjg5fjg5rjg7zjgrggXG4gKi9cbmJvZHkuaG9tZSB7XG4gIC5maXJzdC12aWV3IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJnYmEoJGJsYWNrLCAwLjUpLHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSwgMC41KSk7XG5cbiAgICAudmlkZW8td3JhcCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgei1pbmRleDogLTEwMDtcbiAgICAgIGhlaWdodDogMTAwdmg7XG5cbiAgICAgIHZpZGVvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgQG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOiAxNi85KSB7XG4gICAgICAgICAgaGVpZ2h0OiAzMDAlO1xuICAgICAgICAgIHRvcDogLTEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86IDE2LzkpIHtcbiAgICAgICAgICB3aWR0aDogMzAwJTtcbiAgICAgICAgICBsZWZ0OiAtMTAwJTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgd2lkdGg6IDQwMCU7XG4gICAgICAgICAgICBsZWZ0OiAtMTQwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGVhZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDUwKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxMnB4O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHdpZHRoOiAkd3JhcC13aWR0aDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogYXV0byByZW0tY2FsYygyMCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMC44O1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtNSk7XG4gICAgICB9XG5cbiAgICAgIC5rdXRvdGVuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHN1YjtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgJi50MSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI4LjhweCAqIDAuNztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnQyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzJweCAqIDAuNztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnQzIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDBweCAqIDAuNztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnQ0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDBweCAqIDAuNztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnQ1IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzguNHB4ICogMC43O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYudDYge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMS4ycHggKiAwLjc7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi50NyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwNHB4ICogMC43O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYudDgge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMC40cHggKiAwLjc7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi50OSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM2LjhweCAqIDAuNztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnQxMCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMzLjZweCAqIDAuNztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnQxMSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDExLjJweCAqIDAuNztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmVuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICAgIH1cbiAgICB9XG5cdFx0XHRcdFxuXHRcdFx0XHQudG8tcHQge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRib3R0b206IDE1cHg7XG5cdFx0XHRcdFx0ei1pbmRleDogMTA7XG5cdFx0XHRcdFx0d2lkdGg6IDI4MHB4O1xuXHRcdFx0XHRcdGhlaWdodDogODBweDtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdGJvdHRvbTogdnctc3AoODBweCk7XG5cdFx0XHRcdFx0XHR3aWR0aDogdnctc3AoMjgwcHgpO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiB2dy1zcCg4NXB4KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1vdXQ7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0PiBzcGFuIHtcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYm9yZGVyIC40cyBlYXNlLW91dDtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAycmVtO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwLjZlbSAxLjhlbTtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjVlbTtcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMGVtO1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDAuOWVtO1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAuNmVtIDEuMGVtO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDEuMGVtO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdHBvbHlsaW5lIHtcblx0XHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2Utb3V0O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmOmxpbmssXG5cdFx0XHRcdFx0XHQmOnZpc2l0ZWQge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyRjdBO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRcdD4gc3BhbiB7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBvbHlsaW5lIHtcbiAgICAgICAgIHN0cm9rZTogJHdoaXRlO1xuICAgICAgICB9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICMwMDJGN0E7XG5cdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdFx0PiBzcGFuIHtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICMwMDJGN0E7XG4gICAgICAgIHBvbHlsaW5lIHtcbiAgICAgICAgIHN0cm9rZTogIzAwMkY3QTtcbiAgICAgICAgfVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG4gICAgXG5cdFx0XHRcdC5zY3JvbGwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtNjBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuOHMgZWFzZS1vdXQ7XG4gICAgICBhbmltYXRpb246IHNjcm9sbC1sb29wIDNzIGluZmluaXRlIGN1YmljLWJlemllcigwLjYxNSwuMTksLjMwNSwuOTEpO1xuXG4gICAgICAmLnNjcm9sbGVkIHtcbiAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMTA0cHg7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5uZXIge1xuICAgIHdpZHRoOiAkd3JhcC13aWR0aDtcbiAgICBtYXJnaW46IGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogYXV0byByZW0tY2FsYygyMCk7XG4gICAgfVxuICB9XG5cbiAgPiBkaXYuYWJvdXQsIC8vIDFcbiAgPiBkaXYuc2NoZWR1bGUsIC8vIDNcbiAgPiBkaXYuaW50ZXJ2aWV3LCAvLyA0XG4gIHtcbiAgICBoMiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiBkaXYubWVzc2FnZSwgLy8gMlxuICA+IGRpdi53b21hbiAvLzVcbiAge1xuICAgIC5wYW5lbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMCk7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiBkaXYuYWJvdXQgeyAvLyAxXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9iZy1hYm91dC5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTIwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuXG4gICAgaDIge1xuICAgICAgaW1nIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDogMTI4cHg7XG4gICAgICAgIH0gICAgICAgIFxuICAgICAgfVxuICAgIH1cblxuICAgIC5sZWFkIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiA0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuXG4gICAgYS5yZWFkbW9yZSB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogaHZyLWJhY2stcHVsc2Utd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICBwb2x5bGluZSB7XG4gICAgICAgICAgc3Ryb2tlOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IGRpdi5tZXNzYWdlIHsgLy8gMlxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmctbWVzc2FnZS5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjApO1xuXG4gICAgLmNlbyB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtNTApO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygtNTApIGF1dG8gMDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wYW5lbCB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDApIHJlbS1jYWxjKDIwKSByZW0tY2FsYygyMCk7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICB3aWR0aDogMTEycHg7XG4gICAgICAgICAgfSAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYS5yZWFkbW9yZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICBwb2x5bGluZSB7XG4gICAgICAgICAgc3Ryb2tlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgIHBvbHlsaW5lIHtcbiAgICAgICAgICAgIHN0cm9rZTogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gZGl2LnNjaGVkdWxlIHsgLy8gM1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTEyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1ODBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYm90dG9tOiA2MHB4O1xuICAgICAgbGVmdDogNTAlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGhlaWdodDogNDgwcHg7XG4gICAgICAgIGJvdHRvbTogNDBweDtcbiAgICAgICAgbGVmdDogMTAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgd2lkdGg6IDE5N3B4O1xuICAgICAgICB9ICAgICAgICBcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAmICsgcCB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvIHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5waG90byB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2Juci10b3Atc2NoZWR1bGUuanBnKSBuby1yZXBlYXQgMCAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNzIpIDA7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4MCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMDApO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYm5yLXRvcC1zY2hlZHVsZS1zcC5qcGcpO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTIwKTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNjApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG5cbiAgICAgIC5wYW5lbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTIwKSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgMDtcbiAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDE1MCkgcmVtLWNhbGMoLTIwKSBhdXRvIHJlbS1jYWxjKDApO1xuICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcblxuICAgICAgICB9XG4gICAgICAgIGEucmVhZG1vcmUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogaHZyLWJhY2stcHVsc2Utd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAgICAgICBwb2x5bGluZSB7XG4gICAgICAgICAgICAgIHN0cm9rZTogJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gZGl2LmludGVydmlldyB7IC8vIDRcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3R4dC1pbnRlcnZpZXctYmcuc3ZnKSBuby1yZXBlYXQgLTU1cHggY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTUwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogJHdyYXAtd2lkdGg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGxpZ2h0LWdyYXk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiBhdXRvIHJlbS1jYWxjKDIwKSByZW0tY2FsYyg0MCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgaW50ZXJ2aWV3LWJnLWxpbmUoKTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxOTRweDtcbiAgICAgICAgfSAgICAgICAgXG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLXdyYXAge1xuICAgICAgQGluY2x1ZGUgaW50ZXJ2aWV3LWNhcmQtd3JhcCgpO1xuICAgIH1cbiAgfVxuXG4gID4gZGl2LndvbWFuIHsgLy8gNVxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmctdG9wLXdvbWFuLmpwZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzMCkgMCByZW0tY2FsYygwKTtcblxuICAgIC5sYWRpZXMge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTkwKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtMzApO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDk0JTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFuZWwge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDApIHJlbS1jYWxjKDIwKSByZW0tY2FsYygyMCk7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkcGluay1jb2xvcjtcblxuICAgICAgaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkcGluay1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDEwKSBhdXRvIHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICB9XG5cbiAgICAgIGEucmVhZG1vcmUge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgcG9seWxpbmUge1xuICAgICAgICAgIHN0cm9rZTogJGJsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBodnItYmFjay1wdWxzZS1waW5rO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwaW5rLWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICBwb2x5bGluZSB7XG4gICAgICAgICAgICBzdHJva2U6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9ICAgIFxuICB9XG59XG5cbi8qXG4gKiDkuIvlsaTjg5rjg7zjgrjlhbHpgJpcbiAqL1xuYm9keS5wYWdlIHtcbiAgLnRpdGxlLWFyZWEge1xuICAgIG1hcmdpbi10b3A6IDEwNHB4O1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgIGhlaWdodDogMjgycHg7XG4gICAgfVxuXG4gICAgLnRpdGxlLWlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBsZWZ0OiAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIC01MCUpO1xuICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cblxuICAgICAgaDEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiA0cHg7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRpdGxlLXRleHQge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIG1haW4ge1xuICAgICAgd2lkdGg6ICR3cmFwLXdpZHRoO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuXHRcdFx0XHRcdFx0Ly9vdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogYXV0byByZW0tY2FsYygyMCk7XG4gICAgICB9XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHQvL292ZXJmbG93LXg6IHZpc2libGU7XG5cdFx0XHRcdFx0XHR9XG5cbiAgICAgIC5sZWFkIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygzMCkgYXV0bztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYwKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qXG4gKiDku6Pooajjg6Hjg4Pjgrvjg7zjgrhcbiAqL1xuYm9keS5tZXNzYWdlIHtcbiAgLnRpdGxlLWFyZWEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS1tZXNzYWdlLmpwZyk7XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjAwJTtcbiAgICAgIGhlaWdodDogMTAwMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAtMjtcbiAgICAgIGJvdHRvbTogLTU1JTtcbiAgICAgIGxlZnQ6IC01MCU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjBkZWcpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGJvdHRvbTogLTM1JTtcbiAgICAgICAgbGVmdDogLTQwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtYWluIHtcbiAgICAgIC5sZWFkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNzIpO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgdGV4dC1qdXN0aWZ5OiBpbnRlci1pZGVvZ3JhcGg7XG4gICAgICB9XG5cbiAgICAgIC5zaWduYXR1cmUge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNlbyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtODBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLypcbiAqIOS6i+alree0ueS7i1xuICovXG5ib2R5LmJ1c2luZXNzIHtcbiAgLnRpdGxlLWFyZWEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS1idXNpbmVzcy5qcGcpO1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIG1haW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDExMCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuICAgICAgfVxuXG4gICAgICAubGVhZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDcyKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1MCkgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0YWJsZS5jb21wYXJpc29uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuXG4gICAgICAubGluZXVwIHtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAmOm5vdCg6bnRoLWNoaWxkKC1uKzIpKSxcbiAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgIH1cblxuICAgICAgaW1nLmxpbmV1cC1pbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qXG4gKiDjgqTjg7Pjgr/jg5Pjg6Xjg7xcbiAqL1xuYm9keS5pbnRlcnZpZXcge1xuICAudGl0bGUtYXJlYSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iZy1wYWdlLWludGVydmlldy5qcGcpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMCUgY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGludGVydmlldy1iZy1saW5lKDE2LjYlLCAtMjElLCA4ODAlKTtcbiAgICB9XG5cbiAgICBtYWluIHtcbiAgICAgIC5jYXJkLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSBpbnRlcnZpZXctY2FyZC13cmFwKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qXG4gKiDjgqTjg7Pjgr/jg5Pjg6Xjg7wg5a2Q44Oa44O844K45YWx6YCaXG4gKi9cbmJvZHkubmksXG5ib2R5LnNuLFxuYm9keS5tbixcbmJvZHkuaG0sXG5ib2R5LmprLFxuYm9keS5rayxcbmJvZHkua2YsXG5ib2R5LnRtLFxuYm9keS55cyxcbmJvZHkubXksXG5ib2R5LnRrLFxuYm9keS5jbixcbmJvZHkubmEsXG5ib2R5LmFpIHtcbiAgLmNvbnRlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAudGl0bGUtYXJlYSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3NSU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAtMjtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg4MGRlZywgJGJsYWNrIDQ1JSwgdHJhbnNwYXJlbnQgNDUlKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5uZXIge1xuICAgICAgd2lkdGg6ICR3cmFwLXdpZHRoO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IGF1dG8gcmVtLWNhbGMoMjApO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzAlIGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLm51bWJlci13cmFwIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4ICR3aGl0ZSBzb2xpZDtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMSk7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAtMTBweDtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubGVhZCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBoMSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIGJvdHRvbTogaW5pdGlhbDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMpIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBtYWluIHtcbiAgICBoMiB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTI1KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNDApO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3R4dC1pbnRlcnZpZXctcS5zdmcpIG5vLXJlcGVhdCAwIDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgIGhlaWdodDogNDNweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtNSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xMCk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC00MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaW50ZXJ2aWV3LWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vcHBvc2l0ZSB7XG4gICAgICA+IGRpdjpudGgtY2hpbGQoMSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pbWctY3VzdG9tLXBvc2l0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMzUlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHdpZHRoOiAxMjAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgd2lkdGg6IDExMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lc3NhZ2Uge1xuICAgICAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciAkbGlnaHQtZ3JheTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSByZW0tY2FsYygyMCk7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMDApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDcwJSBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA2MCUgY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuY2VsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLCAwLjg1KTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYmctY292ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBkaXYuaW50ZXJ2aWV3IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIC5jb250ZW50LXdpZHRoIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGRpdiA+IGRpdjpudGgtY2hpbGQoMSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH0gICAgICAgIFxuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGludGVydmlldy1iZy1saW5lKDI0JSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmQtd3JhcCB7XG4gICAgICBAaW5jbHVkZSBpbnRlcnZpZXctY2FyZC13cmFwKCk7XG4gICAgfVxuICB9XG59XG5cbi8qXG4gKiDjgqTjg7Pjgr/jg5Pjg6Xjg7wg5ZCE44Oa44O844K4XG4gKi9cbmJvZHkubmkge1xuICBAaW5jbHVkZSBpbnRlcnZpZXctZWFjaCgnLi4vaW1nL2JnLXBhZ2UtbmkuanBnJywgJy4uL2ltZy9iZy1wYWdlLW5pLW1lc3NhZ2UuanBnJyk7XG59XG5cbmJvZHkuc24ge1xuICBAaW5jbHVkZSBpbnRlcnZpZXctZWFjaCgnLi4vaW1nL2JnLXBhZ2Utc24uanBnJywgJy4uL2ltZy9iZy1wYWdlLXNuLW1lc3NhZ2UuanBnJyk7XG59XG5cbmJvZHkubW4ge1xuICBAaW5jbHVkZSBpbnRlcnZpZXctZWFjaCgnLi4vaW1nL2JnLXBhZ2UtbW4uanBnJywgJy4uL2ltZy9iZy1wYWdlLW1uLW1lc3NhZ2UuanBnJyk7XG59XG5cbmJvZHkuaG0ge1xuICBAaW5jbHVkZSBpbnRlcnZpZXctZWFjaCgnLi4vaW1nL2JnLXBhZ2UtaG0uanBnJywgJy4uL2ltZy9iZy1wYWdlLWhtLW1lc3NhZ2UuanBnJyk7XG59XG5cbmJvZHkuamsge1xuICBAaW5jbHVkZSBpbnRlcnZpZXctZWFjaCgnLi4vaW1nL2JnLXBhZ2UtamsuanBnJywgJy4uL2ltZy9iZy1wYWdlLWprLW1lc3NhZ2UuanBnJyk7XG59XG5cbmJvZHkua2sge1xuICBAaW5jbHVkZSBpbnRlcnZpZXctZWFjaCgnLi4vaW1nL2JnLXBhZ2Uta2suanBnJywgJy4uL2ltZy9iZy1wYWdlLWtrLW1lc3NhZ2UuanBnJyk7XG59XG5cbmJvZHkua2Yge1xuICBAaW5jbHVkZSBpbnRlcnZpZXctZWFjaCgnLi4vaW1nL2JnLXBhZ2Uta2YuanBnJywgJy4uL2ltZy9iZy1wYWdlLWtmLW1lc3NhZ2UuanBnJyk7XG59XG5cbmJvZHkudG0ge1xuICBAaW5jbHVkZSBpbnRlcnZpZXctZWFjaCgnLi4vaW1nL2JnLXBhZ2UtdG0uanBnJywgJy4uL2ltZy9iZy1wYWdlLXRtLW1lc3NhZ2UuanBnJyk7XG59XG5cbmJvZHkueXMge1xuICBAaW5jbHVkZSBpbnRlcnZpZXctZWFjaCgnLi4vaW1nL2JnLXBhZ2UteXMuanBnJywgJy4uL2ltZy9iZy1wYWdlLXlzLW1lc3NhZ2UuanBnJyk7XG59XG5cbmJvZHkubXkge1xuICBAaW5jbHVkZSBpbnRlcnZpZXctZWFjaCgnLi4vaW1nL2JnLXBhZ2UtbXkuanBnJywgJy4uL2ltZy9iZy1wYWdlLW15LW1lc3NhZ2UuanBnJyk7XG59XG5cbmJvZHkudGsge1xuICBAaW5jbHVkZSBpbnRlcnZpZXctZWFjaCgnLi4vaW1nL2JnLXBhZ2UtdGsuanBnJywgJy4uL2ltZy9iZy1wYWdlLXRrLW1lc3NhZ2UuanBnJyk7XG59XG5cbmJvZHkuY24ge1xuICBAaW5jbHVkZSBpbnRlcnZpZXctZWFjaCgnLi4vaW1nL2JnLXBhZ2UtY24uanBnJywgJy4uL2ltZy9iZy1wYWdlLWNuLW1lc3NhZ2UuanBnJyk7XG59XG5cbmJvZHkubmEge1xuICBAaW5jbHVkZSBpbnRlcnZpZXctZWFjaCgnLi4vaW1nL2JnLXBhZ2UtbmEuanBnJywgJy4uL2ltZy9iZy1wYWdlLW5hLW1lc3NhZ2UuanBnJyk7XG59XG5cbmJvZHkuYWkge1xuICBAaW5jbHVkZSBpbnRlcnZpZXctZWFjaCgnLi4vaW1nL2JnLXBhZ2UtYWkuanBnJywgJy4uL2ltZy9iZy1wYWdlLWFpLW1lc3NhZ2UuanBnJyk7XG59XG5cbi8qXG4gKiDlpbPmgKfnpL7lk6Hjga7lg43jgY3mlrlcbiAqL1xuYm9keS50YWxrIHtcbiAgLmNvbnRlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuICB9XG5cbiAgLnRpdGxlLWFyZWEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS10YWxrLmpwZyk7XG4gICAgaGVpZ2h0OiA1NDJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAlIGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaW5uZXIge1xuICAgICAgd2lkdGg6ICR3cmFwLXdpZHRoO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IGF1dG8gcmVtLWNhbGMoMjApO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzAlIGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLnRpdGxlLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICB0b3A6IGluaXRpYWw7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGluay1jb2xvcjtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICBjb2xvcjogJHBpbmstY29sb3I7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDZweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpIHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoLTEpO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubGFkaWVzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTUwKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcubWFpbiB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMTAlO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZyZXNoLFxuICAgICAgICAuc2VuaW9yIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAzMHB4O1xuXG4gICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpIHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZnJlc2gge1xuICAgICAgICAgIGxlZnQ6IDEwcHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGluay1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VuaW9yIHtcbiAgICAgICAgICByaWdodDogMTAwcHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5sZWFkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmNmZjO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgcmVtLWNhbGMoMjApOy8vIOWLleeUu+ODnOOCv+ODs+OBjOOBguOCi+WgtOWQiO+8miByZW0tY2FsYyg0MCkgcmVtLWNhbGMoMjApIHJlbS1jYWxjKDIwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIHJlbS1jYWxjKDIwKTsvLyDli5XnlLvjg5zjgr/jg7PjgYzjgYLjgovloLTlkIjvvJogcmVtLWNhbGMoMjApIHJlbS1jYWxjKDIwKSByZW0tY2FsYygxMClcbiAgICB9XG5cbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGRpdiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIGRkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuXG4gICAgICAubmFtZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIFxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGEucmVhZG1vcmUge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICBtaW4td2lkdGg6IDI2MHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGh2ci1iYWNrLXB1bHNlLWJsdWU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgcG9seWxpbmUge1xuICAgICAgICAgIHN0cm9rZTogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaWNvLWV4dGVybmFsLXdoaXRlLnN2Zyk7ICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljby1leHRlcm5hbC1ibGFjay5zdmcpIG5vLXJlcGVhdCAwIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbWFpbiB7XG4gICAgLnRpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUwKTtcbiAgICAgIG1hcmdpbi1ib3R0b20gOiByZW0tY2FsYygzMCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDcwKTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNik7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHN1YjtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICB3aWR0aDogNDlweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICB3aWR0aDogNTEuOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gICAgICAgICAgXG5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9ICAgICAgICAgIFxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMjAwcHg7XG4gICAgICAgIGhlaWdodDogNDMwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxNjBweDtcbiAgICAgICAgcmlnaHQ6IC0yMDBweDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIHdpZHRoOiA4MDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDU2MHB4O1xuICAgICAgICBoZWlnaHQ6IDExMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgcmlnaHQ6IC0xODBweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy90eHQtdGFsay1iZy5zdmcpO1xuICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudGl0bGUtMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDE0MHB4O1xuICAgICAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgIGxlZnQ6IC02MDBweDtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGxlZnQ6IC00MDBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wOiA2MDBweDtcbiAgICAgICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgICAgICBsZWZ0OiAtNzMwcHg7XG4gICAgICAgIH0gICAgICAgIFxuICAgICAgfVxuXG4gICAgICAmLnRpdGxlLTMge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMzAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA4MzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9ICAgICAgICBcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC0yIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUwKTtcbiAgICB9XG5cbiAgICAuYmlnLXBpYyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgfVxuXG4gICAgZGwge1xuICAgICAgZHQuaW50LTEsXG4gICAgICBkdC5pbnQtMiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICB9XG5cbiAgICAgIGR0LmludC0xIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICB9XG5cbiAgICAgIGR0LmludC0yIHtcbiAgICAgICAgY29sb3I6ICRwaW5rLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtMiB7XG4gICAgICA+IGRpdjpudGgtY2hpbGQoMSkge1xuICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGRpdjpudGgtY2hpbGQoMikge1xuICAgICAgICBvcmRlcjogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKlxuICog5rGC44KB44KL5Lq65p2QXG4gKi9cbmJvZHkudGFsZW50IHtcbiAgLnRpdGxlLWFyZWEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS10YWxlbnQuanBnKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzAlIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS10YWxlbnQtc3AuanBnKTtcbiAgICB9XG4gIH1cblxuICAubGVhZCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNzIpICFpbXBvcnRhbnQ7XG5cbiAgICArIHAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2hhcmFjdGVyaXN0aWMge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUwKTtcblxuICAgIC5wYW5lbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgLnRpdGxlLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICNkN2UxZTE7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYS5yZWFkbW9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cbiAgfVxufVxuXG4vKlxuICog5pWZ6IKy56CU5L+u44Kr44Oq44Kt44Ol44Op44OgXG4gKi9cbmJvZHkudHJhaW5pbmcge1xuICAudGl0bGUtYXJlYSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iZy1wYWdlLXRyYWluaW5nLmpwZyk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDcwJSBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2JnLXBhZ2UtdHJhaW5pbmctc3AuanBnKTtcbiAgICB9XG4gIH1cblxuICAubGVhZCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoODApICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNzIpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLnNjaGVkdWxlIHtcbiAgICBkbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgZHQ6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbi1jb2xvcjtcbiAgICAgICAgICB0b3A6IDM4cHg7XG4gICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogM3B4O1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogLTU5cHg7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlcjogNDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItbGVmdDogMjBweCBzb2xpZCAkZ3JlZW4tY29sb3I7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIGJvdHRvbTogLTM2cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLWNvbG9yO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDAlLCA1MCUgMTAwJSk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblxuICAgICAgICBkaXYge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQpIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wYW5lbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAyMHB4O1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMyKTtcbiAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcblxuICAgICAgZGl2IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIH1cbiAgfVxuXG4gIC51c2FtaSB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICA+IGRpdiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgfVxuICB9XG5cbiAgdGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYwKTtcblxuICAgIHRoZWFkLFxuICAgIHRib2R5IHtcbiAgICAgIHRoLFxuICAgICAgdGQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuICAgICAgfVxuXG4gICAgICB0ZCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKlxuICog5YWI6Lyp56S+5ZOh44GuMeaXpVxuICovXG5ib2R5LnNjaGVkdWxlIHtcbiAgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvdHh0LXNjaGVkdWxlLWJnLnN2Zykgbm8tcmVwZWF0IDEwMSUgODgwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNTBweDtcbiAgICB6LWluZGV4OiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDBweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwNSUgNzcwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDUlIDY4MHB4O1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB0b3A6IDcwMHB4O1xuICAgICAgbGVmdDogLTM1JTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0zMGRlZyk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgd2lkdGg6IDIwMCU7XG4gICAgICAgIGxlZnQ6IC02MCU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0zMGRlZyk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB3aWR0aDogMzAwJTtcbiAgICAgICAgdG9wOiAxMDAwcHg7XG4gICAgICAgIGxlZnQ6IC0xMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWFyZWEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS1zY2hlZHVsZS5qcGcpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNjAwKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3MCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxODAlO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTUlIHRvcDtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNTUwKTtcbiAgICB9XG5cbiAgICAuaW5uZXIge1xuICAgICAgd2lkdGg6ICR3cmFwLXdpZHRoO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MDApO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IGF1dG8gcmVtLWNhbGMoMjApO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1NTApO1xuICAgICAgfVxuXG4gICAgICAudGl0bGUtaW5uZXIge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDAwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg4OCkgcmVtLWNhbGMoNDApO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgICAgbGVmdDogLTIwcHg7XG4gICAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDApIHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUtdGV4dCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG1haW4ge1xuICAgIC5pbmZvcm1hdGlvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMjtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ4KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSBzb2xpZDtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQ0KTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IC0xMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jaXJjbGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEpO1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgdG9wOiAyOHB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgbGVmdDogMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogMjhweDtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogNDNweDtcbiAgICAgIH1cblxuICAgICAgJi5sYXN0LWNoaWxkIHtcbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGNpcmNsZSB7XG4gICAgICAgICAgY3g6IDEyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubGFzdC1jaGlsZCB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRpbWUge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5uby10aXRsZSB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN1bW1hcnkge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtMjApO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLypcbiAqIOekvuWToeOCouODs+OCseODvOODiFxuICovXG5ib2R5LnF1ZXN0aW9ubmFpcmUge1xuICAudGl0bGUtYXJlYSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iZy1wYWdlLXF1ZXN0aW9ubmFpcmUuanBnKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzAlIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS1xdWVzdGlvbm5haXJlLXNwLmpwZyk7XG4gICAgfVxuICB9XG5cbiAgbWFpbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnF1ZXN0aW9uLWlubmVyIHtcbiAgICAgIHdpZHRoOiAkd3JhcC13aWR0aDtcbiAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZmM7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgLnF1ZXN0aW9uLXdpZHRoIHtcbiAgICAgICAgICB3aWR0aDogJHdyYXAtd2lkdGg7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvOyAgICAgICAgICBcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGRpdiA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSByZW0tY2FsYygyMCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAucXVlc3Rpb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubnVtYmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbW1lbnQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkY2YwZmE7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgICAgZHQge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJvcmRlcjogMTBweCB0cmFuc3BhcmVudCBzb2xpZDtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogOHB4O1xuICAgICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDhweDtcbiAgICAgICAgICAgICAgdG9wOiAtMTlweDtcbiAgICAgICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gZGl2Om50aC1jaGlsZCgyKSB7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDUlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogODAlO1xuXG4gICAgICAgICAgICAmLnF1ZXN0aW9ubmFpcmUtNSB7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICB3aWR0aDogNjAwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLypcbiAqIFNOU+OCt+OCp+OCouODnOOCv+ODs1xuICovXG4uc25zLWJ1dHRvbnMge1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bWFyZ2luLXRvcDogNjBweDtcblx0bWFyZ2luLWJvdHRvbTogNjBweDtcblx0Lm5zbnNidXR0dG9ubGlzdCBzdmcge1xuXHRcdHdpZHRoOiAyMHB4O1xuXHRcdGhlaWdodDogMjBweDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuXHRcdC5uc25zYnV0dHRvbmxpc3Qgc3ZnIHtcblx0XHRcdHdpZHRoOiAzMnB4O1xuXHRcdFx0aGVpZ2h0OiAzMnB4O1xuXHRcdH1cblx0fVxufVxuXG4vKlxuICog5oCn5qC85Yil5Za25qWt44K/44Kk44OX6Ki65patXG4gKi9cbmJvZHkucGVyc29uYWxpdHl0ZXN0IHtcbiAgLnRpdGxlLWFyZWEge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iZy1wYWdlLXB0LmpwZyk7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiA0MS4xNjY2NjY2NjY2NjY3JTtcblx0XHRcdFx0fVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS1wdC1zcC5qcGcpO1xuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMTExLjczMzMzMzMzMzMzMzMlO1xuXHRcdFx0XHRcdFx0fVxuICAgIH1cbiAgfVxuXHRcdFxuXHRcdC5wdC10aXRsZS1pbm5lciB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBhZGRpbmctdG9wOiB2dy1wdCgxMjBweCk7XG5cdFx0XHQucHQtdGl0bGUtbGVhZCB7XG5cdFx0XHRcdG9yZGVyOiAxO1xuXHRcdFx0XHRmb250LXNpemU6IHZ3LXB0KDcwcHgpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHZ3LXB0KDI1cHgpO1xuXHRcdFx0fVxuXHRcdFx0LnB0LXRpdGxlLW1haW4ge1xuXHRcdFx0XHRvcmRlcjogMjtcblx0XHRcdFx0Zm9udC1zaXplOiB2dy1wdCg1MnB4KTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyRjdBO1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdFx0cGFkZGluZzogdnctcHQoMTlweCkgdnctcHQoMzBweCkgdnctcHQoMThweCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IHZ3LXNwKDIxMHB4KTtcblx0XHRcdFx0LnB0LXRpdGxlLWxlYWQge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogdnctc3AoNTZweCk7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogdnctc3AoMjM1cHgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5wdC10aXRsZS1tYWluIHtcblx0XHRcdFx0XHRmb250LXNpemU6IHZ3LXNwKDQycHgpO1xuXHRcdFx0XHRcdHBhZGRpbmc6IHZ3LXNwKDE4cHgpIHZ3LXNwKDE2cHgpIHZ3LXNwKDE2cHgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuICAucHQtcmVzdWx0cy1sZWFkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLW91dDtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHQmLnNob3cge1xuXHRcdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdFx0XHRvcGFjaXR5OiAxLjA7XG5cdFx0XHR9XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXJnaW4tdG9wOiAxMDRweDtcblx0XHRcdHBhZGRpbmc6IHZ3LXB0KDU2cHgpIDAgdnctcHQoMzBweCk7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRmb250LXNpemU6IHZ3LXB0KDU2cHgpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMGVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuXHRcdFx0PiBzcGFuIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyRjdBO1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRwYWRkaW5nOiB2dy1wdCgxNXB4KSB2dy1wdCgyNHB4KSB2dy1wdCgxM3B4KTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDAuMWVtO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDAuMWVtO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDgwcHg7XG5cdFx0XHRcdHBhZGRpbmc6IHZ3LXNwKDIwcHgpIDAgdnctc3AoMjRweCk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogdnctc3AoNTFweCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjZlbTtcblx0XHRcdFx0PiBzcGFuIHtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4wZW07XG5cdFx0XHRcdFx0cGFkZGluZzogdnctc3AoMTdweCkgdnctc3AoMTdweCkgdnctc3AoMTNweCk7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LmNvbnRlbnQgbWFpbiB7XG5cdFx0XHQucHQtaW5uZXIge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogdnctcHQoODRweCk7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiB2dy1wdCgxMjBweCk7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiB2dy1zcCg1MHB4KTtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogdnctc3AoODBweCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0LnNucy1idXR0b25zIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQucHQtbGVhZCB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogdnctcHQoNDBweCk7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHZ3LXNwKDQ0cHgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogdnctcHQoMjlweCk7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNmVtO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEuNmVtO1xuXHRcdFx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMSl7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogdnctc3AoMjRweCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQucHQtcXVlc3Rpb24tbnVtYmVyIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiB2dy1wdCg0MHB4KTtcblx0XHRcdFx0Zm9udC1zaXplOiB2dy1wdCgzNnB4KTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMGVtO1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0Y29sb3I6ICMwMDJGN0E7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogdnctc3AoMzJweCk7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogdnctc3AoMzJweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5wdC1xdWVzdGlvbi1jdXJyZW50IHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHZ3LXB0KDQwcHgpO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdD4gc3BhbiB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0d2lkdGg6IHZ3LXB0KDI4cHgpO1xuXHRcdFx0XHRcdGhlaWdodDogdnctcHQoMjhweCk7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0XHR0ZXh0LWluZGVudDogLTkwMDBweDtcblx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRtYXJnaW46IDAgdnctcHQoNDBweCk7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI0QxRDFEMTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2Utb3V0O1xuXHRcdFx0XHRcdCYuY3VycmVudCB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyRjdBO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LnB0LXF1ZXN0aW9uLW91dGVyIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRtYXJnaW46IDAgY2FsYygwcHggLSAje3JlbS1jYWxjKDIwKX0pO1xuXHRcdFx0XHQucHQtcXVlc3Rpb24taXRlbSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHQmI3B0LXExIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQucHQtcXVlc3Rpb24tYm94IHtcblx0XHRcdFx0XHRcdGJvcmRlci10b3A6IHZ3LXB0KDhweCkgc29saWQgIzAwMkY3QTtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNFQUVBRUE7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiB2dy1wdCgzMHB4KSB2dy1wdCg1MHB4KSB2dy1wdCg1MHB4KTtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wLXdpZHRoOiB2dy1zcCg4cHgpO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiB2dy1zcCgyMHB4KSB2dy1zcCgyMHB4KSB2dy1zcCg1MHB4KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC5wdC1xdWVzdGlvbi1oZWFkIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIFwic2Fucy1zZXJpZlwiO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHZ3LXB0KDUwcHgpO1xuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4wZW07XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzAwMkY3QTtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogdnctcHQoMzJweCk7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogdnctc3AoNDZweCk7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogdnctc3AoMzZweCk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC5wdC1xdWVzdGlvbi1ib2R5IHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiB2dy1wdCg1MHB4KTtcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMGVtO1xuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiB2dy1zcCg0NnB4KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQucHQtcXVlc3Rpb24teWVzbm8ge1xuXHRcdFx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiB2dy1wdCg3MHB4KSAwIDA7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogdnctc3AoNTcycHgpO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQ+IGxpIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDQ2JTtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiB2dy1wdCgxMTJweCk7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogdnctc3AoOTZweCk7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogdnctc3AoNTZweCk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIFwic2Fucy1zZXJpZlwiO1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogdnctcHQoNDJweCk7XG5cdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMGVtO1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2Utb3V0O1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiB2dy1zcCgzOHB4KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0JjpsaW5rLFxuXHRcdFx0XHRcdFx0XHRcdCY6dmlzaXRlZCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMS4wO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHRcdFx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdCYueWVzIHtcblx0XHRcdFx0XHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdFx0XHRcdFx0JjpsaW5rLFxuXHRcdFx0XHRcdFx0XHRcdFx0Jjp2aXNpdGVkIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMkY3QTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdFx0XHRcdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDJGN0E7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdCYubm8ge1xuXHRcdFx0XHRcdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0XHRcdFx0XHQmOmxpbmssXG5cdFx0XHRcdFx0XHRcdFx0XHQmOnZpc2l0ZWQge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNzk3OTc5O1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0XHRcdFx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzc5Nzk3OTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5wdC1yZXN1bHRzLW91dGVyIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGMoMHB4IC0gI3tyZW0tY2FsYygyMCl9KTtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IGNhbGMoMHB4IC0gI3tyZW0tY2FsYygyMCl9KTtcblx0XHRcdFx0fVxuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLW91dDtcblx0XHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHQmLnNob3cge1xuXHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdFx0b3BhY2l0eTogMS4wO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5wdC1yZXN1bHRzLWl0ZW0ge1xuXHRcdFx0XHRcdG9yZGVyOiAyO1xuXHRcdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdFx0XHRib3JkZXItdG9wOiB2dy1wdCgxM3B4KSBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRib3JkZXItbGVmdDogdnctcHQoNDVweCkgc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiB2dy1wdCgyODNweCk7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdFx0cGFkZGluZzogdnctcHQoMzZweCkgdnctcHQoNzBweCkgdnctcHQoMzZweCkgdnctcHQoMzc2cHgpO1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IHZ3LXB0KDMycHgpO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogdnctc3AoMTc4cHgpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IHZ3LXNwKDQycHgpO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogdnctc3AoMTMycHgpIHZ3LXNwKDQwcHgpIHZ3LXNwKDQwcHgpIHZ3LXNwKDQwcHgpO1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogdnctc3AoNDRweCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5wdC1yZXN1bHRzLWltYWdlIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdGxlZnQ6IHZ3LXB0KDBweCAtIDQ1cHgpO1xuXHRcdFx0XHRcdFx0dG9wOiB2dy1wdCgwcHggLSAxM3B4KTtcblx0XHRcdFx0XHRcdHdpZHRoOiB2dy1wdCgzNjdweCk7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IHZ3LXB0KDI1MnB4KTtcblx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDBweCAzcHggNnB4IHJnYmEoMCwwLDAsMC4xNik7XG5cdFx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdFx0XHRcdFx0b2JqZWN0LXBvc2l0aW9uOiA1MCUgNTAlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IHZ3LXNwKDBweCAtIDQycHgpO1xuXHRcdFx0XHRcdFx0XHR0b3A6IHZ3LXNwKDBweCAtIDE3OHB4KTtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IHZ3LXNwKDQxMnB4KTtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiB2dy1zcCgyODJweCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5wdC1yZXN1bHRzLWhlYWRpbmcge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiB2dy1wdCgzNHB4KTtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjBlbTtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogdnctcHQoMjRweCk7XG5cdFx0XHRcdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDJGN0E7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IHZ3LXB0KDhweCkgdnctcHQoMTJweCkgdnctcHQoNnB4KTtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDAuMWVtO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDAuMWVtO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0YnIge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogdnctc3AoMzZweCk7XG5cdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjZlbTtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogdnctc3AoMzJweCk7XG5cdFx0XHRcdFx0XHRcdD4gc3BhbiB7XG5cdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMGVtO1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IHZ3LXNwKDEwcHgpIHZ3LXNwKDE0cHgpIHZ3LXNwKDEwcHgpO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdGJyIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQucHQtcmVzdWx0cy10ZXh0IHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogdnctcHQoMjJweCk7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS42ZW07XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiB2dy1zcCgyMnB4KTtcblx0XHRcdFx0XHRcdFx0YnIge1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji5zaG93IHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHRvcmRlcjogMTtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiB2dy1wdCgxMDBweCk7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wOiB2dy1wdCgyNnB4KSBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6IHZ3LXB0KDM3NnB4KTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IHZ3LXB0KDI2cHgpIHZ3LXB0KDQ0cHgpIHZ3LXB0KDQ4cHgpIHZ3LXB0KDQ2MHB4KTtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiB2dy1zcCg0MHB4KTtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogdnctc3AoMjkzcHgpO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiB2dy1zcCgxMTBweCkgdnctc3AoNDBweCkgdnctc3AoNDBweCkgdnctc3AoNDBweCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiB2dy1wdCg2cHgpO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyRjdBO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiB2dy1zcCg4cHgpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQucHQtcmVzdWx0cy1pbWFnZSB7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0dG9wOiB2dy1wdCgwcHggLSAyNnB4KTtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IHZ3LXB0KDQ2MXB4KTtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiB2dy1wdCgzNDdweCk7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHRcdHRvcDogdnctc3AoMHB4IC0gMjkzcHgpO1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiB2dy1zcCg0OTVweCk7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiB2dy1zcCgzNjRweCk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC5wdC1yZXN1bHRzLWhlYWRpbmcge1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHZ3LXB0KDM2cHgpO1xuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS42ZW07XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHZ3LXB0KDI4cHgpO1xuXHRcdFx0XHRcdFx0XHQ+IHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjBlbTtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiB2dy1wdCg4cHgpIHZ3LXB0KDE4cHgpIHZ3LXB0KDhweCk7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0YnIge1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogdnctc3AoNDJweCk7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogdnctc3AoMzJweCk7XG5cdFx0XHRcdFx0XHRcdFx0PiBzcGFuIHtcblx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IHZ3LXNwKDEzcHgpIHZ3LXNwKDE0cHgpIHZ3LXNwKDEwcHgpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LnB0LXRvaG9tZSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHZ3LXB0KDgwcHgpO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcblx0XHRcdFx0fVxuXHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRmb250LXNpemU6IHZ3LXB0KDQycHgpO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjBlbTtcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2Utb3V0O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAuNmVtIDIuMGVtO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiB2dy1zcCgzOHB4KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JjpsaW5rLFxuXHRcdFx0XHRcdCY6dmlzaXRlZCB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMmRiMjcyO1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExO1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG59XG5cbi8qXG4gKiDlg43jgY3mlrnmlLnpnalcbiAqL1xuYm9keS5yZWZvcm0ge1xuICAudGl0bGUtYXJlYSB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2JnLXBhZ2UtcmVmb3JtLmpwZyk7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiA0MS4xNjY2NjY2NjY2NjY3JTtcblx0XHRcdFx0fVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS1yZWZvcm0tc3AuanBnKTtcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDExMS43MzMzMzMzMzMzMzMzJTtcblx0XHRcdFx0XHRcdH1cbiAgICB9XG4gIH1cblx0XHRcblx0XHQucHQtdGl0bGUtaW5uZXIge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRwYWRkaW5nLXRvcDogdnctcHQoNDBweCk7XG5cdFx0XHQucHQtdGl0bGUtbGVhZCB7XG5cdFx0XHRcdG9yZGVyOiAxO1xuXHRcdFx0XHRmb250LXNpemU6IHZ3LXB0KDQwcHgpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHZ3LXB0KDI1cHgpO1xuXHRcdFx0fVxuXHRcdFx0LnB0LXRpdGxlLW1haW4ge1xuXHRcdFx0XHRvcmRlcjogMjtcblx0XHRcdFx0Zm9udC1zaXplOiB2dy1wdCg4MHB4KTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyMjU5O1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdFx0cGFkZGluZzogdnctcHQoMTlweCkgdnctcHQoMzBweCkgdnctcHQoMThweCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IHZ3LXNwKDgwcHgpO1xuXHRcdFx0XHQucHQtdGl0bGUtbGVhZCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiB2dy1zcCgzMnB4KTtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiB2dy1zcCgxMnB4KTtcblx0XHRcdFx0fVxuXHRcdFx0XHQucHQtdGl0bGUtbWFpbiB7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogdnctc3AoNTZweCk7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdFx0XHRcdHBhZGRpbmc6IHZ3LXNwKDE4cHgpIHZ3LXNwKDE2cHgpIHZ3LXNwKDE2cHgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5jb250ZW50IG1haW4ge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0XHQucmVmb3JtLWxlYWQge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogdnctcHQoODBweCk7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiB2dy1wdCgxMDBweCk7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiB2dy1zcCg1MHB4KTtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogdnctc3AoNTBweCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0d2lkdGg6IHZ3LXB0KDEyMDBweCk7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHR3aWR0aDogdnctcHQoMTYwMHB4KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC50ZXh0IHtcblx0XHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAje3Z3LXB0KDIwcHgpfSAtICN7dnctcHQoMjMwcHgpfSk7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiB2dy1wdCgyMHB4KTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMi41ZW07XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IHZ3LXB0KDZweCkgc29saWQgIzAwMkY3QTtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHZ3LXB0KDI4cHgpO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAje3Z3LXB0KDIwcHgpfSAtICN7dnctcHQoMjgwcHgpfSk7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHZ3LXB0KDI2cHgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiB2dy1zcCgyMnB4KTtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyLjBlbTtcblx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0OiB2dy1zcCg0cHgpIHNvbGlkICMwMDJGN0E7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHZ3LXNwKDE2cHgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQucGVvcGxlIHtcblx0XHRcdFx0XHR3aWR0aDogdnctcHQoMjMwcHgpO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRcdFx0d2lkdGg6IHZ3LXB0KDI4MHB4KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiB2dy1zcCgzMnB4KTtcblx0XHRcdFx0XHRcdHdpZHRoOiB2dy1zcCgyNjBweCk7XG5cdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LmltYWdlIHtcblx0XHRcdFx0XHRcdHdpZHRoOiA2MCU7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiB2dy1zcCgyNHB4KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LmNhcHRpb24ge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiB2dy1wdCgxOHB4KTtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyLjBlbTtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0PiBzcGFuIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICMwMDIyNTk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogdnctcHQoMjRweCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiB2dy1zcCgyMHB4KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5yZWZvcm0tc2VjLW91dGVyIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IHZ3LXB0KDEyMHB4KTtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IHZ3LXNwKDgwcHgpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5yZWZvcm0tc2VjIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQucmVmb3JtLXNlYy1tYWluIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiB2dy1wdCg3MHB4KTtcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiB2dy1wdCg1MHB4KTtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiB2dy1zcCg1NXB4KTtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogdnctc3AoMzBweCk7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRoMiwgaDMsIHAge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQuaGVhZGluZyB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG5cdFx0XHRcdFx0XHRcdGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0XHRcdFx0Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6IFwic2xudFwiIDA7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IHZ3LXB0KDNweCk7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHZ3LXB0KDcycHgpO1xuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4wZW07XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiB2dy1wdCgyMHB4KTtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogdnctcHQoMzJweCk7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHZ3LXNwKDU4cHgpO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiB2dy1zcCgtMzBweCk7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiB2dy1zcCgzMHB4KTtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiB2dy1zcCgzMHB4KTtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogdnctc3AoOHB4KTtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiB2dy1zcCgzcHgpO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHZ3LXNwKDMycHgpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQucXVlc3Rpb24ge1xuXHRcdFx0XHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDIyNTk7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHZ3LXB0KDI2cHgpO1xuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiB2dy1wdCgyMnB4KSB2dy1wdCgyOHB4KSAgdnctcHQoMjBweCk7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogdnctc3AoMjRweCk7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogdnctc3AoMjJweCkgdnctc3AoMjhweCkgIHZ3LXNwKDIwcHgpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQuYW5zd2VyIHtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiB2dy1wdCgtNTBweCk7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IHZ3LXB0KDgwcHgpIHZ3LXB0KDI4cHgpIHZ3LXB0KDMwcHgpO1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiB2dy1zcCgtNTBweCk7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogdnctc3AoNzBweCkgdnctc3AoMzBweCkgdnctc3AoMjBweCk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0Lm5hbWUge1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogdnctcHQoMTZweCk7XG5cdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIuMGVtO1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICMwMDIyNTk7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHZ3LXNwKDIycHgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIuMGVtO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQudGV4dCB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiB2dy1wdCgxNnB4KTtcblx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMi4wZW07XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHZ3LXNwKDIycHgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIuMGVtO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQucmVmb3JtLXNlYy1pbWFnZSB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6IHZ3LXB0KDU0OHB4KTtcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gI3t2dy1zcCg2MHB4KX0pO1xuXHRcdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiB2dy1zcCgzNTBweCk7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiB2dy1zcCgtMjBweCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdFx0XHRcdFx0b2JqZWN0LXBvc2l0aW9uOiA1MCUgMCU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6bnRoLW9mLXR5cGUob2RkKSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRTZFNkU2O1xuXHRcdFx0XHRcdFx0LnJlZm9ybS1zZWMtbWFpbiB7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogY2FsYygoMTAwdncgLSAxMjAwcHgpIC8gMik7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHZ3LXNwKDMwcHgpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdC5oZWFkaW5nIHtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdC5xdWVzdGlvbiB7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiB2dy1wdCgtOTBweCk7XG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHZ3LXNwKDMwcHgpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQuYW5zd2VyIHtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiB2dy1wdCgtMTEwcHgpO1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0LnJlZm9ybS1zZWMtaW1hZ2Uge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiB2dy1zcCgtMTc1cHgpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmOm50aC1sYXN0LW9mLXR5cGUoMSl7XG5cdFx0XHRcdFx0XHRcdC5yZWZvcm0tc2VjLWltYWdlIHtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6bnRoLW9mLXR5cGUoZXZlbikge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblx0XHRcdFx0XHRcdC5yZWZvcm0tc2VjLW1haW4ge1xuXHRcdFx0XHRcdFx0XHRvcmRlcjogMjtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogY2FsYygoMTAwdncgLSAxMjAwcHgpIC8gMik7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IHZ3LXNwKDIzMHB4KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHZ3LXNwKDMwcHgpO1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0LmhlYWRpbmcge1xuXHRcdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiByZ2JhKDAsMzQsODksMC4xNSk7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLDM0LDg5LDAuMTUpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdC5xdWVzdGlvbiB7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IHZ3LXB0KC0xMzBweCk7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiB2dy1wdCgyMHB4KTtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiB2dy1zcCgzMHB4KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0LmFuc3dlciB7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzQsMjM0LDIzNCwwLjkpO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiB2dy1wdCgtMTMwcHgpO1xuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQucmVmb3JtLXNlYy1tYWluIHtcblx0XHRcdFx0XHRcdFx0b3JkZXI6IDE7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHR9XG5cbi8qXG4gKiDosYrjg4jjg6njgrnjg4bjgqPoqLzliLjmjqHnlKjjg4Hjg6Pjg7Pjg43jg6tcbiAqL1xuYm9keS5jaGFubmVsIHtcblx0XG5cdC50aXRsZS1hcmVhIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2JnLXBhZ2UtY2hhbm5lbC5qcGc/dD0yMDI0MDUyMjAxKTtcblx0XHQudGl0bGUtaW5uZXIge1xuXHRcdFx0LnRpdGxlLXRleHQge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XHRcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctcGFnZS1jaGFubmVsLXNwLmpwZz90PTIwMjQwNTIyMDEpO1xuXHRcdH1cblx0XHQudGl0bGUtYXJlYS15dCB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAxMTAwcHg7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRib3R0b206IDIwcHg7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdC55dC1idXR0b24ge1xuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMjBweDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2VhMzMyMztcblx0XHRcdFx0Y29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdHBhZGRpbmc6IDhweCAyNHB4O1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjBlbTtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMC43O1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHdpZHRoOiAyNnB4O1xuXHRcdFx0XHRcdGhlaWdodDogMThweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljX3lvdXR1YmVfZmZmLnBuZyk7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwLjhlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdGJvdHRvbTogNHZ3O1xuXHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHQueXQtYnV0dG9uIHtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA0dnc7XG5cdFx0XHRcdFx0cGFkZGluZzogMnZ3IDZ2dztcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMGVtO1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAyMHB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxNHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0I3l0LW91dGVyIHtcblx0XHRwYWRkaW5nLXRvcDogdnctcHQoODBweCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZ3LXB0KDEwMHB4KTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdHBhZGRpbmctdG9wOiB2dy1zcCg1MHB4KTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiB2dy1zcCg1MHB4KTtcblx0XHR9XG5cdH1cblx0XG5cdCN5dC1saXN0IHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWluLWhlaWdodDogdnctcHQoMjAwcHgpO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0bWluLWhlaWdodDogdnctc3AoMjAwcHgpO1xuXHRcdH1cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHQueXQtb3ZlcmxheSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC42cztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRvcDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRvcGFjaXR5OiAxLjA7XG5cdFx0XHR6LWluZGV4OiAyO1xuXHRcdH1cblx0XHQueXQtaXRlbSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdHdpZHRoOiBjYWxjKDMzLjMzMzMlIC0gI3t2dy1wdCgzMHB4KX0pO1xuXHRcdFx0bWFyZ2luOiAwIHZ3LXB0KDE1cHgpIHZ3LXB0KDQwcHgpO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5cdFx0XHRib3gtc2hhZG93OiAwcHggMHB4IDEwcHggcmdiYSgwLDAsMCwwLjE1KTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHZ3LXB0KDIwcHgpO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjZzO1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cdFx0Ji5sb2FkZWQge1xuXHRcdFx0Lnl0LW92ZXJsYXkge1xuXHRcdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR9XG5cdFx0XHQueXQtaXRlbSB7XG5cdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdG9wYWNpdHk6IDEuMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnRpdGxlIHtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDIyNTk7XG5cdFx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRcdGZvbnQtc2l6ZTogdnctcHQoMjJweCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0cGFkZGluZzogdnctcHQoMjBweCkgdnctcHQoMTVweCk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiB2dy1wdCgzMHB4KTtcblx0XHRcdGZsZXg6IDE7XG5cdFx0fVxuXHRcdC5kZXNjcmlwdGlvbiB7XG5cdFx0XHRwYWRkaW5nOiB2dy1wdCgzMHB4KSB2dy1wdCgyMHB4KTtcblx0XHRcdHAge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogdnctcHQoMThweCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjc1ZW07XG5cdFx0XHRcdCY6ZW1wdHkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LnlvdXR1YmUge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogdnctcHQoMjBweCk7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdH1cblx0XHQueW91dHViZTpob3ZlciB7XG5cdFx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0fVxuXHRcdC55b3V0dWJlOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljby1zaG9ydC5wbmcpO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGF1dG8gdnctcHQoNjRweCk7XG5cdFx0fVxuXHRcdC55b3V0dWJlIGltZyB7XG5cdFx0XHR3aWR0aDogdnctcHQoMjQwcHgpO1xuXHRcdFx0aGVpZ2h0OiB2dy1wdCg0MjZweCk7XG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdC55dC1pdGVtIHtcblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0bWluLXdpZHRoOiA5MCU7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHZ3LXNwKDYwcHgpO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiB2dy1zcCgyMHB4KTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdC50aXRsZSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiB2dy1zcCgzMHB4KTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdFx0XHRcdFx0cGFkZGluZzogdnctc3AoMjBweCkgdnctc3AoMTVweCk7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogdnctc3AoMzBweCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0LmRlc2NyaXB0aW9uIHtcblx0XHRcdFx0XHRwYWRkaW5nOiB2dy1zcCgzMHB4KSB2dy1zcCgyMHB4KTtcblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogdnctc3AoMjJweCk7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS43NWVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQueW91dHViZSB7XG5cdFx0XHRcdFx0d2lkdGg6IDYwdnc7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IHZ3LXNwKDIwcHgpO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0fVxuXHRcdFx0XHQueW91dHViZTphZnRlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBhdXRvIHZ3LXNwKDEyOHB4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Lnl0LWl0ZW0uc2hvcnQgaWZyYW1lIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRcdFx0d2lkdGg6IDYwdnc7XG5cdFx0XHRcdGhlaWdodDogMTI1dnc7XG5cdFx0XHR9XG5cdFx0XHQueXQtaXRlbS5zaG9ydCBpbWcge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0XHR3aWR0aDogNjB2dztcblx0XHRcdFx0aGVpZ2h0OiAxMDd2dztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Lm1vZGFsLXZpZGVvIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuODUpO1xuXHR9XG5cdC5tb2RhbC12aWRlby1pbm5lciB7XG5cdFx0d2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuXHR9XG5cdC5tb2RhbC12aWRlby1tb3ZpZS13cmFwIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMTc3Ljc3JSAhaW1wb3J0YW50O1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdC5tb2RhbC12aWRlby1pbm5lciB7XG5cdFx0XHR3aWR0aDogNzAlICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdC5tb2RhbC12aWRlby1jbG9zZS1idG4ge1xuXHRcdFx0dG9wOiBhdXRvO1xuXHRcdFx0Ym90dG9tOiAtNDVweDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdH1cblx0fVxuXHRcbn1cblxuLmxvYWRlciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IDEwcHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMHB4O1xuXHRyaWdodDogMHB4O1xuXHR0b3A6IDBweDtcblx0Ym90dG9tOiAwcHg7XG5cdG1hcmdpbjogYXV0bztcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dGV4dC1pbmRlbnQ6IC05MDAwcHg7XG5cdGJvcmRlci10b3A6IDAuNWVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcblx0Ym9yZGVyLXJpZ2h0OiAwLjVlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cdGJvcmRlci1ib3R0b206IDAuNWVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcblx0Ym9yZGVyLWxlZnQ6IDAuNWVtIHNvbGlkICMwMDAwMDA7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cdC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkaW5nIDEuMXMgaW5maW5pdGUgbGluZWFyO1xuXHRhbmltYXRpb246IGxvYWRpbmcgMS4xcyBpbmZpbml0ZSBsaW5lYXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZGluZyB7XG4wJSB7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxuMTAwJSB7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbn1cbn1cbkBrZXlmcmFtZXMgbG9hZGluZyB7XG4wJSB7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxuMTAwJSB7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbn1cbn1cblxuLmxvYWRlcixcbi5sb2FkZXI6YWZ0ZXIge1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdHdpZHRoOiA1MHB4O1xuXHRoZWlnaHQ6IDUwcHg7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdHdpZHRoOiB2dy1zcCg4MHB4KTtcblx0XHRoZWlnaHQ6IHZ3LXNwKDgwcHgpO1xuXHR9XG59XG4iLCJAaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJ3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJ3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAndmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJ3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAndmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAndmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJ3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbkBpbXBvcnQgJ25vcm1hbGl6ZSc7XG5cbkBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy9AaW1wb3J0ICdiYXNlJztcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjUuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuXG5AaW1wb3J0ICdpY29uaWMtZm91bmRhdGlvbic7XG5cbkBpbXBvcnQgJ3N0eWxlJztcbi8vQGltcG9ydCAnbWVudSc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZVxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvLyBHbG9iYWwgc3R5bGVzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuXG4gIC8vIEdyaWRzXG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgLy8gQmFzaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbiAgLy8gQ29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuICAvLyBIZWxwZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgLy9AaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24tZXZlcnl0aGluZztcblxuQGltcG9ydCAnbW90aW9uL21vdGlvbi11aSc7XG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gLjAwMTI1O1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4vLyBUaGlzIHNob3VsZCBiZSBpbiB0aGUgc2FtZSBicmVha3BvaW50IHRoZW4gYEBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGhgXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICAvLyBFeHRlbmRzIG11c3QgYmUgbWFkZSBvdXRzaWRlIG9mIGJyZWFrcG9pbnRzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbmV3ZXIgU2FzcyB2ZXJzaW9ucyAobGlic2FzcyB2My41KVxuICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcblxuICAvLy8gRGlzYWJsZXMgdGhlIHNjcm9sbCB3aGVuIFJldmVhbCBpcyBzaG93biB0byBwcmV2ZW50IHRoZSBiYWNrZ3JvdW5kIGZyb20gc2hpZnRpbmdcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgICYuemYtaGFzLXNjcm9sbCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgYm9keSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIEZvdW5kYXRpb24gKi9cblxuLyogRm9udCBwYXRoIHZhcmlhYmxlICovXG4kaWNvbi1mb250LXBhdGg6ICcuLi9mb250cy8nICFkZWZhdWx0O1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJY29ucyc7XG4gIHNyYzogdXJsKCcjeyRpY29uLWZvbnQtcGF0aH1vcGVuLWljb25pYy5lb3QnKTtcbiAgc3JjOiB1cmwoJyN7JGljb24tZm9udC1wYXRofW9wZW4taWNvbmljLmVvdD8jaWNvbmljLXNtJykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJyN7JGljb24tZm9udC1wYXRofW9wZW4taWNvbmljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcjeyRpY29uLWZvbnQtcGF0aH1vcGVuLWljb25pYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnI3skaWNvbi1mb250LXBhdGh9b3Blbi1pY29uaWMub3RmJykgZm9ybWF0KCdvcGVudHlwZScpLCB1cmwoJyN7JGljb24tZm9udC1wYXRofW9wZW4taWNvbmljLnN2ZyNpY29uaWMtc20nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuLmZpLWFjY291bnQtbG9naW46YmVmb3JlLFxuXG4uZmktYWNjb3VudC1sb2dvdXQ6YmVmb3JlLFxuXG4uZmktYWN0aW9uLXJlZG86YmVmb3JlLFxuXG4uZmktYWN0aW9uLXVuZG86YmVmb3JlLFxuXG4uZmktYWxpZ24tY2VudGVyOmJlZm9yZSxcblxuLmZpLWFsaWduLWxlZnQ6YmVmb3JlLFxuXG4uZmktYWxpZ24tcmlnaHQ6YmVmb3JlLFxuXG4uZmktYXBlcnR1cmU6YmVmb3JlLFxuXG4uZmktYXJyb3ctYm90dG9tOmJlZm9yZSxcblxuLmZpLWFycm93LWNpcmNsZS1ib3R0b206YmVmb3JlLFxuXG4uZmktYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlLFxuXG4uZmktYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSxcblxuLmZpLWFycm93LWNpcmNsZS10b3A6YmVmb3JlLFxuXG4uZmktYXJyb3ctbGVmdDpiZWZvcmUsXG5cbi5maS1hcnJvdy1yaWdodDpiZWZvcmUsXG5cbi5maS1hcnJvdy10aGljay1ib3R0b206YmVmb3JlLFxuXG4uZmktYXJyb3ctdGhpY2stbGVmdDpiZWZvcmUsXG5cbi5maS1hcnJvdy10aGljay1yaWdodDpiZWZvcmUsXG5cbi5maS1hcnJvdy10aGljay10b3A6YmVmb3JlLFxuXG4uZmktYXJyb3ctdG9wOmJlZm9yZSxcblxuLmZpLWF1ZGlvLXNwZWN0cnVtOmJlZm9yZSxcblxuLmZpLWF1ZGlvOmJlZm9yZSxcblxuLmZpLWJhZGdlOmJlZm9yZSxcblxuLmZpLWJhbjpiZWZvcmUsXG5cbi5maS1iYXItY2hhcnQ6YmVmb3JlLFxuXG4uZmktYmFza2V0OmJlZm9yZSxcblxuLmZpLWJhdHRlcnktZW1wdHk6YmVmb3JlLFxuXG4uZmktYmF0dGVyeS1mdWxsOmJlZm9yZSxcblxuLmZpLWJlYWtlcjpiZWZvcmUsXG5cbi5maS1iZWxsOmJlZm9yZSxcblxuLmZpLWJsdWV0b290aDpiZWZvcmUsXG5cbi5maS1ib2xkOmJlZm9yZSxcblxuLmZpLWJvbHQ6YmVmb3JlLFxuXG4uZmktYm9vazpiZWZvcmUsXG5cbi5maS1ib29rbWFyazpiZWZvcmUsXG5cbi5maS1ib3g6YmVmb3JlLFxuXG4uZmktYnJpZWZjYXNlOmJlZm9yZSxcblxuLmZpLWJyaXRpc2gtcG91bmQ6YmVmb3JlLFxuXG4uZmktYnJvd3NlcjpiZWZvcmUsXG5cbi5maS1icnVzaDpiZWZvcmUsXG5cbi5maS1idWc6YmVmb3JlLFxuXG4uZmktYnVsbGhvcm46YmVmb3JlLFxuXG4uZmktY2FsY3VsYXRvcjpiZWZvcmUsXG5cbi5maS1jYWxlbmRhcjpiZWZvcmUsXG5cbi5maS1jYW1lcmEtc2xyOmJlZm9yZSxcblxuLmZpLWNhcmV0LWJvdHRvbTpiZWZvcmUsXG5cbi5maS1jYXJldC1sZWZ0OmJlZm9yZSxcblxuLmZpLWNhcmV0LXJpZ2h0OmJlZm9yZSxcblxuLmZpLWNhcmV0LXRvcDpiZWZvcmUsXG5cbi5maS1jYXJ0OmJlZm9yZSxcblxuLmZpLWNoYXQ6YmVmb3JlLFxuXG4uZmktY2hlY2s6YmVmb3JlLFxuXG4uZmktY2hldnJvbi1ib3R0b206YmVmb3JlLFxuXG4uZmktY2hldnJvbi1sZWZ0OmJlZm9yZSxcblxuLmZpLWNoZXZyb24tcmlnaHQ6YmVmb3JlLFxuXG4uZmktY2hldnJvbi10b3A6YmVmb3JlLFxuXG4uZmktY2lyY2xlLWNoZWNrOmJlZm9yZSxcblxuLmZpLWNpcmNsZS14OmJlZm9yZSxcblxuLmZpLWNsaXBib2FyZDpiZWZvcmUsXG5cbi5maS1jbG9jazpiZWZvcmUsXG5cbi5maS1jbG91ZC1kb3dubG9hZDpiZWZvcmUsXG5cbi5maS1jbG91ZC11cGxvYWQ6YmVmb3JlLFxuXG4uZmktY2xvdWQ6YmVmb3JlLFxuXG4uZmktY2xvdWR5OmJlZm9yZSxcblxuLmZpLWNvZGU6YmVmb3JlLFxuXG4uZmktY29nOmJlZm9yZSxcblxuLmZpLWNvbGxhcHNlLWRvd246YmVmb3JlLFxuXG4uZmktY29sbGFwc2UtbGVmdDpiZWZvcmUsXG5cbi5maS1jb2xsYXBzZS1yaWdodDpiZWZvcmUsXG5cbi5maS1jb2xsYXBzZS11cDpiZWZvcmUsXG5cbi5maS1jb21tYW5kOmJlZm9yZSxcblxuLmZpLWNvbW1lbnQtc3F1YXJlOmJlZm9yZSxcblxuLmZpLWNvbXBhc3M6YmVmb3JlLFxuXG4uZmktY29udHJhc3Q6YmVmb3JlLFxuXG4uZmktY29weXdyaXRpbmc6YmVmb3JlLFxuXG4uZmktY3JlZGl0LWNhcmQ6YmVmb3JlLFxuXG4uZmktY3JvcDpiZWZvcmUsXG5cbi5maS1kYXNoYm9hcmQ6YmVmb3JlLFxuXG4uZmktZGF0YS10cmFuc2Zlci1kb3dubG9hZDpiZWZvcmUsXG5cbi5maS1kYXRhLXRyYW5zZmVyLXVwbG9hZDpiZWZvcmUsXG5cbi5maS1kZWxldGU6YmVmb3JlLFxuXG4uZmktZGlhbDpiZWZvcmUsXG5cbi5maS1kb2N1bWVudDpiZWZvcmUsXG5cbi5maS1kb2xsYXI6YmVmb3JlLFxuXG4uZmktZG91YmxlLXF1b3RlLXNhbnMtbGVmdDpiZWZvcmUsXG5cbi5maS1kb3VibGUtcXVvdGUtc2Fucy1yaWdodDpiZWZvcmUsXG5cbi5maS1kb3VibGUtcXVvdGUtc2VyaWYtbGVmdDpiZWZvcmUsXG5cbi5maS1kb3VibGUtcXVvdGUtc2VyaWYtcmlnaHQ6YmVmb3JlLFxuXG4uZmktZHJvcGxldDpiZWZvcmUsXG5cbi5maS1lamVjdDpiZWZvcmUsXG5cbi5maS1lbGV2YXRvcjpiZWZvcmUsXG5cbi5maS1lbGxpcHNlczpiZWZvcmUsXG5cbi5maS1lbnZlbG9wZS1jbG9zZWQ6YmVmb3JlLFxuXG4uZmktZW52ZWxvcGUtb3BlbjpiZWZvcmUsXG5cbi5maS1ldXJvOmJlZm9yZSxcblxuLmZpLWV4Y2VycHQ6YmVmb3JlLFxuXG4uZmktZXhwYW5kLWRvd246YmVmb3JlLFxuXG4uZmktZXhwYW5kLWxlZnQ6YmVmb3JlLFxuXG4uZmktZXhwYW5kLXJpZ2h0OmJlZm9yZSxcblxuLmZpLWV4cGFuZC11cDpiZWZvcmUsXG5cbi5maS1leHRlcm5hbC1saW5rOmJlZm9yZSxcblxuLmZpLWV5ZTpiZWZvcmUsXG5cbi5maS1leWVkcm9wcGVyOmJlZm9yZSxcblxuLmZpLWZpbGU6YmVmb3JlLFxuXG4uZmktZmlyZTpiZWZvcmUsXG5cbi5maS1mbGFnOmJlZm9yZSxcblxuLmZpLWZsYXNoOmJlZm9yZSxcblxuLmZpLWZvbGRlcjpiZWZvcmUsXG5cbi5maS1mb3JrOmJlZm9yZSxcblxuLmZpLWZ1bGxzY3JlZW4tZW50ZXI6YmVmb3JlLFxuXG4uZmktZnVsbHNjcmVlbi1leGl0OmJlZm9yZSxcblxuLmZpLWdsb2JlOmJlZm9yZSxcblxuLmZpLWdyYXBoOmJlZm9yZSxcblxuLmZpLWdyaWQtZm91ci11cDpiZWZvcmUsXG5cbi5maS1ncmlkLXRocmVlLXVwOmJlZm9yZSxcblxuLmZpLWdyaWQtdHdvLXVwOmJlZm9yZSxcblxuLmZpLWhhcmQtZHJpdmU6YmVmb3JlLFxuXG4uZmktaGVhZGVyOmJlZm9yZSxcblxuLmZpLWhlYWRwaG9uZXM6YmVmb3JlLFxuXG4uZmktaGVhcnQ6YmVmb3JlLFxuXG4uZmktaG9tZTpiZWZvcmUsXG5cbi5maS1pbWFnZTpiZWZvcmUsXG5cbi5maS1pbmJveDpiZWZvcmUsXG5cbi5maS1pbmZpbml0eTpiZWZvcmUsXG5cbi5maS1pbmZvOmJlZm9yZSxcblxuLmZpLWl0YWxpYzpiZWZvcmUsXG5cbi5maS1qdXN0aWZ5LWNlbnRlcjpiZWZvcmUsXG5cbi5maS1qdXN0aWZ5LWxlZnQ6YmVmb3JlLFxuXG4uZmktanVzdGlmeS1yaWdodDpiZWZvcmUsXG5cbi5maS1rZXk6YmVmb3JlLFxuXG4uZmktbGFwdG9wOmJlZm9yZSxcblxuLmZpLWxheWVyczpiZWZvcmUsXG5cbi5maS1saWdodGJ1bGI6YmVmb3JlLFxuXG4uZmktbGluay1icm9rZW46YmVmb3JlLFxuXG4uZmktbGluay1pbnRhY3Q6YmVmb3JlLFxuXG4uZmktbGlzdC1yaWNoOmJlZm9yZSxcblxuLmZpLWxpc3Q6YmVmb3JlLFxuXG4uZmktbG9jYXRpb246YmVmb3JlLFxuXG4uZmktbG9jay1sb2NrZWQ6YmVmb3JlLFxuXG4uZmktbG9jay11bmxvY2tlZDpiZWZvcmUsXG5cbi5maS1sb29wLWNpcmN1bGFyOmJlZm9yZSxcblxuLmZpLWxvb3Atc3F1YXJlOmJlZm9yZSxcblxuLmZpLWxvb3A6YmVmb3JlLFxuXG4uZmktbWFnbmlmeWluZy1nbGFzczpiZWZvcmUsXG5cbi5maS1tYXAtbWFya2VyOmJlZm9yZSxcblxuLmZpLW1hcDpiZWZvcmUsXG5cbi5maS1tZWRpYS1wYXVzZTpiZWZvcmUsXG5cbi5maS1tZWRpYS1wbGF5OmJlZm9yZSxcblxuLmZpLW1lZGlhLXJlY29yZDpiZWZvcmUsXG5cbi5maS1tZWRpYS1za2lwLWJhY2t3YXJkOmJlZm9yZSxcblxuLmZpLW1lZGlhLXNraXAtZm9yd2FyZDpiZWZvcmUsXG5cbi5maS1tZWRpYS1zdGVwLWJhY2t3YXJkOmJlZm9yZSxcblxuLmZpLW1lZGlhLXN0ZXAtZm9yd2FyZDpiZWZvcmUsXG5cbi5maS1tZWRpYS1zdG9wOmJlZm9yZSxcblxuLmZpLW1lZGljYWwtY3Jvc3M6YmVmb3JlLFxuXG4uZmktbWVudTpiZWZvcmUsXG5cbi5maS1taWNyb3Bob25lOmJlZm9yZSxcblxuLmZpLW1pbnVzOmJlZm9yZSxcblxuLmZpLW1vbml0b3I6YmVmb3JlLFxuXG4uZmktbW9vbjpiZWZvcmUsXG5cbi5maS1tb3ZlOmJlZm9yZSxcblxuLmZpLW11c2ljYWwtbm90ZTpiZWZvcmUsXG5cbi5maS1wYXBlcmNsaXA6YmVmb3JlLFxuXG4uZmktcGVuY2lsOmJlZm9yZSxcblxuLmZpLXBlb3BsZTpiZWZvcmUsXG5cbi5maS1wZXJzb246YmVmb3JlLFxuXG4uZmktcGhvbmU6YmVmb3JlLFxuXG4uZmktcGllLWNoYXJ0OmJlZm9yZSxcblxuLmZpLXBpbjpiZWZvcmUsXG5cbi5maS1wbGF5LWNpcmNsZTpiZWZvcmUsXG5cbi5maS1wbHVzOmJlZm9yZSxcblxuLmZpLXBvd2VyLXN0YW5kYnk6YmVmb3JlLFxuXG4uZmktcHJpbnQ6YmVmb3JlLFxuXG4uZmktcHJvamVjdDpiZWZvcmUsXG5cbi5maS1wdWxzZTpiZWZvcmUsXG5cbi5maS1wdXp6bGUtcGllY2U6YmVmb3JlLFxuXG4uZmktcXVlc3Rpb24tbWFyazpiZWZvcmUsXG5cbi5maS1yYWluOmJlZm9yZSxcblxuLmZpLXJhbmRvbTpiZWZvcmUsXG5cbi5maS1yZWxvYWQ6YmVmb3JlLFxuXG4uZmktcmVzaXplLWJvdGg6YmVmb3JlLFxuXG4uZmktcmVzaXplLWhlaWdodDpiZWZvcmUsXG5cbi5maS1yZXNpemUtd2lkdGg6YmVmb3JlLFxuXG4uZmktcnNzLWFsdDpiZWZvcmUsXG5cbi5maS1yc3M6YmVmb3JlLFxuXG4uZmktc2NyaXB0OmJlZm9yZSxcblxuLmZpLXNoYXJlLWJveGVkOmJlZm9yZSxcblxuLmZpLXNoYXJlOmJlZm9yZSxcblxuLmZpLXNoaWVsZDpiZWZvcmUsXG5cbi5maS1zaWduYWw6YmVmb3JlLFxuXG4uZmktc2lnbnBvc3Q6YmVmb3JlLFxuXG4uZmktc29ydC1hc2NlbmRpbmc6YmVmb3JlLFxuXG4uZmktc29ydC1kZXNjZW5kaW5nOmJlZm9yZSxcblxuLmZpLXNwcmVhZHNoZWV0OmJlZm9yZSxcblxuLmZpLXN0YXI6YmVmb3JlLFxuXG4uZmktc3VuOmJlZm9yZSxcblxuLmZpLXRhYmxldDpiZWZvcmUsXG5cbi5maS10YWc6YmVmb3JlLFxuXG4uZmktdGFnczpiZWZvcmUsXG5cbi5maS10YXJnZXQ6YmVmb3JlLFxuXG4uZmktdGFzazpiZWZvcmUsXG5cbi5maS10ZXJtaW5hbDpiZWZvcmUsXG5cbi5maS10ZXh0OmJlZm9yZSxcblxuLmZpLXRodW1iLWRvd246YmVmb3JlLFxuXG4uZmktdGh1bWItdXA6YmVmb3JlLFxuXG4uZmktdGltZXI6YmVmb3JlLFxuXG4uZmktdHJhbnNmZXI6YmVmb3JlLFxuXG4uZmktdHJhc2g6YmVmb3JlLFxuXG4uZmktdW5kZXJsaW5lOmJlZm9yZSxcblxuLmZpLXZlcnRpY2FsLWFsaWduLWJvdHRvbTpiZWZvcmUsXG5cbi5maS12ZXJ0aWNhbC1hbGlnbi1jZW50ZXI6YmVmb3JlLFxuXG4uZmktdmVydGljYWwtYWxpZ24tdG9wOmJlZm9yZSxcblxuLmZpLXZpZGVvOmJlZm9yZSxcblxuLmZpLXZvbHVtZS1oaWdoOmJlZm9yZSxcblxuLmZpLXZvbHVtZS1sb3c6YmVmb3JlLFxuXG4uZmktdm9sdW1lLW9mZjpiZWZvcmUsXG5cbi5maS13YXJuaW5nOmJlZm9yZSxcblxuLmZpLXdpZmk6YmVmb3JlLFxuXG4uZmktd3JlbmNoOmJlZm9yZSxcblxuLmZpLXg6YmVmb3JlLFxuXG4uZmkteWVuOmJlZm9yZSxcblxuLmZpLXpvb20taW46YmVmb3JlLFxuXG4uZmktem9vbS1vdXQ6YmVmb3JlXG4ge1xuICBmb250LWZhbWlseTogJ0ljb25zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG59XG5cblxuW2NsYXNzKj0nZmktJ10ub2ktYWxpZ24tY2VudGVyOmJlZm9yZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuW2NsYXNzKj0nZmktJ10ub2ktYWxpZ24tbGVmdDpiZWZvcmUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5bY2xhc3MqPSdmaS0nXS5vaS1hbGlnbi1yaWdodDpiZWZvcmUge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuXG5bY2xhc3MqPSdmaS0nXS5vaS1mbGlwLWhvcml6b250YWw6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbn1cblxuW2NsYXNzKj0nZmktJ10ub2ktZmxpcC12ZXJ0aWNhbDpiZWZvcmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xufVxuXG5bY2xhc3MqPSdmaS0nXS5vaS1mbGlwLWhvcml6b250YWwtdmVydGljYWw6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAtMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgLTEpO1xufVxuXG5cblxuLmZpLWFjY291bnQtbG9naW46YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDAwJztcbn1cblxuLmZpLWFjY291bnQtbG9nb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAwMSc7XG59XG5cbi5maS1hY3Rpb24tcmVkbzpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMDInO1xufVxuXG4uZmktYWN0aW9uLXVuZG86YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDAzJztcbn1cblxuLmZpLWFsaWduLWNlbnRlcjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMDQnO1xufVxuXG4uZmktYWxpZ24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMDUnO1xufVxuXG4uZmktYWxpZ24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDA2Jztcbn1cblxuLmZpLWFwZXJ0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAwNyc7XG59XG5cbi5maS1hcnJvdy1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDA4Jztcbn1cblxuLmZpLWFycm93LWNpcmNsZS1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDA5Jztcbn1cblxuLmZpLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAwYSc7XG59XG5cbi5maS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDBiJztcbn1cblxuLmZpLWFycm93LWNpcmNsZS10b3A6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDBjJztcbn1cblxuLmZpLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDBkJztcbn1cblxuLmZpLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAwZSc7XG59XG5cbi5maS1hcnJvdy10aGljay1ib3R0b206YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDBmJztcbn1cblxuLmZpLWFycm93LXRoaWNrLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDEwJztcbn1cblxuLmZpLWFycm93LXRoaWNrLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAxMSc7XG59XG5cbi5maS1hcnJvdy10aGljay10b3A6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDEyJztcbn1cblxuLmZpLWFycm93LXRvcDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMTMnO1xufVxuXG4uZmktYXVkaW8tc3BlY3RydW06YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDE0Jztcbn1cblxuLmZpLWF1ZGlvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAxNSc7XG59XG5cbi5maS1iYWRnZTpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMTYnO1xufVxuXG4uZmktYmFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAxNyc7XG59XG5cbi5maS1iYXItY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDE4Jztcbn1cblxuLmZpLWJhc2tldDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMTknO1xufVxuXG4uZmktYmF0dGVyeS1lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMWEnO1xufVxuXG4uZmktYmF0dGVyeS1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAxYic7XG59XG5cbi5maS1iZWFrZXI6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDFjJztcbn1cblxuLmZpLWJlbGw6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDFkJztcbn1cblxuLmZpLWJsdWV0b290aDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMWUnO1xufVxuXG4uZmktYm9sZDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMWYnO1xufVxuXG4uZmktYm9sdDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMjAnO1xufVxuXG4uZmktYm9vazpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMjEnO1xufVxuXG4uZmktYm9va21hcms6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDIyJztcbn1cblxuLmZpLWJveDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMjMnO1xufVxuXG4uZmktYnJpZWZjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAyNCc7XG59XG5cbi5maS1icml0aXNoLXBvdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAyNSc7XG59XG5cbi5maS1icm93c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAyNic7XG59XG5cbi5maS1icnVzaDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMjcnO1xufVxuXG4uZmktYnVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAyOCc7XG59XG5cbi5maS1idWxsaG9ybjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMjknO1xufVxuXG4uZmktY2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMmEnO1xufVxuXG4uZmktY2FsZW5kYXI6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDJiJztcbn1cblxuLmZpLWNhbWVyYS1zbHI6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDJjJztcbn1cblxuLmZpLWNhcmV0LWJvdHRvbTpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMmQnO1xufVxuXG4uZmktY2FyZXQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMmUnO1xufVxuXG4uZmktY2FyZXQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDJmJztcbn1cblxuLmZpLWNhcmV0LXRvcDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMzAnO1xufVxuXG4uZmktY2FydDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMzEnO1xufVxuXG4uZmktY2hhdDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwMzInO1xufVxuXG4uZmktY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDMzJztcbn1cblxuLmZpLWNoZXZyb24tYm90dG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAzNCc7XG59XG5cbi5maS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDM1Jztcbn1cblxuLmZpLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDM2Jztcbn1cblxuLmZpLWNoZXZyb24tdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAzNyc7XG59XG5cbi5maS1jaXJjbGUtY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDM4Jztcbn1cblxuLmZpLWNpcmNsZS14OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAzOSc7XG59XG5cbi5maS1jbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDNhJztcbn1cblxuLmZpLWNsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAzYic7XG59XG5cbi5maS1jbG91ZC1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwM2MnO1xufVxuXG4uZmktY2xvdWQtdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAzZCc7XG59XG5cbi5maS1jbG91ZDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwM2UnO1xufVxuXG4uZmktY2xvdWR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTAzZic7XG59XG5cbi5maS1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA0MCc7XG59XG5cbi5maS1jb2c6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDQxJztcbn1cblxuLmZpLWNvbGxhcHNlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDQyJztcbn1cblxuLmZpLWNvbGxhcHNlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDQzJztcbn1cblxuLmZpLWNvbGxhcHNlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA0NCc7XG59XG5cbi5maS1jb2xsYXBzZS11cDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNDUnO1xufVxuXG4uZmktY29tbWFuZDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNDYnO1xufVxuXG4uZmktY29tbWVudC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDQ3Jztcbn1cblxuLmZpLWNvbXBhc3M6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDQ4Jztcbn1cblxuLmZpLWNvbnRyYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA0OSc7XG59XG5cbi5maS1jb3B5d3JpdGluZzpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNGEnO1xufVxuXG4uZmktY3JlZGl0LWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDRiJztcbn1cblxuLmZpLWNyb3A6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDRjJztcbn1cblxuLmZpLWRhc2hib2FyZDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNGQnO1xufVxuXG4uZmktZGF0YS10cmFuc2Zlci1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNGUnO1xufVxuXG4uZmktZGF0YS10cmFuc2Zlci11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDRmJztcbn1cblxuLmZpLWRlbGV0ZTpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNTAnO1xufVxuXG4uZmktZGlhbDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNTEnO1xufVxuXG4uZmktZG9jdW1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDUyJztcbn1cblxuLmZpLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNTMnO1xufVxuXG4uZmktZG91YmxlLXF1b3RlLXNhbnMtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNTQnO1xufVxuXG4uZmktZG91YmxlLXF1b3RlLXNhbnMtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDU1Jztcbn1cblxuLmZpLWRvdWJsZS1xdW90ZS1zZXJpZi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA1Nic7XG59XG5cbi5maS1kb3VibGUtcXVvdGUtc2VyaWYtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDU3Jztcbn1cblxuLmZpLWRyb3BsZXQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDU4Jztcbn1cblxuLmZpLWVqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA1OSc7XG59XG5cbi5maS1lbGV2YXRvcjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNWEnO1xufVxuXG4uZmktZWxsaXBzZXM6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDViJztcbn1cblxuLmZpLWVudmVsb3BlLWNsb3NlZDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNWMnO1xufVxuXG4uZmktZW52ZWxvcGUtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNWQnO1xufVxuXG4uZmktZXVybzpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNWUnO1xufVxuXG4uZmktZXhjZXJwdDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNWYnO1xufVxuXG4uZmktZXhwYW5kLWRvd246YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDYwJztcbn1cblxuLmZpLWV4cGFuZC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA2MSc7XG59XG5cbi5maS1leHBhbmQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDYyJztcbn1cblxuLmZpLWV4cGFuZC11cDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNjMnO1xufVxuXG4uZmktZXh0ZXJuYWwtbGluazpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNjQnO1xufVxuXG4uZmktZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA2NSc7XG59XG5cbi5maS1leWVkcm9wcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA2Nic7XG59XG5cbi5maS1maWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA2Nyc7XG59XG5cbi5maS1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA2OCc7XG59XG5cbi5maS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA2OSc7XG59XG5cbi5maS1mbGFzaDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNmEnO1xufVxuXG4uZmktZm9sZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA2Yic7XG59XG5cbi5maS1mb3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA2Yyc7XG59XG5cbi5maS1mdWxsc2NyZWVuLWVudGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA2ZCc7XG59XG5cbi5maS1mdWxsc2NyZWVuLWV4aXQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDZlJztcbn1cblxuLmZpLWdsb2JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA2Zic7XG59XG5cbi5maS1ncmFwaDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNzAnO1xufVxuXG4uZmktZ3JpZC1mb3VyLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA3MSc7XG59XG5cbi5maS1ncmlkLXRocmVlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA3Mic7XG59XG5cbi5maS1ncmlkLXR3by11cDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNzMnO1xufVxuXG4uZmktaGFyZC1kcml2ZTpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNzQnO1xufVxuXG4uZmktaGVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA3NSc7XG59XG5cbi5maS1oZWFkcGhvbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA3Nic7XG59XG5cbi5maS1oZWFydDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNzcnO1xufVxuXG4uZmktaG9tZTpiZWZvcmUge1xuICBjb250ZW50OidcXGUwNzgnO1xufVxuXG4uZmktaW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDc5Jztcbn1cblxuLmZpLWluYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA3YSc7XG59XG5cbi5maS1pbmZpbml0eTpiZWZvcmUge1xuICBjb250ZW50OidcXGUwN2InO1xufVxuXG4uZmktaW5mbzpiZWZvcmUge1xuICBjb250ZW50OidcXGUwN2MnO1xufVxuXG4uZmktaXRhbGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA3ZCc7XG59XG5cbi5maS1qdXN0aWZ5LWNlbnRlcjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwN2UnO1xufVxuXG4uZmktanVzdGlmeS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA3Zic7XG59XG5cbi5maS1qdXN0aWZ5LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA4MCc7XG59XG5cbi5maS1rZXk6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDgxJztcbn1cblxuLmZpLWxhcHRvcDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwODInO1xufVxuXG4uZmktbGF5ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA4Myc7XG59XG5cbi5maS1saWdodGJ1bGI6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDg0Jztcbn1cblxuLmZpLWxpbmstYnJva2VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA4NSc7XG59XG5cbi5maS1saW5rLWludGFjdDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwODYnO1xufVxuXG4uZmktbGlzdC1yaWNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA4Nyc7XG59XG5cbi5maS1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA4OCc7XG59XG5cbi5maS1sb2NhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwODknO1xufVxuXG4uZmktbG9jay1sb2NrZWQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDhhJztcbn1cblxuLmZpLWxvY2stdW5sb2NrZWQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDhiJztcbn1cblxuLmZpLWxvb3AtY2lyY3VsYXI6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDhjJztcbn1cblxuLmZpLWxvb3Atc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA4ZCc7XG59XG5cbi5maS1sb29wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA4ZSc7XG59XG5cbi5maS1tYWduaWZ5aW5nLWdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA4Zic7XG59XG5cbi5maS1tYXAtbWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA5MCc7XG59XG5cbi5maS1tYXA6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDkxJztcbn1cblxuLmZpLW1lZGlhLXBhdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA5Mic7XG59XG5cbi5maS1tZWRpYS1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA5Myc7XG59XG5cbi5maS1tZWRpYS1yZWNvcmQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDk0Jztcbn1cblxuLmZpLW1lZGlhLXNraXAtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMDk1Jztcbn1cblxuLmZpLW1lZGlhLXNraXAtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwOTYnO1xufVxuXG4uZmktbWVkaWEtc3RlcC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwOTcnO1xufVxuXG4uZmktbWVkaWEtc3RlcC1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA5OCc7XG59XG5cbi5maS1tZWRpYS1zdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA5OSc7XG59XG5cbi5maS1tZWRpY2FsLWNyb3NzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA5YSc7XG59XG5cbi5maS1tZW51OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA5Yic7XG59XG5cbi5maS1taWNyb3Bob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTA5Yyc7XG59XG5cbi5maS1taW51czpiZWZvcmUge1xuICBjb250ZW50OidcXGUwOWQnO1xufVxuXG4uZmktbW9uaXRvcjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwOWUnO1xufVxuXG4uZmktbW9vbjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwOWYnO1xufVxuXG4uZmktbW92ZTpiZWZvcmUge1xuICBjb250ZW50OidcXGUwYTAnO1xufVxuXG4uZmktbXVzaWNhbC1ub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBhMSc7XG59XG5cbi5maS1wYXBlcmNsaXA6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGEyJztcbn1cblxuLmZpLXBlbmNpbDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwYTMnO1xufVxuXG4uZmktcGVvcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBhNCc7XG59XG5cbi5maS1wZXJzb246YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGE1Jztcbn1cblxuLmZpLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBhNic7XG59XG5cbi5maS1waWUtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGE3Jztcbn1cblxuLmZpLXBpbjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwYTgnO1xufVxuXG4uZmktcGxheS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGE5Jztcbn1cblxuLmZpLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGFhJztcbn1cblxuLmZpLXBvd2VyLXN0YW5kYnk6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGFiJztcbn1cblxuLmZpLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBhYyc7XG59XG5cbi5maS1wcm9qZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBhZCc7XG59XG5cbi5maS1wdWxzZTpiZWZvcmUge1xuICBjb250ZW50OidcXGUwYWUnO1xufVxuXG4uZmktcHV6emxlLXBpZWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBhZic7XG59XG5cbi5maS1xdWVzdGlvbi1tYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBiMCc7XG59XG5cbi5maS1yYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBiMSc7XG59XG5cbi5maS1yYW5kb206YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGIyJztcbn1cblxuLmZpLXJlbG9hZDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwYjMnO1xufVxuXG4uZmktcmVzaXplLWJvdGg6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGI0Jztcbn1cblxuLmZpLXJlc2l6ZS1oZWlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGI1Jztcbn1cblxuLmZpLXJlc2l6ZS13aWR0aDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwYjYnO1xufVxuXG4uZmktcnNzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwYjcnO1xufVxuXG4uZmktcnNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBiOCc7XG59XG5cbi5maS1zY3JpcHQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGI5Jztcbn1cblxuLmZpLXNoYXJlLWJveGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBiYSc7XG59XG5cbi5maS1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OidcXGUwYmInO1xufVxuXG4uZmktc2hpZWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBiYyc7XG59XG5cbi5maS1zaWduYWw6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGJkJztcbn1cblxuLmZpLXNpZ25wb3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBiZSc7XG59XG5cbi5maS1zb3J0LWFzY2VuZGluZzpiZWZvcmUge1xuICBjb250ZW50OidcXGUwYmYnO1xufVxuXG4uZmktc29ydC1kZXNjZW5kaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBjMCc7XG59XG5cbi5maS1zcHJlYWRzaGVldDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwYzEnO1xufVxuXG4uZmktc3RhcjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwYzInO1xufVxuXG4uZmktc3VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBjMyc7XG59XG5cbi5maS10YWJsZXQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGM0Jztcbn1cblxuLmZpLXRhZzpiZWZvcmUge1xuICBjb250ZW50OidcXGUwYzUnO1xufVxuXG4uZmktdGFnczpiZWZvcmUge1xuICBjb250ZW50OidcXGUwYzYnO1xufVxuXG4uZmktdGFyZ2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBjNyc7XG59XG5cbi5maS10YXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBjOCc7XG59XG5cbi5maS10ZXJtaW5hbDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwYzknO1xufVxuXG4uZmktdGV4dDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwY2EnO1xufVxuXG4uZmktdGh1bWItZG93bjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwY2InO1xufVxuXG4uZmktdGh1bWItdXA6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGNjJztcbn1cblxuLmZpLXRpbWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBjZCc7XG59XG5cbi5maS10cmFuc2ZlcjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwY2UnO1xufVxuXG4uZmktdHJhc2g6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGNmJztcbn1cblxuLmZpLXVuZGVybGluZTpiZWZvcmUge1xuICBjb250ZW50OidcXGUwZDAnO1xufVxuXG4uZmktdmVydGljYWwtYWxpZ24tYm90dG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBkMSc7XG59XG5cbi5maS12ZXJ0aWNhbC1hbGlnbi1jZW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGQyJztcbn1cblxuLmZpLXZlcnRpY2FsLWFsaWduLXRvcDpiZWZvcmUge1xuICBjb250ZW50OidcXGUwZDMnO1xufVxuXG4uZmktdmlkZW86YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGQ0Jztcbn1cblxuLmZpLXZvbHVtZS1oaWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBkNSc7XG59XG5cbi5maS12b2x1bWUtbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBkNic7XG59XG5cbi5maS12b2x1bWUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBkNyc7XG59XG5cbi5maS13YXJuaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBkOCc7XG59XG5cbi5maS13aWZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6J1xcZTBkOSc7XG59XG5cbi5maS13cmVuY2g6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGRhJztcbn1cblxuLmZpLXg6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGRiJztcbn1cblxuLmZpLXllbjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwZGMnO1xufVxuXG4uZmktem9vbS1pbjpiZWZvcmUge1xuICBjb250ZW50OidcXGUwZGQnO1xufVxuXG4uZmktem9vbS1vdXQ6YmVmb3JlIHtcbiAgY29udGVudDonXFxlMGRlJztcbn1cblxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDg3LjUlOyAvL+WkieabtCAxNnB4IOKGkiAxNHB4XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMTAwKTsgLy/lpInmm7RcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMDMyYzY2LFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMyZGIyNzIsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjZTc0OTg1LFxuKTsgLy/lpInmm7RcbiRsaWdodC1ncmF5OiAjZjJmMmYyOyAvL+WkieabtFxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRibGFjazogIzExMTExMTsgLy/lpInmm7RcbiR3aGl0ZTogI2ZmZmZmZjsgLy/lpInmm7RcbiRib2R5LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvL+WkieabtFxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6IFl1R290aGljLCBcIua4uOOCtOOCt+ODg+OCr1wiLCBcIuODkuODqeOCruODjuinkuOCtCBQcm8gVzNcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCJZdSBHb3RoaWMgTWVkaXVtXCIsIFwi5ri444K044K344OD44KvIE1lZGl1bVwiLCBZdUdvdGhpYywgXCLmuLjjgrTjgrfjg4Pjgq/kvZNcIiwgXCLjg6HjgqTjg6rjgqpcIiwgc2Fucy1zZXJpZjsgLy/lpInmm7RcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcbiRwcmludC1ocmVmczogdHJ1ZTtcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS43NTsgLy/lpInmm7RcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGluaGVyaXQ7IC8vIOWkieabtFxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogbm9uZTsgLy/lpInmm7RcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogMS41cmVtOyAvL+WkieabtFxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogZmFsc2U7IC8v5aSJ5pu0XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAxMDBweDsgLy/lpInmm7RcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC42KTsgLy/lpInmm7RcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogMC43cmVtIDAuNXJlbTsgLy/lpInmm7RcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAjZjlmOWY5OyAvL+WkieabtFxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYygyMCAxMCk7IC8v5aSJ5pu0XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiBmYWxzZTsgLy/lpInmm7RcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7IC8v5aSJ5pu0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJHdoaXRlOyAvL+WkieabtFxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogNDBweFxuKTsgLy/lpInmm7RcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0J3MgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVyIHRoYW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBuIG9mIG4gYW5kIG51bWJlciBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJHNpemUpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gJyUnIHtcbiAgICAgICRzaXplOiAkc2l6ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHNpemUgPCAxIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgb3IgXCJuL25cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYGdyb3dgLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgYmFzZSBzdHlsZSwgYWxsIG90aGVycyBpbmhlcml0IGZyb20gaXRcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRzaXplKX0gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicC1pcy1mYWxsYmFjazogZmFsc2U7XG5cbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgICAgJGJwLWlzLWZhbGxiYWNrOiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIGZvciB0aGUgZ2l2ZW4gYnJlYWtwb2ludC92YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBmYWxsYmFjaywgdXNlIGEgZmFsbGJhY2sgZ3V0dGVyIGFzIHdlbGxcbiAgQGlmICgkYnAtaXMtZmFsbGJhY2sgPT0gdHJ1ZSBhbmQgJGd1dHRlciA9PSBudWxsKSB7XG4gICAgJGd1dHRlcjogMDtcbiAgfVxuXG4gIEBpZigkZ3V0dGVyICE9IG51bGwpIHtcbiAgICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAneHktY2VsbDogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCIsIGNlbGwgd2FzIG5vdCBnZW5lcmF0ZWRgJ1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZSBmb3IgYCRndXR0ZXJzYC4gU2VlIGAtemYtYnJlYWtwb2ludC12YWx1ZSgpYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci1tYXJnaW4gPT0gMCwgI3t4eS1jZWxsLXNpemUoJG4pfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkbil9ICsgI3skZ3V0dGVyLW1hcmdpbn0pKTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLiAoT25seSBuZWVkZWQgd2hlbiAkZ2xvYmFsLWZsZXhib3g6IGZhbHNlOylcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skc3BhY2luZ30pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuXG4gICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhhcy10aXAtY3Vyc29yOiBoZWxwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3I7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYudG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYubWlkZGxlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBwYXVzZS1xdWV1ZS1jbGFzczogJ2lzLXBhdXNlZCcsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gXCIjeyRvdXRwdXR9XCI7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiAtbXVpLWlzLWZ1bmN0aW9uKCRtYXApIHtcbiAgICAgICRtYXA6IC1tdWktc2FmZS1jYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC4gQnkgZGVmYXVsdCBgbGVmdGAgYW5kIGByaWdodGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBudWxsLFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGxlZnQsIHJpZ2h0KSk7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBPcGFjaXR5IHRvIGVuZCBvbi4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW251bGxdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC4gQnkgZGVmYXVsdCBgZnJvbS1iYWNrYCBhbmQgYGZyb20tZnJvbnRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAtbXVpLXN0cmluZy1zYWZlKCdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyksXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICR0dXJuLW9yaWdpbjogaWYoJHR1cm4tb3JpZ2luICE9IG51bGwsICR0dXJuLW9yaWdpbiwgaWYoJHN0YXRlID09IGluLCBmcm9tLWJhY2ssIGZyb20tZnJvbnQpKTtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFtudWxsXSAtIFNpemUgdG8gc3RhcnQgYXQuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBTaXplIHRvIGVuZCBhdC4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZnJvbTogaWYoJGZyb20gIT0gbnVsbCwgJGZyb20sIGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSkpO1xuICAkdG86IGlmKCR0byAhPSBudWxsLCAkdG8sIGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCkpO1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLiBCeSBkZWZhdWx0IGBjd2AgYW5kIGBjY3dgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBjdywgY2N3KSk7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIl19 */
