/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/app.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700&family=Roboto+Mono:wght@300;400;700&display=swap);
/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/app.scss (1) ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 300;
  src: local("Montserrat"), local("Montserrat");
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  src: local("Montserrat"), local("Montserrat");
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  src: local("Montserrat"), local("Montserrat");
}
/*!
 * Bootstrap Reboot v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #FFF;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #000000;
  --bs-secondary: #FFF;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 0, 0, 0;
  --bs-secondary-rgb: 255, 255, 255;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: black;
  --bs-secondary-text-emphasis: #666666;
  --bs-success-text-emphasis: #0a3622;
  --bs-info-text-emphasis: #055160;
  --bs-warning-text-emphasis: #664d03;
  --bs-danger-text-emphasis: #58151c;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #cccccc;
  --bs-secondary-bg-subtle: white;
  --bs-success-bg-subtle: #d1e7dd;
  --bs-info-bg-subtle: #cff4fc;
  --bs-warning-bg-subtle: #fff3cd;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #999999;
  --bs-secondary-border-subtle: white;
  --bs-success-border-subtle: #a3cfbb;
  --bs-info-border-subtle: #9eeaf9;
  --bs-warning-border-subtle: #ffe69c;
  --bs-danger-border-subtle: #f1aeb5;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: "Montserrat", sans-serif;
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(0deg, rgba(155, 132, 63, 0) 0%, rgba(155, 132, 63, 0.8) 80%);
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.42;
  --bs-body-color: #707070;
  --bs-body-color-rgb: 112, 112, 112;
  --bs-body-bg: #FFF;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(112, 112, 112, 0.75);
  --bs-secondary-color-rgb: 112, 112, 112;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(112, 112, 112, 0.5);
  --bs-tertiary-color-rgb: 112, 112, 112;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #000000;
  --bs-link-color-rgb: 0, 0, 0;
  --bs-link-decoration: underline;
  --bs-link-hover-color: black;
  --bs-link-hover-color-rgb: 0, 0, 0;
  --bs-code-color: #d63384;
  --bs-highlight-color: #707070;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #000000;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0px;
  --bs-border-radius-sm: 0px;
  --bs-border-radius-lg: 0px;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(0, 0, 0, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #FFF;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: #2b3035;
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: #666666;
  --bs-secondary-text-emphasis: white;
  --bs-success-text-emphasis: #75b798;
  --bs-info-text-emphasis: #6edff6;
  --bs-warning-text-emphasis: #ffda6a;
  --bs-danger-text-emphasis: #ea868f;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: black;
  --bs-secondary-bg-subtle: #333333;
  --bs-success-bg-subtle: #051b11;
  --bs-info-bg-subtle: #032830;
  --bs-warning-bg-subtle: #332701;
  --bs-danger-bg-subtle: #2c0b0e;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: black;
  --bs-secondary-border-subtle: #999999;
  --bs-success-border-subtle: #0f5132;
  --bs-info-border-subtle: #087990;
  --bs-warning-border-subtle: #997404;
  --bs-danger-border-subtle: #842029;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: #666666;
  --bs-link-hover-color: #858585;
  --bs-link-color-rgb: 102, 102, 102;
  --bs-link-hover-color-rgb: 133, 133, 133;
  --bs-code-color: #e685b5;
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: #664d03;
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #75b798;
  --bs-form-valid-border-color: #75b798;
  --bs-form-invalid-color: #ea868f;
  --bs-form-invalid-border-color: #ea868f;
}

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

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
  margin: 20px 0;
  color: inherit;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 0.25;
}

h6, h5, h4, h3, h2, h1 {
  margin-top: 0;
  margin-bottom: 10px;
  font-style: inherit;
  font-weight: 400;
  line-height: 1;
  color: var(--bs-heading-color);
}

h1 {
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  h1 {
    font-size: 2.5rem;
  }
}

h2 {
  font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
  h2 {
    font-size: 2rem;
  }
}

h3 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h3 {
    font-size: 1.75rem;
  }
}

h4 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h4 {
    font-size: 1.5rem;
  }
}

h5 {
  font-size: 1.25rem;
}

h6 {
  font-size: 1rem;
}

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

abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none;
}

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

ol,
ul {
  padding-left: 2rem;
}

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

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

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 0.875em;
}

mark {
  padding: 0.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: var(--bs-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0px;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-secondary-color);
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

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

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

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

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

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

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

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

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

/*!
 * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 20px;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1400px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1600px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1400px;
  --bs-breakpoint-xxl: 1600px;
}

.row {
  --bs-gutter-x: 20px;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  box-sizing: border-box;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

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

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

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

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

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

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

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

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

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

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

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

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

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

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 5px;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 5px;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 10px;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 10px;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 20px;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 20px;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 60px;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 60px;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 80px;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 80px;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 5px;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 5px;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 10px;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 10px;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 20px;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 20px;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 60px;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 60px;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 80px;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 80px;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 5px;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 5px;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 10px;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 10px;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 20px;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 20px;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 60px;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 60px;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 80px;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 80px;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 5px;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 5px;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 10px;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 10px;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 20px;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 20px;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 60px;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 60px;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 80px;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 80px;
  }
}
@media (min-width: 1400px) {
  .col-xl {
    flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 5px;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 5px;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 10px;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 10px;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 20px;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 20px;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 60px;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 60px;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 80px;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 80px;
  }
}
@media (min-width: 1600px) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 5px;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 5px;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 10px;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 10px;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 20px;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 20px;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 60px;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 60px;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 80px;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 80px;
  }
}
.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-inline-grid {
  display: inline-grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.order-first {
  order: -1 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 5px !important;
}

.m-2 {
  margin: 10px !important;
}

.m-3 {
  margin: 20px !important;
}

.m-4 {
  margin: 30px !important;
}

.m-5 {
  margin: 60px !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 5px !important;
  margin-left: 5px !important;
}

.mx-2 {
  margin-right: 10px !important;
  margin-left: 10px !important;
}

.mx-3 {
  margin-right: 20px !important;
  margin-left: 20px !important;
}

.mx-4 {
  margin-right: 30px !important;
  margin-left: 30px !important;
}

.mx-5 {
  margin-right: 60px !important;
  margin-left: 60px !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

.my-2 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.my-3 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.my-4 {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

.my-5 {
  margin-top: 60px !important;
  margin-bottom: 60px !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 5px !important;
}

.mt-2 {
  margin-top: 10px !important;
}

.mt-3 {
  margin-top: 20px !important;
}

.mt-4 {
  margin-top: 30px !important;
}

.mt-5 {
  margin-top: 60px !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 5px !important;
}

.me-2 {
  margin-right: 10px !important;
}

.me-3 {
  margin-right: 20px !important;
}

.me-4 {
  margin-right: 30px !important;
}

.me-5 {
  margin-right: 60px !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 5px !important;
}

.mb-2 {
  margin-bottom: 10px !important;
}

.mb-3 {
  margin-bottom: 20px !important;
}

.mb-4 {
  margin-bottom: 30px !important;
}

.mb-5 {
  margin-bottom: 60px !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 5px !important;
}

.ms-2 {
  margin-left: 10px !important;
}

.ms-3 {
  margin-left: 20px !important;
}

.ms-4 {
  margin-left: 30px !important;
}

.ms-5 {
  margin-left: 60px !important;
}

.ms-auto {
  margin-left: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 5px !important;
}

.p-2 {
  padding: 10px !important;
}

.p-3 {
  padding: 20px !important;
}

.p-4 {
  padding: 30px !important;
}

.p-5 {
  padding: 60px !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 5px !important;
  padding-left: 5px !important;
}

.px-2 {
  padding-right: 10px !important;
  padding-left: 10px !important;
}

.px-3 {
  padding-right: 20px !important;
  padding-left: 20px !important;
}

.px-4 {
  padding-right: 30px !important;
  padding-left: 30px !important;
}

.px-5 {
  padding-right: 60px !important;
  padding-left: 60px !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.py-2 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.py-3 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.py-4 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.py-5 {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 5px !important;
}

.pt-2 {
  padding-top: 10px !important;
}

.pt-3 {
  padding-top: 20px !important;
}

.pt-4 {
  padding-top: 30px !important;
}

.pt-5 {
  padding-top: 60px !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 5px !important;
}

.pe-2 {
  padding-right: 10px !important;
}

.pe-3 {
  padding-right: 20px !important;
}

.pe-4 {
  padding-right: 30px !important;
}

.pe-5 {
  padding-right: 60px !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 5px !important;
}

.pb-2 {
  padding-bottom: 10px !important;
}

.pb-3 {
  padding-bottom: 20px !important;
}

.pb-4 {
  padding-bottom: 30px !important;
}

.pb-5 {
  padding-bottom: 60px !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 5px !important;
}

.ps-2 {
  padding-left: 10px !important;
}

.ps-3 {
  padding-left: 20px !important;
}

.ps-4 {
  padding-left: 30px !important;
}

.ps-5 {
  padding-left: 60px !important;
}

@media (min-width: 576px) {
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 5px !important;
  }
  .m-sm-2 {
    margin: 10px !important;
  }
  .m-sm-3 {
    margin: 20px !important;
  }
  .m-sm-4 {
    margin: 30px !important;
  }
  .m-sm-5 {
    margin: 60px !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .mx-sm-2 {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .mx-sm-3 {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .mx-sm-4 {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .mx-sm-5 {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .my-sm-2 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .my-sm-3 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .my-sm-4 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .my-sm-5 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 5px !important;
  }
  .mt-sm-2 {
    margin-top: 10px !important;
  }
  .mt-sm-3 {
    margin-top: 20px !important;
  }
  .mt-sm-4 {
    margin-top: 30px !important;
  }
  .mt-sm-5 {
    margin-top: 60px !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 5px !important;
  }
  .me-sm-2 {
    margin-right: 10px !important;
  }
  .me-sm-3 {
    margin-right: 20px !important;
  }
  .me-sm-4 {
    margin-right: 30px !important;
  }
  .me-sm-5 {
    margin-right: 60px !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 5px !important;
  }
  .mb-sm-2 {
    margin-bottom: 10px !important;
  }
  .mb-sm-3 {
    margin-bottom: 20px !important;
  }
  .mb-sm-4 {
    margin-bottom: 30px !important;
  }
  .mb-sm-5 {
    margin-bottom: 60px !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 5px !important;
  }
  .ms-sm-2 {
    margin-left: 10px !important;
  }
  .ms-sm-3 {
    margin-left: 20px !important;
  }
  .ms-sm-4 {
    margin-left: 30px !important;
  }
  .ms-sm-5 {
    margin-left: 60px !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 5px !important;
  }
  .p-sm-2 {
    padding: 10px !important;
  }
  .p-sm-3 {
    padding: 20px !important;
  }
  .p-sm-4 {
    padding: 30px !important;
  }
  .p-sm-5 {
    padding: 60px !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .px-sm-2 {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .px-sm-3 {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .px-sm-4 {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .px-sm-5 {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .py-sm-2 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .py-sm-3 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .py-sm-4 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .py-sm-5 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 5px !important;
  }
  .pt-sm-2 {
    padding-top: 10px !important;
  }
  .pt-sm-3 {
    padding-top: 20px !important;
  }
  .pt-sm-4 {
    padding-top: 30px !important;
  }
  .pt-sm-5 {
    padding-top: 60px !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 5px !important;
  }
  .pe-sm-2 {
    padding-right: 10px !important;
  }
  .pe-sm-3 {
    padding-right: 20px !important;
  }
  .pe-sm-4 {
    padding-right: 30px !important;
  }
  .pe-sm-5 {
    padding-right: 60px !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 5px !important;
  }
  .pb-sm-2 {
    padding-bottom: 10px !important;
  }
  .pb-sm-3 {
    padding-bottom: 20px !important;
  }
  .pb-sm-4 {
    padding-bottom: 30px !important;
  }
  .pb-sm-5 {
    padding-bottom: 60px !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 5px !important;
  }
  .ps-sm-2 {
    padding-left: 10px !important;
  }
  .ps-sm-3 {
    padding-left: 20px !important;
  }
  .ps-sm-4 {
    padding-left: 30px !important;
  }
  .ps-sm-5 {
    padding-left: 60px !important;
  }
}
@media (min-width: 768px) {
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 5px !important;
  }
  .m-md-2 {
    margin: 10px !important;
  }
  .m-md-3 {
    margin: 20px !important;
  }
  .m-md-4 {
    margin: 30px !important;
  }
  .m-md-5 {
    margin: 60px !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .mx-md-2 {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .mx-md-3 {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .mx-md-4 {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .mx-md-5 {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .my-md-2 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .my-md-3 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .my-md-4 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .my-md-5 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 5px !important;
  }
  .mt-md-2 {
    margin-top: 10px !important;
  }
  .mt-md-3 {
    margin-top: 20px !important;
  }
  .mt-md-4 {
    margin-top: 30px !important;
  }
  .mt-md-5 {
    margin-top: 60px !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 5px !important;
  }
  .me-md-2 {
    margin-right: 10px !important;
  }
  .me-md-3 {
    margin-right: 20px !important;
  }
  .me-md-4 {
    margin-right: 30px !important;
  }
  .me-md-5 {
    margin-right: 60px !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 5px !important;
  }
  .mb-md-2 {
    margin-bottom: 10px !important;
  }
  .mb-md-3 {
    margin-bottom: 20px !important;
  }
  .mb-md-4 {
    margin-bottom: 30px !important;
  }
  .mb-md-5 {
    margin-bottom: 60px !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 5px !important;
  }
  .ms-md-2 {
    margin-left: 10px !important;
  }
  .ms-md-3 {
    margin-left: 20px !important;
  }
  .ms-md-4 {
    margin-left: 30px !important;
  }
  .ms-md-5 {
    margin-left: 60px !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 5px !important;
  }
  .p-md-2 {
    padding: 10px !important;
  }
  .p-md-3 {
    padding: 20px !important;
  }
  .p-md-4 {
    padding: 30px !important;
  }
  .p-md-5 {
    padding: 60px !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .px-md-2 {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .px-md-3 {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .px-md-4 {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .px-md-5 {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .py-md-2 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .py-md-3 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .py-md-4 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .py-md-5 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 5px !important;
  }
  .pt-md-2 {
    padding-top: 10px !important;
  }
  .pt-md-3 {
    padding-top: 20px !important;
  }
  .pt-md-4 {
    padding-top: 30px !important;
  }
  .pt-md-5 {
    padding-top: 60px !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 5px !important;
  }
  .pe-md-2 {
    padding-right: 10px !important;
  }
  .pe-md-3 {
    padding-right: 20px !important;
  }
  .pe-md-4 {
    padding-right: 30px !important;
  }
  .pe-md-5 {
    padding-right: 60px !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 5px !important;
  }
  .pb-md-2 {
    padding-bottom: 10px !important;
  }
  .pb-md-3 {
    padding-bottom: 20px !important;
  }
  .pb-md-4 {
    padding-bottom: 30px !important;
  }
  .pb-md-5 {
    padding-bottom: 60px !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 5px !important;
  }
  .ps-md-2 {
    padding-left: 10px !important;
  }
  .ps-md-3 {
    padding-left: 20px !important;
  }
  .ps-md-4 {
    padding-left: 30px !important;
  }
  .ps-md-5 {
    padding-left: 60px !important;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 5px !important;
  }
  .m-lg-2 {
    margin: 10px !important;
  }
  .m-lg-3 {
    margin: 20px !important;
  }
  .m-lg-4 {
    margin: 30px !important;
  }
  .m-lg-5 {
    margin: 60px !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .mx-lg-2 {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .mx-lg-3 {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .mx-lg-4 {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .mx-lg-5 {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .my-lg-2 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .my-lg-3 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .my-lg-4 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .my-lg-5 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 5px !important;
  }
  .mt-lg-2 {
    margin-top: 10px !important;
  }
  .mt-lg-3 {
    margin-top: 20px !important;
  }
  .mt-lg-4 {
    margin-top: 30px !important;
  }
  .mt-lg-5 {
    margin-top: 60px !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 5px !important;
  }
  .me-lg-2 {
    margin-right: 10px !important;
  }
  .me-lg-3 {
    margin-right: 20px !important;
  }
  .me-lg-4 {
    margin-right: 30px !important;
  }
  .me-lg-5 {
    margin-right: 60px !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 5px !important;
  }
  .mb-lg-2 {
    margin-bottom: 10px !important;
  }
  .mb-lg-3 {
    margin-bottom: 20px !important;
  }
  .mb-lg-4 {
    margin-bottom: 30px !important;
  }
  .mb-lg-5 {
    margin-bottom: 60px !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 5px !important;
  }
  .ms-lg-2 {
    margin-left: 10px !important;
  }
  .ms-lg-3 {
    margin-left: 20px !important;
  }
  .ms-lg-4 {
    margin-left: 30px !important;
  }
  .ms-lg-5 {
    margin-left: 60px !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 5px !important;
  }
  .p-lg-2 {
    padding: 10px !important;
  }
  .p-lg-3 {
    padding: 20px !important;
  }
  .p-lg-4 {
    padding: 30px !important;
  }
  .p-lg-5 {
    padding: 60px !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .px-lg-2 {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .px-lg-3 {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .px-lg-4 {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .px-lg-5 {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .py-lg-2 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .py-lg-3 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .py-lg-4 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .py-lg-5 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 5px !important;
  }
  .pt-lg-2 {
    padding-top: 10px !important;
  }
  .pt-lg-3 {
    padding-top: 20px !important;
  }
  .pt-lg-4 {
    padding-top: 30px !important;
  }
  .pt-lg-5 {
    padding-top: 60px !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 5px !important;
  }
  .pe-lg-2 {
    padding-right: 10px !important;
  }
  .pe-lg-3 {
    padding-right: 20px !important;
  }
  .pe-lg-4 {
    padding-right: 30px !important;
  }
  .pe-lg-5 {
    padding-right: 60px !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 5px !important;
  }
  .pb-lg-2 {
    padding-bottom: 10px !important;
  }
  .pb-lg-3 {
    padding-bottom: 20px !important;
  }
  .pb-lg-4 {
    padding-bottom: 30px !important;
  }
  .pb-lg-5 {
    padding-bottom: 60px !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 5px !important;
  }
  .ps-lg-2 {
    padding-left: 10px !important;
  }
  .ps-lg-3 {
    padding-left: 20px !important;
  }
  .ps-lg-4 {
    padding-left: 30px !important;
  }
  .ps-lg-5 {
    padding-left: 60px !important;
  }
}
@media (min-width: 1400px) {
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 5px !important;
  }
  .m-xl-2 {
    margin: 10px !important;
  }
  .m-xl-3 {
    margin: 20px !important;
  }
  .m-xl-4 {
    margin: 30px !important;
  }
  .m-xl-5 {
    margin: 60px !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .mx-xl-2 {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .mx-xl-3 {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .mx-xl-4 {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .mx-xl-5 {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .my-xl-2 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .my-xl-3 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .my-xl-4 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .my-xl-5 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 5px !important;
  }
  .mt-xl-2 {
    margin-top: 10px !important;
  }
  .mt-xl-3 {
    margin-top: 20px !important;
  }
  .mt-xl-4 {
    margin-top: 30px !important;
  }
  .mt-xl-5 {
    margin-top: 60px !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 5px !important;
  }
  .me-xl-2 {
    margin-right: 10px !important;
  }
  .me-xl-3 {
    margin-right: 20px !important;
  }
  .me-xl-4 {
    margin-right: 30px !important;
  }
  .me-xl-5 {
    margin-right: 60px !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 5px !important;
  }
  .mb-xl-2 {
    margin-bottom: 10px !important;
  }
  .mb-xl-3 {
    margin-bottom: 20px !important;
  }
  .mb-xl-4 {
    margin-bottom: 30px !important;
  }
  .mb-xl-5 {
    margin-bottom: 60px !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 5px !important;
  }
  .ms-xl-2 {
    margin-left: 10px !important;
  }
  .ms-xl-3 {
    margin-left: 20px !important;
  }
  .ms-xl-4 {
    margin-left: 30px !important;
  }
  .ms-xl-5 {
    margin-left: 60px !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 5px !important;
  }
  .p-xl-2 {
    padding: 10px !important;
  }
  .p-xl-3 {
    padding: 20px !important;
  }
  .p-xl-4 {
    padding: 30px !important;
  }
  .p-xl-5 {
    padding: 60px !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .px-xl-2 {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .px-xl-3 {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .px-xl-4 {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .px-xl-5 {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .py-xl-2 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .py-xl-3 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .py-xl-4 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .py-xl-5 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 5px !important;
  }
  .pt-xl-2 {
    padding-top: 10px !important;
  }
  .pt-xl-3 {
    padding-top: 20px !important;
  }
  .pt-xl-4 {
    padding-top: 30px !important;
  }
  .pt-xl-5 {
    padding-top: 60px !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 5px !important;
  }
  .pe-xl-2 {
    padding-right: 10px !important;
  }
  .pe-xl-3 {
    padding-right: 20px !important;
  }
  .pe-xl-4 {
    padding-right: 30px !important;
  }
  .pe-xl-5 {
    padding-right: 60px !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 5px !important;
  }
  .pb-xl-2 {
    padding-bottom: 10px !important;
  }
  .pb-xl-3 {
    padding-bottom: 20px !important;
  }
  .pb-xl-4 {
    padding-bottom: 30px !important;
  }
  .pb-xl-5 {
    padding-bottom: 60px !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 5px !important;
  }
  .ps-xl-2 {
    padding-left: 10px !important;
  }
  .ps-xl-3 {
    padding-left: 20px !important;
  }
  .ps-xl-4 {
    padding-left: 30px !important;
  }
  .ps-xl-5 {
    padding-left: 60px !important;
  }
}
@media (min-width: 1600px) {
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 5px !important;
  }
  .m-xxl-2 {
    margin: 10px !important;
  }
  .m-xxl-3 {
    margin: 20px !important;
  }
  .m-xxl-4 {
    margin: 30px !important;
  }
  .m-xxl-5 {
    margin: 60px !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .mx-xxl-2 {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .mx-xxl-3 {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .mx-xxl-4 {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .mx-xxl-5 {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .my-xxl-2 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .my-xxl-3 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .my-xxl-4 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .my-xxl-5 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 5px !important;
  }
  .mt-xxl-2 {
    margin-top: 10px !important;
  }
  .mt-xxl-3 {
    margin-top: 20px !important;
  }
  .mt-xxl-4 {
    margin-top: 30px !important;
  }
  .mt-xxl-5 {
    margin-top: 60px !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 5px !important;
  }
  .me-xxl-2 {
    margin-right: 10px !important;
  }
  .me-xxl-3 {
    margin-right: 20px !important;
  }
  .me-xxl-4 {
    margin-right: 30px !important;
  }
  .me-xxl-5 {
    margin-right: 60px !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 5px !important;
  }
  .mb-xxl-2 {
    margin-bottom: 10px !important;
  }
  .mb-xxl-3 {
    margin-bottom: 20px !important;
  }
  .mb-xxl-4 {
    margin-bottom: 30px !important;
  }
  .mb-xxl-5 {
    margin-bottom: 60px !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 5px !important;
  }
  .ms-xxl-2 {
    margin-left: 10px !important;
  }
  .ms-xxl-3 {
    margin-left: 20px !important;
  }
  .ms-xxl-4 {
    margin-left: 30px !important;
  }
  .ms-xxl-5 {
    margin-left: 60px !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 5px !important;
  }
  .p-xxl-2 {
    padding: 10px !important;
  }
  .p-xxl-3 {
    padding: 20px !important;
  }
  .p-xxl-4 {
    padding: 30px !important;
  }
  .p-xxl-5 {
    padding: 60px !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .px-xxl-2 {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .px-xxl-3 {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .px-xxl-4 {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .px-xxl-5 {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .py-xxl-2 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .py-xxl-3 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .py-xxl-4 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .py-xxl-5 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 5px !important;
  }
  .pt-xxl-2 {
    padding-top: 10px !important;
  }
  .pt-xxl-3 {
    padding-top: 20px !important;
  }
  .pt-xxl-4 {
    padding-top: 30px !important;
  }
  .pt-xxl-5 {
    padding-top: 60px !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 5px !important;
  }
  .pe-xxl-2 {
    padding-right: 10px !important;
  }
  .pe-xxl-3 {
    padding-right: 20px !important;
  }
  .pe-xxl-4 {
    padding-right: 30px !important;
  }
  .pe-xxl-5 {
    padding-right: 60px !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 5px !important;
  }
  .pb-xxl-2 {
    padding-bottom: 10px !important;
  }
  .pb-xxl-3 {
    padding-bottom: 20px !important;
  }
  .pb-xxl-4 {
    padding-bottom: 30px !important;
  }
  .pb-xxl-5 {
    padding-bottom: 60px !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 5px !important;
  }
  .ps-xxl-2 {
    padding-left: 10px !important;
  }
  .ps-xxl-3 {
    padding-left: 20px !important;
  }
  .ps-xxl-4 {
    padding-left: 30px !important;
  }
  .ps-xxl-5 {
    padding-left: 60px !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
.btn {
  --bs-btn-padding-x: 20px;
  --bs-btn-padding-y: 10px;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 0.875 rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.42;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}
.btn-check + .btn:hover {
  color: var(--bs-btn-color);
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
}
.btn:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn {
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked:focus-visible + .btn {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  color: var(--bs-btn-disabled-color);
  pointer-events: none;
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
}

.btn-primary {
  --bs-btn-color: #FFF;
  --bs-btn-bg: #000000;
  --bs-btn-border-color: #000000;
  --bs-btn-hover-color: #FFF;
  --bs-btn-hover-bg: black;
  --bs-btn-hover-border-color: black;
  --bs-btn-focus-shadow-rgb: 38, 38, 38;
  --bs-btn-active-color: #FFF;
  --bs-btn-active-bg: black;
  --bs-btn-active-border-color: black;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #FFF;
  --bs-btn-disabled-bg: #000000;
  --bs-btn-disabled-border-color: #000000;
}

.btn-secondary {
  --bs-btn-color: #000;
  --bs-btn-bg: #FFF;
  --bs-btn-border-color: #FFF;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: white;
  --bs-btn-hover-border-color: white;
  --bs-btn-focus-shadow-rgb: 217, 217, 217;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: white;
  --bs-btn-active-border-color: white;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #FFF;
  --bs-btn-disabled-border-color: #FFF;
}

.btn-success {
  --bs-btn-color: #FFF;
  --bs-btn-bg: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #FFF;
  --bs-btn-hover-bg: #157347;
  --bs-btn-hover-border-color: #146c43;
  --bs-btn-focus-shadow-rgb: 60, 153, 110;
  --bs-btn-active-color: #FFF;
  --bs-btn-active-bg: #146c43;
  --bs-btn-active-border-color: #13653f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #FFF;
  --bs-btn-disabled-bg: #198754;
  --bs-btn-disabled-border-color: #198754;
}

.btn-info {
  --bs-btn-color: #000;
  --bs-btn-bg: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #31d2f2;
  --bs-btn-hover-border-color: #25cff2;
  --bs-btn-focus-shadow-rgb: 11, 172, 204;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #3dd5f3;
  --bs-btn-active-border-color: #25cff2;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #0dcaf0;
  --bs-btn-disabled-border-color: #0dcaf0;
}

.btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffca2c;
  --bs-btn-hover-border-color: #ffc720;
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffcd39;
  --bs-btn-active-border-color: #ffc720;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ffc107;
  --bs-btn-disabled-border-color: #ffc107;
}

.btn-danger {
  --bs-btn-color: #FFF;
  --bs-btn-bg: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #FFF;
  --bs-btn-hover-bg: #bb2d3b;
  --bs-btn-hover-border-color: #b02a37;
  --bs-btn-focus-shadow-rgb: 225, 83, 97;
  --bs-btn-active-color: #FFF;
  --bs-btn-active-bg: #b02a37;
  --bs-btn-active-border-color: #a52834;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #FFF;
  --bs-btn-disabled-bg: #dc3545;
  --bs-btn-disabled-border-color: #dc3545;
}

.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d3d4d5;
  --bs-btn-hover-border-color: #c6c7c8;
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c6c7c8;
  --bs-btn-active-border-color: #babbbc;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}

.btn-dark {
  --bs-btn-color: #FFF;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #FFF;
  --bs-btn-hover-bg: #424649;
  --bs-btn-hover-border-color: #373b3e;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #FFF;
  --bs-btn-active-bg: #4d5154;
  --bs-btn-active-border-color: #373b3e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #FFF;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}

.btn-outline-primary {
  --bs-btn-color: #000000;
  --bs-btn-border-color: #000000;
  --bs-btn-hover-color: #FFF;
  --bs-btn-hover-bg: #000000;
  --bs-btn-hover-border-color: #000000;
  --bs-btn-focus-shadow-rgb: 0, 0, 0;
  --bs-btn-active-color: #FFF;
  --bs-btn-active-bg: #000000;
  --bs-btn-active-border-color: #000000;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000000;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #000000;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #FFF;
  --bs-btn-border-color: #FFF;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #FFF;
  --bs-btn-hover-border-color: #FFF;
  --bs-btn-focus-shadow-rgb: 255, 255, 255;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #FFF;
  --bs-btn-active-border-color: #FFF;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #FFF;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #FFF;
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #FFF;
  --bs-btn-hover-bg: #198754;
  --bs-btn-hover-border-color: #198754;
  --bs-btn-focus-shadow-rgb: 25, 135, 84;
  --bs-btn-active-color: #FFF;
  --bs-btn-active-bg: #198754;
  --bs-btn-active-border-color: #198754;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #198754;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #198754;
  --bs-gradient: none;
}

.btn-outline-info {
  --bs-btn-color: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #0dcaf0;
  --bs-btn-hover-border-color: #0dcaf0;
  --bs-btn-focus-shadow-rgb: 13, 202, 240;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #0dcaf0;
  --bs-btn-active-border-color: #0dcaf0;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0dcaf0;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0dcaf0;
  --bs-gradient: none;
}

.btn-outline-warning {
  --bs-btn-color: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffc107;
  --bs-btn-hover-border-color: #ffc107;
  --bs-btn-focus-shadow-rgb: 255, 193, 7;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffc107;
  --bs-btn-active-border-color: #ffc107;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ffc107;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ffc107;
  --bs-gradient: none;
}

.btn-outline-danger {
  --bs-btn-color: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #FFF;
  --bs-btn-hover-bg: #dc3545;
  --bs-btn-hover-border-color: #dc3545;
  --bs-btn-focus-shadow-rgb: 220, 53, 69;
  --bs-btn-active-color: #FFF;
  --bs-btn-active-bg: #dc3545;
  --bs-btn-active-border-color: #dc3545;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #dc3545;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #dc3545;
  --bs-gradient: none;
}

.btn-outline-light {
  --bs-btn-color: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f8f9fa;
  --bs-btn-hover-border-color: #f8f9fa;
  --bs-btn-focus-shadow-rgb: 248, 249, 250;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f8f9fa;
  --bs-btn-active-border-color: #f8f9fa;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #f8f9fa;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f8f9fa;
  --bs-gradient: none;
}

.btn-outline-dark {
  --bs-btn-color: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #FFF;
  --bs-btn-hover-bg: #212529;
  --bs-btn-hover-border-color: #212529;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #FFF;
  --bs-btn-active-bg: #212529;
  --bs-btn-active-border-color: #212529;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #212529;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #212529;
  --bs-gradient: none;
}

.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 38, 38, 38;
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}

.btn-lg {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.25rem;
  --bs-btn-border-radius: var(--bs-border-radius-lg);
}

.btn-sm {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
}

.form-label {
  margin-bottom: 0.5rem;
}

.col-form-label {
  padding-top: calc(10px + var(--bs-border-width));
  padding-bottom: calc(10px + var(--bs-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.42;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + var(--bs-border-width));
  padding-bottom: calc(0.5rem + var(--bs-border-width));
  font-size: 1.25rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + var(--bs-border-width));
  padding-bottom: calc(0.25rem + var(--bs-border-width));
  font-size: 0.875rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}

.form-control {
  display: block;
  width: 100%;
  padding: 10px 1rem;
  font-size: 0.875 rem;
  font-weight: 400;
  line-height: 1.42;
  color: var(--bs-body-color);
  appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: 0px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: gray;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.25);
}
.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.42em;
  margin: 0;
}
.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 10px 1rem;
  margin: -10px -1rem;
  margin-inline-end: 1rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 10px 0;
  margin-bottom: 0;
  line-height: 1.42;
  color: var(--bs-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--bs-border-width) 0;
}
.form-control-plaintext:focus {
  outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  min-height: calc(1.42em + 0.5rem + calc(var(--bs-border-width) * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  margin-inline-end: 0.5rem;
}

.form-control-lg {
  min-height: calc(1.42em + 1rem + calc(var(--bs-border-width) * 2));
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}
.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  margin-inline-end: 1rem;
}

textarea.form-control {
  min-height: calc(1.42em + 20px + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
  min-height: calc(1.42em + 0.5rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-lg {
  min-height: calc(1.42em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-control-color {
  width: 3rem;
  height: calc(1.42em + 20px + calc(var(--bs-border-width) * 2));
  padding: 10px;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: 0px;
}
.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: 0px;
}
.form-control-color.form-control-sm {
  height: calc(1.42em + 0.5rem + calc(var(--bs-border-width) * 2));
}
.form-control-color.form-control-lg {
  height: calc(1.42em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 10px 3rem 10px 1rem;
  font-size: 0.875 rem;
  font-weight: 400;
  line-height: 1.42;
  color: var(--bs-body-color);
  appearance: none;
  background-color: var(--bs-body-bg);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 16px 12px;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: 0px;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: gray;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 1rem;
  background-image: none;
}
.form-select:disabled {
  background-color: var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-body-color);
}

.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}

[data-bs-theme=dark] .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23dee2e6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
}

.form-check {
  display: block;
  min-height: 1.42rem;
  padding-left: 1.92em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.92em;
}

.form-check-reverse {
  padding-right: 1.92em;
  padding-left: 0;
  text-align: right;
}
.form-check-reverse .form-check-input {
  float: right;
  margin-right: -1.92em;
  margin-left: 0;
}

.form-check-input {
  --bs-form-check-bg: var(--bs-body-bg);
  flex-shrink: 0;
  width: 1.42em;
  height: 1.42em;
  margin-top: 0em;
  vertical-align: top;
  appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--bs-border-width) solid var(--bs-border-color);
  print-color-adjust: exact;
}
.form-check-input[type=checkbox] {
  border-radius: 7px;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: gray;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.25);
}
.form-check-input:checked {
  background-color: #000000;
  border-color: #000000;
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23FFF%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23FFF%27/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: #000000;
  border-color: #000000;
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23FFF%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}

.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%280, 0, 0, 0.25%29%27/%3e%3c/svg%3e");
  width: 2em;
  margin-left: -2.5em;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27gray%27/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23FFF%27/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 2.5em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: -2.5em;
  margin-left: 0;
}

.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 0.65;
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%28255, 255, 255, 0.25%29%27/%3e%3c/svg%3e");
}

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #FFF, 0 0 0 0.25rem rgba(0, 0, 0, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #FFF, 0 0 0 0.25rem rgba(0, 0, 0, 0.25);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  appearance: none;
  background-color: #000000;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: #b3b3b3;
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  appearance: none;
  background-color: #000000;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: #b3b3b3;
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--bs-secondary-color);
}

.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  height: 100%;
  padding: 1rem 1rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--bs-border-width) solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 1rem;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-control-plaintext ~ label::after,
.form-floating > .form-select ~ label::after {
  position: absolute;
  inset: 1rem 0.5rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: 0px;
}
.form-floating > .form-control:-webkit-autofill ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: var(--bs-border-width) 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #6c757d;
}
.form-floating > :disabled ~ label::after,
.form-floating > .form-control:disabled ~ label::after {
  background-color: var(--bs-secondary-bg);
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
  z-index: 5;
}
.input-group .btn {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus {
  z-index: 5;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 10px 1rem;
  font-size: 0.875 rem;
  font-weight: 400;
  line-height: 1.42;
  color: var(--bs-body-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-tertiary-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: 0px;
}

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 4rem;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(var(--bs-border-width) * -1);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-valid-color);
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 5px 10px;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-success);
  border-radius: var(--bs-border-radius);
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: var(--bs-form-valid-border-color);
  padding-right: calc(1.42em + 20px);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.355em + 5px) center;
  background-size: calc(0.71em + 10px) calc(0.71em + 10px);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.42em + 20px);
  background-position: top calc(0.355em + 5px) right calc(0.355em + 5px);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e");
  padding-right: 5.5rem;
  background-position: right 1rem center, center right 3rem;
  background-size: 16px 12px, calc(0.71em + 10px) calc(0.71em + 10px);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated .form-control-color:valid, .form-control-color.is-valid {
  width: calc(3rem + calc(1.42em + 20px));
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--bs-form-valid-color);
}

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-invalid-color);
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 5px 10px;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-danger);
  border-radius: var(--bs-border-radius);
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
  padding-right: calc(1.42em + 20px);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.355em + 5px) center;
  background-size: calc(0.71em + 10px) calc(0.71em + 10px);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.42em + 20px);
  background-position: top calc(0.355em + 5px) right calc(0.355em + 5px);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");
  padding-right: 5.5rem;
  background-position: right 1rem center, center right 3rem;
  background-size: 16px 12px, calc(0.71em + 10px) calc(0.71em + 10px);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
  width: calc(3rem + calc(1.42em + 20px));
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--bs-form-invalid-color);
}

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}

.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 16px;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: ;
  --bs-modal-bg: var(--bs-body-bg);
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-border-width: var(--bs-border-width);
  --bs-modal-border-radius: var(--bs-border-radius-lg);
  --bs-modal-box-shadow: var(--bs-box-shadow-sm);
  --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
  --bs-modal-header-padding-x: 16px;
  --bs-modal-header-padding-y: 16px;
  --bs-modal-header-padding: 16px 16px;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --bs-modal-title-line-height: 1.42;
  --bs-modal-footer-gap: 20px;
  --bs-modal-footer-bg: ;
  --bs-modal-footer-border-color: var(--bs-border-color);
  --bs-modal-footer-border-width: var(--bs-border-width);
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--bs-modal-border-radius);
  outline: 0;
}

.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: #000;
  --bs-backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--bs-backdrop-opacity);
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
  margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: var(--bs-modal-title-line-height);
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}

.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
  background-color: var(--bs-modal-footer-bg);
  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
  border-bottom-right-radius: var(--bs-modal-inner-border-radius);
  border-bottom-left-radius: var(--bs-modal-inner-border-radius);
}
.modal-footer > * {
  margin: calc(var(--bs-modal-footer-gap) * 0.5);
}

@media (min-width: 576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: var(--bs-box-shadow);
  }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --bs-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --bs-modal-width: 800px;
  }
}
@media (min-width: 1400px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1599.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
.pagination {
  --bs-pagination-padding-x: 0.75rem;
  --bs-pagination-padding-y: 0.375rem;
  --bs-pagination-font-size: 1rem;
  --bs-pagination-color: #707070;
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-border-color: #E0E0E0;
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-hover-color: #707070;
  --bs-pagination-hover-bg: #FFF;
  --bs-pagination-hover-border-color: #000;
  --bs-pagination-focus-color: #707070;
  --bs-pagination-focus-bg: #FFF;
  --bs-pagination-focus-box-shadow: 0 0 0 1px #000;
  --bs-pagination-active-color: #707070;
  --bs-pagination-active-bg: #FFF;
  --bs-pagination-active-border-color: #000000;
  --bs-pagination-disabled-color: var(--bs-secondary-color);
  --bs-pagination-disabled-bg: var(--bs-secondary-bg);
  --bs-pagination-disabled-border-color: #E0E0E0;
  display: flex;
  padding-left: 0;
  list-style: none;
}

.page-link {
  position: relative;
  display: block;
  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size: var(--bs-pagination-font-size);
  color: var(--bs-pagination-color);
  text-decoration: none;
  background-color: var(--bs-pagination-bg);
  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .page-link {
    transition: none;
  }
}
.page-link:hover {
  z-index: 2;
  color: var(--bs-pagination-hover-color);
  background-color: var(--bs-pagination-hover-bg);
  border-color: var(--bs-pagination-hover-border-color);
}
.page-link:focus {
  z-index: 3;
  color: var(--bs-pagination-focus-color);
  background-color: var(--bs-pagination-focus-bg);
  outline: 0;
  box-shadow: var(--bs-pagination-focus-box-shadow);
}
.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--bs-pagination-active-color);
  background-color: var(--bs-pagination-active-bg);
  border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
  color: var(--bs-pagination-disabled-color);
  pointer-events: none;
  background-color: var(--bs-pagination-disabled-bg);
  border-color: var(--bs-pagination-disabled-border-color);
}

.page-item:not(:first-child) .page-link {
  margin-left: calc(var(--bs-border-width) * -1);
}
.page-item:first-child .page-link {
  border-top-left-radius: var(--bs-pagination-border-radius);
  border-bottom-left-radius: var(--bs-pagination-border-radius);
}
.page-item:last-child .page-link {
  border-top-right-radius: var(--bs-pagination-border-radius);
  border-bottom-right-radius: var(--bs-pagination-border-radius);
}

.pagination-lg {
  --bs-pagination-padding-x: 1.5rem;
  --bs-pagination-padding-y: 0.75rem;
  --bs-pagination-font-size: 1.25rem;
  --bs-pagination-border-radius: var(--bs-border-radius-lg);
}

.pagination-sm {
  --bs-pagination-padding-x: 0.5rem;
  --bs-pagination-padding-y: 0.25rem;
  --bs-pagination-font-size: 0.875rem;
  --bs-pagination-border-radius: var(--bs-border-radius-sm);
}

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 0;
  --bs-breadcrumb-bg: ;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: #606060;
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius);
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--bs-breadcrumb-item-padding-x);
  color: var(--bs-breadcrumb-divider-color);
  content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}
.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color);
}

.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 1rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --bs-dropdown-border-width: var(--bs-border-width);
  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-divider-margin-y: 10px;
  --bs-dropdown-box-shadow: var(--bs-box-shadow);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--bs-body-color);
  --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
  --bs-dropdown-link-active-color: #FFF;
  --bs-dropdown-link-active-bg: #000000;
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 20px;
  --bs-dropdown-item-padding-y: 5px;
  --bs-dropdown-header-color: #6c757d;
  --bs-dropdown-header-padding-x: 20px;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--bs-dropdown-spacer);
}

.dropdown-menu-start {
  --bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
  right: auto;
  left: 0;
}

.dropdown-menu-end {
  --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1600px) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--bs-dropdown-spacer);
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: var(--bs-dropdown-spacer);
}
.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropend .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-toggle::after {
  vertical-align: 0;
}

.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: var(--bs-dropdown-spacer);
}
.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropstart .dropdown-toggle::after {
  display: none;
}
.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropstart .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-divider {
  height: 0;
  margin: var(--bs-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  opacity: 1;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 0.875rem;
  color: var(--bs-dropdown-header-color);
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  color: var(--bs-dropdown-link-color);
}

.dropdown-menu-dark {
  --bs-dropdown-color: #dee2e6;
  --bs-dropdown-bg: #343a40;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #dee2e6;
  --bs-dropdown-link-hover-color: #FFF;
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: #FFF;
  --bs-dropdown-link-active-bg: #000000;
  --bs-dropdown-link-disabled-color: #adb5bd;
  --bs-dropdown-header-color: #adb5bd;
}

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: #E0E0E0;
  --bs-accordion-border-width: 1px;
  --bs-accordion-border-radius: 0;
  --bs-accordion-inner-border-radius: 0;
  --bs-accordion-btn-padding-x: 20px;
  --bs-accordion-btn-padding-y: 10px;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%23707070%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27M2 5L8 11L14 5%27/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%23707070%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27M2 5L8 11L14 5%27/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: 0 0 0 1px #000;
  --bs-accordion-body-padding-x: 0;
  --bs-accordion-body-padding-y: 20px;
  --bs-accordion-active-color: #000;
  --bs-accordion-active-bg: #FFF;
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type > .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.accordion-flush > .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush > .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush > .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush > .accordion-item > .accordion-header .accordion-button, .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}
.accordion-flush > .accordion-item > .accordion-collapse {
  border-radius: 0;
}

[data-bs-theme=dark] .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23666666%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23666666%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e");
}

.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

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

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}

.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 20px;
  --bs-alert-padding-y: 20px;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-radius: var(--bs-border-radius);
  --bs-alert-link-color: inherit;
  position: relative;
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
  margin-bottom: var(--bs-alert-margin-bottom);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border: var(--bs-alert-border);
  border-radius: var(--bs-alert-border-radius);
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
  color: var(--bs-alert-link-color);
}

.alert-dismissible {
  padding-right: 60px;
}
.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 25px 20px;
}

.alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis);
  --bs-alert-bg: var(--bs-primary-bg-subtle);
  --bs-alert-border-color: var(--bs-primary-border-subtle);
  --bs-alert-link-color: var(--bs-primary-text-emphasis);
}

.alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis);
  --bs-alert-bg: var(--bs-secondary-bg-subtle);
  --bs-alert-border-color: var(--bs-secondary-border-subtle);
  --bs-alert-link-color: var(--bs-secondary-text-emphasis);
}

.alert-success {
  --bs-alert-color: var(--bs-success-text-emphasis);
  --bs-alert-bg: var(--bs-success-bg-subtle);
  --bs-alert-border-color: var(--bs-success-border-subtle);
  --bs-alert-link-color: var(--bs-success-text-emphasis);
}

.alert-info {
  --bs-alert-color: var(--bs-info-text-emphasis);
  --bs-alert-bg: var(--bs-info-bg-subtle);
  --bs-alert-border-color: var(--bs-info-border-subtle);
  --bs-alert-link-color: var(--bs-info-text-emphasis);
}

.alert-warning {
  --bs-alert-color: var(--bs-warning-text-emphasis);
  --bs-alert-bg: var(--bs-warning-bg-subtle);
  --bs-alert-border-color: var(--bs-warning-border-subtle);
  --bs-alert-link-color: var(--bs-warning-text-emphasis);
}

.alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis);
  --bs-alert-bg: var(--bs-danger-bg-subtle);
  --bs-alert-border-color: var(--bs-danger-border-subtle);
  --bs-alert-link-color: var(--bs-danger-text-emphasis);
}

.alert-light {
  --bs-alert-color: var(--bs-light-text-emphasis);
  --bs-alert-bg: var(--bs-light-bg-subtle);
  --bs-alert-border-color: var(--bs-light-border-subtle);
  --bs-alert-link-color: var(--bs-light-text-emphasis);
}

.alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis);
  --bs-alert-bg: var(--bs-dark-bg-subtle);
  --bs-alert-border-color: var(--bs-dark-border-subtle);
  --bs-alert-link-color: var(--bs-dark-text-emphasis);
}

.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}
.nav-link:hover, .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.25);
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #FFF;
  --bs-nav-pills-link-active-bg: #000000;
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}

.nav-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-emphasis-color);
  --bs-table-bg: var(--bs-body-bg);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 20px;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: var(--bs-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--bs-border-width);
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}

.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: #cccccc;
  --bs-table-border-color: #a3a3a3;
  --bs-table-striped-bg: #c2c2c2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #b8b8b8;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bdbdbd;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: white;
  --bs-table-border-color: #cccccc;
  --bs-table-striped-bg: #f2f2f2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #e6e6e6;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #ececec;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-success {
  --bs-table-color: #000;
  --bs-table-bg: #d1e7dd;
  --bs-table-border-color: #a7b9b1;
  --bs-table-striped-bg: #c7dbd2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bcd0c7;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c1d6cc;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-info {
  --bs-table-color: #000;
  --bs-table-bg: #cff4fc;
  --bs-table-border-color: #a6c3ca;
  --bs-table-striped-bg: #c5e8ef;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #badce3;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfe2e9;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-warning {
  --bs-table-color: #000;
  --bs-table-bg: #fff3cd;
  --bs-table-border-color: #ccc2a4;
  --bs-table-striped-bg: #f2e7c3;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #e6dbb9;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #ece1be;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-danger {
  --bs-table-color: #000;
  --bs-table-bg: #f8d7da;
  --bs-table-border-color: #c6acae;
  --bs-table-striped-bg: #eccccf;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfc2c4;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5c7ca;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-light {
  --bs-table-color: #000;
  --bs-table-bg: #f8f9fa;
  --bs-table-border-color: #c6c7c8;
  --bs-table-striped-bg: #ecedee;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfe0e1;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5e6e7;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-dark {
  --bs-table-color: #FFF;
  --bs-table-bg: #212529;
  --bs-table-border-color: #4d5154;
  --bs-table-striped-bg: #2c3034;
  --bs-table-striped-color: #FFF;
  --bs-table-active-bg: #373b3e;
  --bs-table-active-color: #FFF;
  --bs-table-hover-bg: #323539;
  --bs-table-hover-color: #FFF;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1599.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
/*!
 * Bootstrap Utilities v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #FFF;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #000000;
  --bs-secondary: #FFF;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 0, 0, 0;
  --bs-secondary-rgb: 255, 255, 255;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: black;
  --bs-secondary-text-emphasis: #666666;
  --bs-success-text-emphasis: #0a3622;
  --bs-info-text-emphasis: #055160;
  --bs-warning-text-emphasis: #664d03;
  --bs-danger-text-emphasis: #58151c;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #cccccc;
  --bs-secondary-bg-subtle: white;
  --bs-success-bg-subtle: #d1e7dd;
  --bs-info-bg-subtle: #cff4fc;
  --bs-warning-bg-subtle: #fff3cd;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #999999;
  --bs-secondary-border-subtle: white;
  --bs-success-border-subtle: #a3cfbb;
  --bs-info-border-subtle: #9eeaf9;
  --bs-warning-border-subtle: #ffe69c;
  --bs-danger-border-subtle: #f1aeb5;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: "Montserrat", sans-serif;
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(0deg, rgba(155, 132, 63, 0) 0%, rgba(155, 132, 63, 0.8) 80%);
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.42;
  --bs-body-color: #707070;
  --bs-body-color-rgb: 112, 112, 112;
  --bs-body-bg: #FFF;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(112, 112, 112, 0.75);
  --bs-secondary-color-rgb: 112, 112, 112;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(112, 112, 112, 0.5);
  --bs-tertiary-color-rgb: 112, 112, 112;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #000000;
  --bs-link-color-rgb: 0, 0, 0;
  --bs-link-decoration: underline;
  --bs-link-hover-color: black;
  --bs-link-hover-color-rgb: 0, 0, 0;
  --bs-code-color: #d63384;
  --bs-highlight-color: #707070;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #000000;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0px;
  --bs-border-radius-sm: 0px;
  --bs-border-radius-lg: 0px;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(0, 0, 0, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #FFF;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: #2b3035;
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: #666666;
  --bs-secondary-text-emphasis: white;
  --bs-success-text-emphasis: #75b798;
  --bs-info-text-emphasis: #6edff6;
  --bs-warning-text-emphasis: #ffda6a;
  --bs-danger-text-emphasis: #ea868f;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: black;
  --bs-secondary-bg-subtle: #333333;
  --bs-success-bg-subtle: #051b11;
  --bs-info-bg-subtle: #032830;
  --bs-warning-bg-subtle: #332701;
  --bs-danger-bg-subtle: #2c0b0e;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: black;
  --bs-secondary-border-subtle: #999999;
  --bs-success-border-subtle: #0f5132;
  --bs-info-border-subtle: #087990;
  --bs-warning-border-subtle: #997404;
  --bs-danger-border-subtle: #842029;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: #666666;
  --bs-link-hover-color: #858585;
  --bs-link-color-rgb: 102, 102, 102;
  --bs-link-hover-color-rgb: 133, 133, 133;
  --bs-code-color: #e685b5;
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: #664d03;
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #75b798;
  --bs-form-valid-border-color: #75b798;
  --bs-form-invalid-color: #ea868f;
  --bs-form-invalid-border-color: #ea868f;
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.text-bg-primary {
  color: #FFF !important;
  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #000 !important;
  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #FFF !important;
  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #000 !important;
  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #000 !important;
  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #FFF !important;
  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #000 !important;
  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #FFF !important;
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}

.link-primary {
  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(0, 0, 0, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(0, 0, 0, var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: RGBA(255, 255, 255, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(255, 255, 255, var(--bs-link-underline-opacity, 1)) !important;
}

.link-success {
  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
}

.link-warning {
  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
}

.link-light {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
}

.link-dark {
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}

.link-body-emphasis {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}

.focus-ring:focus {
  outline: 0;
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}

.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}

.ratio {
  position: relative;
  width: 100%;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}

.ratio-4x3 {
  --bs-aspect-ratio: 75%;
}

.ratio-16x9 {
  --bs-aspect-ratio: 56.25%;
}

.ratio-21x9 {
  --bs-aspect-ratio: 42.8571428571%;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
}

.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1600px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}

.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--bs-border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

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

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

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

.object-fit-contain {
  object-fit: contain !important;
}

.object-fit-cover {
  object-fit: cover !important;
}

.object-fit-fill {
  object-fit: fill !important;
}

.object-fit-scale {
  object-fit: scale-down !important;
}

.object-fit-none {
  object-fit: none !important;
}

.opacity-0 {
  opacity: 0 !important;
}

.opacity-25 {
  opacity: 0.25 !important;
}

.opacity-50 {
  opacity: 0.5 !important;
}

.opacity-75 {
  opacity: 0.75 !important;
}

.opacity-100 {
  opacity: 1 !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-inline-grid {
  display: inline-grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.shadow {
  box-shadow: var(--bs-box-shadow) !important;
}

.shadow-sm {
  box-shadow: var(--bs-box-shadow-sm) !important;
}

.shadow-lg {
  box-shadow: var(--bs-box-shadow-lg) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.focus-ring-primary {
  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-secondary {
  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-success {
  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-info {
  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-warning {
  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-danger {
  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-light {
  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-dark {
  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.top-0 {
  top: 0 !important;
}

.top-50 {
  top: 50% !important;
}

.top-100 {
  top: 100% !important;
}

.bottom-0 {
  bottom: 0 !important;
}

.bottom-50 {
  bottom: 50% !important;
}

.bottom-100 {
  bottom: 100% !important;
}

.start-0 {
  left: 0 !important;
}

.start-50 {
  left: 50% !important;
}

.start-100 {
  left: 100% !important;
}

.end-0 {
  right: 0 !important;
}

.end-50 {
  right: 50% !important;
}

.end-100 {
  right: 100% !important;
}

.translate-middle {
  transform: translate(-50%, -50%) !important;
}

.translate-middle-x {
  transform: translateX(-50%) !important;
}

.translate-middle-y {
  transform: translateY(-50%) !important;
}

.border {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-0 {
  border: 0 !important;
}

.border-top {
  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-end {
  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-end-0 {
  border-right: 0 !important;
}

.border-bottom {
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-start {
  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-start-0 {
  border-left: 0 !important;
}

.border-primary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}

.border-secondary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
}

.border-success {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
}

.border-info {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
}

.border-warning {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
}

.border-danger {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
}

.border-light {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
}

.border-dark {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
}

.border-black {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}

.border-white {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
}

.border-primary-subtle {
  border-color: var(--bs-primary-border-subtle) !important;
}

.border-secondary-subtle {
  border-color: var(--bs-secondary-border-subtle) !important;
}

.border-success-subtle {
  border-color: var(--bs-success-border-subtle) !important;
}

.border-info-subtle {
  border-color: var(--bs-info-border-subtle) !important;
}

.border-warning-subtle {
  border-color: var(--bs-warning-border-subtle) !important;
}

.border-danger-subtle {
  border-color: var(--bs-danger-border-subtle) !important;
}

.border-light-subtle {
  border-color: var(--bs-light-border-subtle) !important;
}

.border-dark-subtle {
  border-color: var(--bs-dark-border-subtle) !important;
}

.border-1 {
  border-width: 1px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-3 {
  border-width: 3px !important;
}

.border-4 {
  border-width: 4px !important;
}

.border-5 {
  border-width: 5px !important;
}

.border-opacity-10 {
  --bs-border-opacity: 0.1;
}

.border-opacity-25 {
  --bs-border-opacity: 0.25;
}

.border-opacity-50 {
  --bs-border-opacity: 0.5;
}

.border-opacity-75 {
  --bs-border-opacity: 0.75;
}

.border-opacity-100 {
  --bs-border-opacity: 1;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.vw-100 {
  width: 100vw !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mh-100 {
  max-height: 100% !important;
}

.vh-100 {
  height: 100vh !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.order-first {
  order: -1 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 5px !important;
}

.m-2 {
  margin: 10px !important;
}

.m-3 {
  margin: 20px !important;
}

.m-4 {
  margin: 30px !important;
}

.m-5 {
  margin: 60px !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 5px !important;
  margin-left: 5px !important;
}

.mx-2 {
  margin-right: 10px !important;
  margin-left: 10px !important;
}

.mx-3 {
  margin-right: 20px !important;
  margin-left: 20px !important;
}

.mx-4 {
  margin-right: 30px !important;
  margin-left: 30px !important;
}

.mx-5 {
  margin-right: 60px !important;
  margin-left: 60px !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

.my-2 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.my-3 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.my-4 {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

.my-5 {
  margin-top: 60px !important;
  margin-bottom: 60px !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 5px !important;
}

.mt-2 {
  margin-top: 10px !important;
}

.mt-3 {
  margin-top: 20px !important;
}

.mt-4 {
  margin-top: 30px !important;
}

.mt-5 {
  margin-top: 60px !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 5px !important;
}

.me-2 {
  margin-right: 10px !important;
}

.me-3 {
  margin-right: 20px !important;
}

.me-4 {
  margin-right: 30px !important;
}

.me-5 {
  margin-right: 60px !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 5px !important;
}

.mb-2 {
  margin-bottom: 10px !important;
}

.mb-3 {
  margin-bottom: 20px !important;
}

.mb-4 {
  margin-bottom: 30px !important;
}

.mb-5 {
  margin-bottom: 60px !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 5px !important;
}

.ms-2 {
  margin-left: 10px !important;
}

.ms-3 {
  margin-left: 20px !important;
}

.ms-4 {
  margin-left: 30px !important;
}

.ms-5 {
  margin-left: 60px !important;
}

.ms-auto {
  margin-left: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 5px !important;
}

.p-2 {
  padding: 10px !important;
}

.p-3 {
  padding: 20px !important;
}

.p-4 {
  padding: 30px !important;
}

.p-5 {
  padding: 60px !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 5px !important;
  padding-left: 5px !important;
}

.px-2 {
  padding-right: 10px !important;
  padding-left: 10px !important;
}

.px-3 {
  padding-right: 20px !important;
  padding-left: 20px !important;
}

.px-4 {
  padding-right: 30px !important;
  padding-left: 30px !important;
}

.px-5 {
  padding-right: 60px !important;
  padding-left: 60px !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.py-2 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.py-3 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.py-4 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.py-5 {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 5px !important;
}

.pt-2 {
  padding-top: 10px !important;
}

.pt-3 {
  padding-top: 20px !important;
}

.pt-4 {
  padding-top: 30px !important;
}

.pt-5 {
  padding-top: 60px !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 5px !important;
}

.pe-2 {
  padding-right: 10px !important;
}

.pe-3 {
  padding-right: 20px !important;
}

.pe-4 {
  padding-right: 30px !important;
}

.pe-5 {
  padding-right: 60px !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 5px !important;
}

.pb-2 {
  padding-bottom: 10px !important;
}

.pb-3 {
  padding-bottom: 20px !important;
}

.pb-4 {
  padding-bottom: 30px !important;
}

.pb-5 {
  padding-bottom: 60px !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 5px !important;
}

.ps-2 {
  padding-left: 10px !important;
}

.ps-3 {
  padding-left: 20px !important;
}

.ps-4 {
  padding-left: 30px !important;
}

.ps-5 {
  padding-left: 60px !important;
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 5px !important;
}

.gap-2 {
  gap: 10px !important;
}

.gap-3 {
  gap: 20px !important;
}

.gap-4 {
  gap: 30px !important;
}

.gap-5 {
  gap: 60px !important;
}

.row-gap-0 {
  row-gap: 0 !important;
}

.row-gap-1 {
  row-gap: 5px !important;
}

.row-gap-2 {
  row-gap: 10px !important;
}

.row-gap-3 {
  row-gap: 20px !important;
}

.row-gap-4 {
  row-gap: 30px !important;
}

.row-gap-5 {
  row-gap: 60px !important;
}

.column-gap-0 {
  column-gap: 0 !important;
}

.column-gap-1 {
  column-gap: 5px !important;
}

.column-gap-2 {
  column-gap: 10px !important;
}

.column-gap-3 {
  column-gap: 20px !important;
}

.column-gap-4 {
  column-gap: 30px !important;
}

.column-gap-5 {
  column-gap: 60px !important;
}

.font-monospace {
  font-family: var(--bs-font-monospace) !important;
}

.fs-1 {
  font-size: calc(1.375rem + 1.5vw) !important;
}

.fs-2 {
  font-size: calc(1.325rem + 0.9vw) !important;
}

.fs-3 {
  font-size: calc(1.3rem + 0.6vw) !important;
}

.fs-4 {
  font-size: calc(1.275rem + 0.3vw) !important;
}

.fs-5 {
  font-size: 1.25rem !important;
}

.fs-6 {
  font-size: 1rem !important;
}

.fst-italic {
  font-style: italic !important;
}

.fst-normal {
  font-style: normal !important;
}

.fw-lighter {
  font-weight: lighter !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-bolder {
  font-weight: bolder !important;
}

.lh-1 {
  line-height: 1 !important;
}

.lh-sm {
  line-height: 1.25 !important;
}

.lh-base {
  line-height: 1.42 !important;
}

.lh-lg {
  line-height: 2 !important;
}

.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

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

.text-decoration-none {
  text-decoration: none !important;
}

.text-decoration-underline {
  text-decoration: underline !important;
}

.text-decoration-line-through {
  text-decoration: line-through !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

/* rtl:end:remove */
.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}

.text-secondary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
}

.text-success {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}

.text-info {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
}

.text-warning {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
}

.text-danger {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}

.text-light {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}

.text-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}

.text-black {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}

.text-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

.text-body {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
}

.text-muted {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}

.text-black-50 {
  --bs-text-opacity: 1;
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  --bs-text-opacity: 1;
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-body-secondary {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}

.text-body-tertiary {
  --bs-text-opacity: 1;
  color: var(--bs-tertiary-color) !important;
}

.text-body-emphasis {
  --bs-text-opacity: 1;
  color: var(--bs-emphasis-color) !important;
}

.text-reset {
  --bs-text-opacity: 1;
  color: inherit !important;
}

.text-opacity-25 {
  --bs-text-opacity: 0.25;
}

.text-opacity-50 {
  --bs-text-opacity: 0.5;
}

.text-opacity-75 {
  --bs-text-opacity: 0.75;
}

.text-opacity-100 {
  --bs-text-opacity: 1;
}

.text-primary-emphasis {
  color: var(--bs-primary-text-emphasis) !important;
}

.text-secondary-emphasis {
  color: var(--bs-secondary-text-emphasis) !important;
}

.text-success-emphasis {
  color: var(--bs-success-text-emphasis) !important;
}

.text-info-emphasis {
  color: var(--bs-info-text-emphasis) !important;
}

.text-warning-emphasis {
  color: var(--bs-warning-text-emphasis) !important;
}

.text-danger-emphasis {
  color: var(--bs-danger-text-emphasis) !important;
}

.text-light-emphasis {
  color: var(--bs-light-text-emphasis) !important;
}

.text-dark-emphasis {
  color: var(--bs-dark-text-emphasis) !important;
}

.link-opacity-10 {
  --bs-link-opacity: 0.1;
}

.link-opacity-10-hover:hover {
  --bs-link-opacity: 0.1;
}

.link-opacity-25 {
  --bs-link-opacity: 0.25;
}

.link-opacity-25-hover:hover {
  --bs-link-opacity: 0.25;
}

.link-opacity-50 {
  --bs-link-opacity: 0.5;
}

.link-opacity-50-hover:hover {
  --bs-link-opacity: 0.5;
}

.link-opacity-75 {
  --bs-link-opacity: 0.75;
}

.link-opacity-75-hover:hover {
  --bs-link-opacity: 0.75;
}

.link-opacity-100 {
  --bs-link-opacity: 1;
}

.link-opacity-100-hover:hover {
  --bs-link-opacity: 1;
}

.link-offset-1 {
  text-underline-offset: 0.125em !important;
}

.link-offset-1-hover:hover {
  text-underline-offset: 0.125em !important;
}

.link-offset-2 {
  text-underline-offset: 0.25em !important;
}

.link-offset-2-hover:hover {
  text-underline-offset: 0.25em !important;
}

.link-offset-3 {
  text-underline-offset: 0.375em !important;
}

.link-offset-3-hover:hover {
  text-underline-offset: 0.375em !important;
}

.link-underline-primary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-secondary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-success {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-info {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-warning {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-danger {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-light {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-dark {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}

.link-underline-opacity-0 {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-0-hover:hover {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-10 {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-10-hover:hover {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-25 {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-25-hover:hover {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-50 {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-50-hover:hover {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-75 {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-75-hover:hover {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-100 {
  --bs-link-underline-opacity: 1;
}

.link-underline-opacity-100-hover:hover {
  --bs-link-underline-opacity: 1;
}

.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-success {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}

.bg-info {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
}

.bg-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
}

.bg-danger {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}

.bg-light {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

.bg-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
}

.bg-white {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-transparent {
  --bs-bg-opacity: 1;
  background-color: transparent !important;
}

.bg-body-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body-tertiary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-opacity-10 {
  --bs-bg-opacity: 0.1;
}

.bg-opacity-25 {
  --bs-bg-opacity: 0.25;
}

.bg-opacity-50 {
  --bs-bg-opacity: 0.5;
}

.bg-opacity-75 {
  --bs-bg-opacity: 0.75;
}

.bg-opacity-100 {
  --bs-bg-opacity: 1;
}

.bg-primary-subtle {
  background-color: var(--bs-primary-bg-subtle) !important;
}

.bg-secondary-subtle {
  background-color: var(--bs-secondary-bg-subtle) !important;
}

.bg-success-subtle {
  background-color: var(--bs-success-bg-subtle) !important;
}

.bg-info-subtle {
  background-color: var(--bs-info-bg-subtle) !important;
}

.bg-warning-subtle {
  background-color: var(--bs-warning-bg-subtle) !important;
}

.bg-danger-subtle {
  background-color: var(--bs-danger-bg-subtle) !important;
}

.bg-light-subtle {
  background-color: var(--bs-light-bg-subtle) !important;
}

.bg-dark-subtle {
  background-color: var(--bs-dark-bg-subtle) !important;
}

.bg-gradient {
  background-image: var(--bs-gradient) !important;
}

.user-select-all {
  user-select: all !important;
}

.user-select-auto {
  user-select: auto !important;
}

.user-select-none {
  user-select: none !important;
}

.pe-none {
  pointer-events: none !important;
}

.pe-auto {
  pointer-events: auto !important;
}

.rounded {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-1 {
  border-radius: var(--bs-border-radius-sm) !important;
}

.rounded-2 {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-3 {
  border-radius: var(--bs-border-radius-lg) !important;
}

.rounded-4 {
  border-radius: var(--bs-border-radius-xl) !important;
}

.rounded-5 {
  border-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: var(--bs-border-radius-pill) !important;
}

.rounded-top {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.rounded-top-1 {
  border-top-left-radius: var(--bs-border-radius-sm) !important;
  border-top-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-top-2 {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-3 {
  border-top-left-radius: var(--bs-border-radius-lg) !important;
  border-top-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-top-4 {
  border-top-left-radius: var(--bs-border-radius-xl) !important;
  border-top-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-top-5 {
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-top-circle {
  border-top-left-radius: 50% !important;
  border-top-right-radius: 50% !important;
}

.rounded-top-pill {
  border-top-left-radius: var(--bs-border-radius-pill) !important;
  border-top-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-end {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.rounded-end-1 {
  border-top-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-end-2 {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-3 {
  border-top-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-end-4 {
  border-top-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-end-5 {
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-end-circle {
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

.rounded-end-pill {
  border-top-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-bottom {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-0 {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.rounded-bottom-1 {
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-bottom-2 {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-3 {
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-bottom-4 {
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-bottom-5 {
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-bottom-circle {
  border-bottom-right-radius: 50% !important;
  border-bottom-left-radius: 50% !important;
}

.rounded-bottom-pill {
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
}

.rounded-start {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}

.rounded-start-1 {
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
  border-top-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-start-2 {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-3 {
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
  border-top-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-start-4 {
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
  border-top-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-start-5 {
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-start-circle {
  border-bottom-left-radius: 50% !important;
  border-top-left-radius: 50% !important;
}

.rounded-start-pill {
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
  border-top-left-radius: var(--bs-border-radius-pill) !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

.z-n1 {
  z-index: -1 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.z-3 {
  z-index: 3 !important;
}

@media (min-width: 576px) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    object-fit: contain !important;
  }
  .object-fit-sm-cover {
    object-fit: cover !important;
  }
  .object-fit-sm-fill {
    object-fit: fill !important;
  }
  .object-fit-sm-scale {
    object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    object-fit: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 5px !important;
  }
  .m-sm-2 {
    margin: 10px !important;
  }
  .m-sm-3 {
    margin: 20px !important;
  }
  .m-sm-4 {
    margin: 30px !important;
  }
  .m-sm-5 {
    margin: 60px !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .mx-sm-2 {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .mx-sm-3 {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .mx-sm-4 {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .mx-sm-5 {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .my-sm-2 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .my-sm-3 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .my-sm-4 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .my-sm-5 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 5px !important;
  }
  .mt-sm-2 {
    margin-top: 10px !important;
  }
  .mt-sm-3 {
    margin-top: 20px !important;
  }
  .mt-sm-4 {
    margin-top: 30px !important;
  }
  .mt-sm-5 {
    margin-top: 60px !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 5px !important;
  }
  .me-sm-2 {
    margin-right: 10px !important;
  }
  .me-sm-3 {
    margin-right: 20px !important;
  }
  .me-sm-4 {
    margin-right: 30px !important;
  }
  .me-sm-5 {
    margin-right: 60px !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 5px !important;
  }
  .mb-sm-2 {
    margin-bottom: 10px !important;
  }
  .mb-sm-3 {
    margin-bottom: 20px !important;
  }
  .mb-sm-4 {
    margin-bottom: 30px !important;
  }
  .mb-sm-5 {
    margin-bottom: 60px !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 5px !important;
  }
  .ms-sm-2 {
    margin-left: 10px !important;
  }
  .ms-sm-3 {
    margin-left: 20px !important;
  }
  .ms-sm-4 {
    margin-left: 30px !important;
  }
  .ms-sm-5 {
    margin-left: 60px !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 5px !important;
  }
  .p-sm-2 {
    padding: 10px !important;
  }
  .p-sm-3 {
    padding: 20px !important;
  }
  .p-sm-4 {
    padding: 30px !important;
  }
  .p-sm-5 {
    padding: 60px !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .px-sm-2 {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .px-sm-3 {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .px-sm-4 {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .px-sm-5 {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .py-sm-2 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .py-sm-3 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .py-sm-4 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .py-sm-5 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 5px !important;
  }
  .pt-sm-2 {
    padding-top: 10px !important;
  }
  .pt-sm-3 {
    padding-top: 20px !important;
  }
  .pt-sm-4 {
    padding-top: 30px !important;
  }
  .pt-sm-5 {
    padding-top: 60px !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 5px !important;
  }
  .pe-sm-2 {
    padding-right: 10px !important;
  }
  .pe-sm-3 {
    padding-right: 20px !important;
  }
  .pe-sm-4 {
    padding-right: 30px !important;
  }
  .pe-sm-5 {
    padding-right: 60px !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 5px !important;
  }
  .pb-sm-2 {
    padding-bottom: 10px !important;
  }
  .pb-sm-3 {
    padding-bottom: 20px !important;
  }
  .pb-sm-4 {
    padding-bottom: 30px !important;
  }
  .pb-sm-5 {
    padding-bottom: 60px !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 5px !important;
  }
  .ps-sm-2 {
    padding-left: 10px !important;
  }
  .ps-sm-3 {
    padding-left: 20px !important;
  }
  .ps-sm-4 {
    padding-left: 30px !important;
  }
  .ps-sm-5 {
    padding-left: 60px !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 5px !important;
  }
  .gap-sm-2 {
    gap: 10px !important;
  }
  .gap-sm-3 {
    gap: 20px !important;
  }
  .gap-sm-4 {
    gap: 30px !important;
  }
  .gap-sm-5 {
    gap: 60px !important;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 5px !important;
  }
  .row-gap-sm-2 {
    row-gap: 10px !important;
  }
  .row-gap-sm-3 {
    row-gap: 20px !important;
  }
  .row-gap-sm-4 {
    row-gap: 30px !important;
  }
  .row-gap-sm-5 {
    row-gap: 60px !important;
  }
  .column-gap-sm-0 {
    column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    column-gap: 5px !important;
  }
  .column-gap-sm-2 {
    column-gap: 10px !important;
  }
  .column-gap-sm-3 {
    column-gap: 20px !important;
  }
  .column-gap-sm-4 {
    column-gap: 30px !important;
  }
  .column-gap-sm-5 {
    column-gap: 60px !important;
  }
  .text-sm-start {
    text-align: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    object-fit: contain !important;
  }
  .object-fit-md-cover {
    object-fit: cover !important;
  }
  .object-fit-md-fill {
    object-fit: fill !important;
  }
  .object-fit-md-scale {
    object-fit: scale-down !important;
  }
  .object-fit-md-none {
    object-fit: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 5px !important;
  }
  .m-md-2 {
    margin: 10px !important;
  }
  .m-md-3 {
    margin: 20px !important;
  }
  .m-md-4 {
    margin: 30px !important;
  }
  .m-md-5 {
    margin: 60px !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .mx-md-2 {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .mx-md-3 {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .mx-md-4 {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .mx-md-5 {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .my-md-2 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .my-md-3 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .my-md-4 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .my-md-5 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 5px !important;
  }
  .mt-md-2 {
    margin-top: 10px !important;
  }
  .mt-md-3 {
    margin-top: 20px !important;
  }
  .mt-md-4 {
    margin-top: 30px !important;
  }
  .mt-md-5 {
    margin-top: 60px !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 5px !important;
  }
  .me-md-2 {
    margin-right: 10px !important;
  }
  .me-md-3 {
    margin-right: 20px !important;
  }
  .me-md-4 {
    margin-right: 30px !important;
  }
  .me-md-5 {
    margin-right: 60px !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 5px !important;
  }
  .mb-md-2 {
    margin-bottom: 10px !important;
  }
  .mb-md-3 {
    margin-bottom: 20px !important;
  }
  .mb-md-4 {
    margin-bottom: 30px !important;
  }
  .mb-md-5 {
    margin-bottom: 60px !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 5px !important;
  }
  .ms-md-2 {
    margin-left: 10px !important;
  }
  .ms-md-3 {
    margin-left: 20px !important;
  }
  .ms-md-4 {
    margin-left: 30px !important;
  }
  .ms-md-5 {
    margin-left: 60px !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 5px !important;
  }
  .p-md-2 {
    padding: 10px !important;
  }
  .p-md-3 {
    padding: 20px !important;
  }
  .p-md-4 {
    padding: 30px !important;
  }
  .p-md-5 {
    padding: 60px !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .px-md-2 {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .px-md-3 {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .px-md-4 {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .px-md-5 {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .py-md-2 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .py-md-3 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .py-md-4 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .py-md-5 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 5px !important;
  }
  .pt-md-2 {
    padding-top: 10px !important;
  }
  .pt-md-3 {
    padding-top: 20px !important;
  }
  .pt-md-4 {
    padding-top: 30px !important;
  }
  .pt-md-5 {
    padding-top: 60px !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 5px !important;
  }
  .pe-md-2 {
    padding-right: 10px !important;
  }
  .pe-md-3 {
    padding-right: 20px !important;
  }
  .pe-md-4 {
    padding-right: 30px !important;
  }
  .pe-md-5 {
    padding-right: 60px !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 5px !important;
  }
  .pb-md-2 {
    padding-bottom: 10px !important;
  }
  .pb-md-3 {
    padding-bottom: 20px !important;
  }
  .pb-md-4 {
    padding-bottom: 30px !important;
  }
  .pb-md-5 {
    padding-bottom: 60px !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 5px !important;
  }
  .ps-md-2 {
    padding-left: 10px !important;
  }
  .ps-md-3 {
    padding-left: 20px !important;
  }
  .ps-md-4 {
    padding-left: 30px !important;
  }
  .ps-md-5 {
    padding-left: 60px !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 5px !important;
  }
  .gap-md-2 {
    gap: 10px !important;
  }
  .gap-md-3 {
    gap: 20px !important;
  }
  .gap-md-4 {
    gap: 30px !important;
  }
  .gap-md-5 {
    gap: 60px !important;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 5px !important;
  }
  .row-gap-md-2 {
    row-gap: 10px !important;
  }
  .row-gap-md-3 {
    row-gap: 20px !important;
  }
  .row-gap-md-4 {
    row-gap: 30px !important;
  }
  .row-gap-md-5 {
    row-gap: 60px !important;
  }
  .column-gap-md-0 {
    column-gap: 0 !important;
  }
  .column-gap-md-1 {
    column-gap: 5px !important;
  }
  .column-gap-md-2 {
    column-gap: 10px !important;
  }
  .column-gap-md-3 {
    column-gap: 20px !important;
  }
  .column-gap-md-4 {
    column-gap: 30px !important;
  }
  .column-gap-md-5 {
    column-gap: 60px !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    object-fit: contain !important;
  }
  .object-fit-lg-cover {
    object-fit: cover !important;
  }
  .object-fit-lg-fill {
    object-fit: fill !important;
  }
  .object-fit-lg-scale {
    object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    object-fit: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 5px !important;
  }
  .m-lg-2 {
    margin: 10px !important;
  }
  .m-lg-3 {
    margin: 20px !important;
  }
  .m-lg-4 {
    margin: 30px !important;
  }
  .m-lg-5 {
    margin: 60px !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .mx-lg-2 {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .mx-lg-3 {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .mx-lg-4 {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .mx-lg-5 {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .my-lg-2 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .my-lg-3 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .my-lg-4 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .my-lg-5 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 5px !important;
  }
  .mt-lg-2 {
    margin-top: 10px !important;
  }
  .mt-lg-3 {
    margin-top: 20px !important;
  }
  .mt-lg-4 {
    margin-top: 30px !important;
  }
  .mt-lg-5 {
    margin-top: 60px !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 5px !important;
  }
  .me-lg-2 {
    margin-right: 10px !important;
  }
  .me-lg-3 {
    margin-right: 20px !important;
  }
  .me-lg-4 {
    margin-right: 30px !important;
  }
  .me-lg-5 {
    margin-right: 60px !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 5px !important;
  }
  .mb-lg-2 {
    margin-bottom: 10px !important;
  }
  .mb-lg-3 {
    margin-bottom: 20px !important;
  }
  .mb-lg-4 {
    margin-bottom: 30px !important;
  }
  .mb-lg-5 {
    margin-bottom: 60px !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 5px !important;
  }
  .ms-lg-2 {
    margin-left: 10px !important;
  }
  .ms-lg-3 {
    margin-left: 20px !important;
  }
  .ms-lg-4 {
    margin-left: 30px !important;
  }
  .ms-lg-5 {
    margin-left: 60px !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 5px !important;
  }
  .p-lg-2 {
    padding: 10px !important;
  }
  .p-lg-3 {
    padding: 20px !important;
  }
  .p-lg-4 {
    padding: 30px !important;
  }
  .p-lg-5 {
    padding: 60px !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .px-lg-2 {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .px-lg-3 {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .px-lg-4 {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .px-lg-5 {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .py-lg-2 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .py-lg-3 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .py-lg-4 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .py-lg-5 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 5px !important;
  }
  .pt-lg-2 {
    padding-top: 10px !important;
  }
  .pt-lg-3 {
    padding-top: 20px !important;
  }
  .pt-lg-4 {
    padding-top: 30px !important;
  }
  .pt-lg-5 {
    padding-top: 60px !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 5px !important;
  }
  .pe-lg-2 {
    padding-right: 10px !important;
  }
  .pe-lg-3 {
    padding-right: 20px !important;
  }
  .pe-lg-4 {
    padding-right: 30px !important;
  }
  .pe-lg-5 {
    padding-right: 60px !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 5px !important;
  }
  .pb-lg-2 {
    padding-bottom: 10px !important;
  }
  .pb-lg-3 {
    padding-bottom: 20px !important;
  }
  .pb-lg-4 {
    padding-bottom: 30px !important;
  }
  .pb-lg-5 {
    padding-bottom: 60px !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 5px !important;
  }
  .ps-lg-2 {
    padding-left: 10px !important;
  }
  .ps-lg-3 {
    padding-left: 20px !important;
  }
  .ps-lg-4 {
    padding-left: 30px !important;
  }
  .ps-lg-5 {
    padding-left: 60px !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 5px !important;
  }
  .gap-lg-2 {
    gap: 10px !important;
  }
  .gap-lg-3 {
    gap: 20px !important;
  }
  .gap-lg-4 {
    gap: 30px !important;
  }
  .gap-lg-5 {
    gap: 60px !important;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 5px !important;
  }
  .row-gap-lg-2 {
    row-gap: 10px !important;
  }
  .row-gap-lg-3 {
    row-gap: 20px !important;
  }
  .row-gap-lg-4 {
    row-gap: 30px !important;
  }
  .row-gap-lg-5 {
    row-gap: 60px !important;
  }
  .column-gap-lg-0 {
    column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    column-gap: 5px !important;
  }
  .column-gap-lg-2 {
    column-gap: 10px !important;
  }
  .column-gap-lg-3 {
    column-gap: 20px !important;
  }
  .column-gap-lg-4 {
    column-gap: 30px !important;
  }
  .column-gap-lg-5 {
    column-gap: 60px !important;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    object-fit: contain !important;
  }
  .object-fit-xl-cover {
    object-fit: cover !important;
  }
  .object-fit-xl-fill {
    object-fit: fill !important;
  }
  .object-fit-xl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    object-fit: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 5px !important;
  }
  .m-xl-2 {
    margin: 10px !important;
  }
  .m-xl-3 {
    margin: 20px !important;
  }
  .m-xl-4 {
    margin: 30px !important;
  }
  .m-xl-5 {
    margin: 60px !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .mx-xl-2 {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .mx-xl-3 {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .mx-xl-4 {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .mx-xl-5 {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .my-xl-2 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .my-xl-3 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .my-xl-4 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .my-xl-5 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 5px !important;
  }
  .mt-xl-2 {
    margin-top: 10px !important;
  }
  .mt-xl-3 {
    margin-top: 20px !important;
  }
  .mt-xl-4 {
    margin-top: 30px !important;
  }
  .mt-xl-5 {
    margin-top: 60px !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 5px !important;
  }
  .me-xl-2 {
    margin-right: 10px !important;
  }
  .me-xl-3 {
    margin-right: 20px !important;
  }
  .me-xl-4 {
    margin-right: 30px !important;
  }
  .me-xl-5 {
    margin-right: 60px !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 5px !important;
  }
  .mb-xl-2 {
    margin-bottom: 10px !important;
  }
  .mb-xl-3 {
    margin-bottom: 20px !important;
  }
  .mb-xl-4 {
    margin-bottom: 30px !important;
  }
  .mb-xl-5 {
    margin-bottom: 60px !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 5px !important;
  }
  .ms-xl-2 {
    margin-left: 10px !important;
  }
  .ms-xl-3 {
    margin-left: 20px !important;
  }
  .ms-xl-4 {
    margin-left: 30px !important;
  }
  .ms-xl-5 {
    margin-left: 60px !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 5px !important;
  }
  .p-xl-2 {
    padding: 10px !important;
  }
  .p-xl-3 {
    padding: 20px !important;
  }
  .p-xl-4 {
    padding: 30px !important;
  }
  .p-xl-5 {
    padding: 60px !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .px-xl-2 {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .px-xl-3 {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .px-xl-4 {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .px-xl-5 {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .py-xl-2 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .py-xl-3 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .py-xl-4 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .py-xl-5 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 5px !important;
  }
  .pt-xl-2 {
    padding-top: 10px !important;
  }
  .pt-xl-3 {
    padding-top: 20px !important;
  }
  .pt-xl-4 {
    padding-top: 30px !important;
  }
  .pt-xl-5 {
    padding-top: 60px !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 5px !important;
  }
  .pe-xl-2 {
    padding-right: 10px !important;
  }
  .pe-xl-3 {
    padding-right: 20px !important;
  }
  .pe-xl-4 {
    padding-right: 30px !important;
  }
  .pe-xl-5 {
    padding-right: 60px !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 5px !important;
  }
  .pb-xl-2 {
    padding-bottom: 10px !important;
  }
  .pb-xl-3 {
    padding-bottom: 20px !important;
  }
  .pb-xl-4 {
    padding-bottom: 30px !important;
  }
  .pb-xl-5 {
    padding-bottom: 60px !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 5px !important;
  }
  .ps-xl-2 {
    padding-left: 10px !important;
  }
  .ps-xl-3 {
    padding-left: 20px !important;
  }
  .ps-xl-4 {
    padding-left: 30px !important;
  }
  .ps-xl-5 {
    padding-left: 60px !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 5px !important;
  }
  .gap-xl-2 {
    gap: 10px !important;
  }
  .gap-xl-3 {
    gap: 20px !important;
  }
  .gap-xl-4 {
    gap: 30px !important;
  }
  .gap-xl-5 {
    gap: 60px !important;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 5px !important;
  }
  .row-gap-xl-2 {
    row-gap: 10px !important;
  }
  .row-gap-xl-3 {
    row-gap: 20px !important;
  }
  .row-gap-xl-4 {
    row-gap: 30px !important;
  }
  .row-gap-xl-5 {
    row-gap: 60px !important;
  }
  .column-gap-xl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    column-gap: 5px !important;
  }
  .column-gap-xl-2 {
    column-gap: 10px !important;
  }
  .column-gap-xl-3 {
    column-gap: 20px !important;
  }
  .column-gap-xl-4 {
    column-gap: 30px !important;
  }
  .column-gap-xl-5 {
    column-gap: 60px !important;
  }
  .text-xl-start {
    text-align: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1600px) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    object-fit: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 5px !important;
  }
  .m-xxl-2 {
    margin: 10px !important;
  }
  .m-xxl-3 {
    margin: 20px !important;
  }
  .m-xxl-4 {
    margin: 30px !important;
  }
  .m-xxl-5 {
    margin: 60px !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .mx-xxl-2 {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .mx-xxl-3 {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .mx-xxl-4 {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .mx-xxl-5 {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .my-xxl-2 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .my-xxl-3 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .my-xxl-4 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .my-xxl-5 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 5px !important;
  }
  .mt-xxl-2 {
    margin-top: 10px !important;
  }
  .mt-xxl-3 {
    margin-top: 20px !important;
  }
  .mt-xxl-4 {
    margin-top: 30px !important;
  }
  .mt-xxl-5 {
    margin-top: 60px !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 5px !important;
  }
  .me-xxl-2 {
    margin-right: 10px !important;
  }
  .me-xxl-3 {
    margin-right: 20px !important;
  }
  .me-xxl-4 {
    margin-right: 30px !important;
  }
  .me-xxl-5 {
    margin-right: 60px !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 5px !important;
  }
  .mb-xxl-2 {
    margin-bottom: 10px !important;
  }
  .mb-xxl-3 {
    margin-bottom: 20px !important;
  }
  .mb-xxl-4 {
    margin-bottom: 30px !important;
  }
  .mb-xxl-5 {
    margin-bottom: 60px !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 5px !important;
  }
  .ms-xxl-2 {
    margin-left: 10px !important;
  }
  .ms-xxl-3 {
    margin-left: 20px !important;
  }
  .ms-xxl-4 {
    margin-left: 30px !important;
  }
  .ms-xxl-5 {
    margin-left: 60px !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 5px !important;
  }
  .p-xxl-2 {
    padding: 10px !important;
  }
  .p-xxl-3 {
    padding: 20px !important;
  }
  .p-xxl-4 {
    padding: 30px !important;
  }
  .p-xxl-5 {
    padding: 60px !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .px-xxl-2 {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .px-xxl-3 {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .px-xxl-4 {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .px-xxl-5 {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .py-xxl-2 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .py-xxl-3 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .py-xxl-4 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .py-xxl-5 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 5px !important;
  }
  .pt-xxl-2 {
    padding-top: 10px !important;
  }
  .pt-xxl-3 {
    padding-top: 20px !important;
  }
  .pt-xxl-4 {
    padding-top: 30px !important;
  }
  .pt-xxl-5 {
    padding-top: 60px !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 5px !important;
  }
  .pe-xxl-2 {
    padding-right: 10px !important;
  }
  .pe-xxl-3 {
    padding-right: 20px !important;
  }
  .pe-xxl-4 {
    padding-right: 30px !important;
  }
  .pe-xxl-5 {
    padding-right: 60px !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 5px !important;
  }
  .pb-xxl-2 {
    padding-bottom: 10px !important;
  }
  .pb-xxl-3 {
    padding-bottom: 20px !important;
  }
  .pb-xxl-4 {
    padding-bottom: 30px !important;
  }
  .pb-xxl-5 {
    padding-bottom: 60px !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 5px !important;
  }
  .ps-xxl-2 {
    padding-left: 10px !important;
  }
  .ps-xxl-3 {
    padding-left: 20px !important;
  }
  .ps-xxl-4 {
    padding-left: 30px !important;
  }
  .ps-xxl-5 {
    padding-left: 60px !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 5px !important;
  }
  .gap-xxl-2 {
    gap: 10px !important;
  }
  .gap-xxl-3 {
    gap: 20px !important;
  }
  .gap-xxl-4 {
    gap: 30px !important;
  }
  .gap-xxl-5 {
    gap: 60px !important;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 5px !important;
  }
  .row-gap-xxl-2 {
    row-gap: 10px !important;
  }
  .row-gap-xxl-3 {
    row-gap: 20px !important;
  }
  .row-gap-xxl-4 {
    row-gap: 30px !important;
  }
  .row-gap-xxl-5 {
    row-gap: 60px !important;
  }
  .column-gap-xxl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    column-gap: 5px !important;
  }
  .column-gap-xxl-2 {
    column-gap: 10px !important;
  }
  .column-gap-xxl-3 {
    column-gap: 20px !important;
  }
  .column-gap-xxl-4 {
    column-gap: 30px !important;
  }
  .column-gap-xxl-5 {
    column-gap: 60px !important;
  }
  .text-xxl-start {
    text-align: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.5rem !important;
  }
  .fs-2 {
    font-size: 2rem !important;
  }
  .fs-3 {
    font-size: 1.75rem !important;
  }
  .fs-4 {
    font-size: 1.5rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 10px 10px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}
.hamburger:hover {
  opacity: 0.7;
}
.hamburger.is-active:hover {
  opacity: 0.7;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: #000;
}

.hamburger-box {
  width: 27px;
  height: 16px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 27px;
  height: 2px;
  background-color: #000;
  border-radius: 0px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -7px;
}
.hamburger-inner::after {
  bottom: -7px;
}

/*
 * Collapse
 */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse .hamburger-inner::after {
  top: -14px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}
.hamburger--collapse .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse.is-active .hamburger-inner {
  transform: translate3d(0, -7px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--collapse.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}
.hamburger--collapse.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*

	Contents:

	1. Buttons
	2. Share modal and links
	3. Index indicator ("1 of X" counter)
	4. Caption
	5. Loading indicator
	6. Additional styles (root element, top bar, idle state, hidden state, etc.)

*/
/*

	1. Buttons

 */
/* <button> css reset */
.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  float: right;
  opacity: 0.75;
  transition: opacity 0.2s;
  box-shadow: none;
}
.pswp__button:focus, .pswp__button:hover {
  opacity: 1;
}
.pswp__button:active {
  outline: none;
  opacity: 0.9;
}
.pswp__button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/* pswp__ui--over-close class it added when mouse is over element that should close gallery */
.pswp__ui--over-close .pswp__button--close {
  opacity: 1;
}

.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background: url(/build/images/default-skin.0ff4d621.png) 0 0 no-repeat;
  background-size: 264px 88px;
  width: 44px;
  height: 44px;
}

@media (-webkit-min-device-pixel-ratio: 1.1), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
  /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
  .pswp--svg .pswp__button,
  .pswp--svg .pswp__button--arrow--left:before,
  .pswp--svg .pswp__button--arrow--right:before {
    background-image: url(/build/images/default-skin.f64c3af3.svg);
  }
  .pswp--svg .pswp__button--arrow--left,
  .pswp--svg .pswp__button--arrow--right {
    background: none;
  }
}
.pswp__button--close {
  background-position: 0 -44px;
}

.pswp__button--share {
  background-position: -44px -44px;
}

.pswp__button--fs {
  display: none;
}

.pswp--supports-fs .pswp__button--fs {
  display: block;
}

.pswp--fs .pswp__button--fs {
  background-position: -44px 0;
}

.pswp__button--zoom {
  display: none;
  background-position: -88px 0;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

.pswp--zoomed-in .pswp__button--zoom {
  background-position: -132px 0;
}

/* no arrows on touch screens */
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
  visibility: hidden;
}

/*
	Arrow buttons hit area
	(icon is added to :before pseudo-element)
*/
.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute;
}

.pswp__button--arrow--left {
  left: 0;
}

.pswp__button--arrow--right {
  right: 0;
}

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  content: "";
  top: 35px;
  background-color: rgba(0, 0, 0, 0.3);
  height: 30px;
  width: 32px;
  position: absolute;
}

.pswp__button--arrow--left:before {
  left: 6px;
  background-position: -138px -44px;
}

.pswp__button--arrow--right:before {
  right: 6px;
  background-position: -94px -44px;
}

/*

	2. Share modal/popup and links

 */
.pswp__counter,
.pswp__share-modal {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.pswp__share-modal {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10px;
  position: absolute;
  z-index: 1600;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.pswp__share-modal--hidden {
  display: none;
}

.pswp__share-tooltip {
  z-index: 1620;
  position: absolute;
  background: #FFF;
  top: 56px;
  border-radius: 2px;
  display: block;
  width: auto;
  right: 44px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  transform: translateY(6px);
  transition: transform 0.25s;
  -webkit-backface-visibility: hidden;
  will-change: transform;
}
.pswp__share-tooltip a {
  display: block;
  padding: 8px 12px;
  color: #000;
  text-decoration: none;
  font-size: 14px;
  line-height: 18px;
}
.pswp__share-tooltip a:hover {
  text-decoration: none;
  color: #000;
}
.pswp__share-tooltip a:first-child {
  /* round corners on the first/last list item */
  border-radius: 2px 2px 0 0;
}
.pswp__share-tooltip a:last-child {
  border-radius: 0 0 2px 2px;
}

.pswp__share-modal--fade-in {
  opacity: 1;
}
.pswp__share-modal--fade-in .pswp__share-tooltip {
  transform: translateY(0);
}

/* increase size of share links on touch devices */
.pswp--touch .pswp__share-tooltip a {
  padding: 16px 12px;
}

a.pswp__share--facebook:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -12px;
  right: 15px;
  border: 6px solid rgba(0, 0, 0, 0);
  border-bottom-color: #FFF;
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
  pointer-events: none;
}
a.pswp__share--facebook:hover {
  background: #3E5C9A;
  color: #FFF;
}
a.pswp__share--facebook:hover:before {
  border-bottom-color: #3E5C9A;
}

a.pswp__share--twitter:hover {
  background: #55ACEE;
  color: #FFF;
}

a.pswp__share--pinterest:hover {
  background: #CCC;
  color: #CE272D;
}

a.pswp__share--download:hover {
  background: #DDD;
}

/*

	3. Index indicator ("1 of X" counter)

 */
.pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 13px;
  line-height: 44px;
  color: #FFF;
  opacity: 0.75;
  padding: 0 10px;
}

/*

	4. Caption

 */
.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px;
}
.pswp__caption small {
  font-size: 11px;
  color: #BBB;
}

.pswp__caption__center {
  text-align: left;
  max-width: 420px;
  margin: 0 auto;
  font-size: 13px;
  padding: 10px;
  line-height: 20px;
  color: #CCC;
}

.pswp__caption--empty {
  display: none;
}

/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake {
  visibility: hidden;
}

/*

	5. Loading indicator (preloader)

	You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

 */
.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr;
}

.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px;
}

.pswp__preloader--active {
  opacity: 1;
}
.pswp__preloader--active .pswp__preloader__icn {
  /* We use .gif in browsers that don't support CSS animation */
  background: url(/build/images/preloader.14d740b6.gif) 0 0 no-repeat;
}

.pswp--css_animation .pswp__preloader--active {
  opacity: 1;
}
.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
  animation: clockwise 500ms linear infinite;
}
.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
  animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
}
.pswp--css_animation .pswp__preloader__icn {
  background: none;
  opacity: 0.75;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0;
}
.pswp--css_animation .pswp__preloader__cut {
  /* 
  	The idea of animating inner circle is based on Polymer ("material") loading indicator 
  	 by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
  */
  position: relative;
  width: 7px;
  height: 14px;
  overflow: hidden;
}
.pswp--css_animation .pswp__preloader__donut {
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid #FFF;
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  margin: 0;
}

@media screen and (max-width: 1024px) {
  .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right;
  }
}
@keyframes clockwise {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes donut-rotate {
  0% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(-140deg);
  }
  100% {
    transform: rotate(0);
  }
}
/*

	6. Additional styles

 */
/* root element of UI */
.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550;
}

/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  width: 100%;
}

.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  -webkit-backface-visibility: hidden;
  will-change: opacity;
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible;
}

.pswp__top-bar,
.pswp__caption {
  background-color: rgba(0, 0, 0, 0.5);
}

/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
  background-color: rgba(0, 0, 0, 0.3);
}

/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
.pswp__ui--idle .pswp__top-bar {
  opacity: 0;
}
.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
  opacity: 0;
}

/*
	pswp__ui--hidden class is added when controls are hidden
	e.g. when user taps to toggle visibility of controls
*/
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
  /* Force paint & create composition layer for controls. */
  opacity: 0.001;
}

/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
  display: none;
}

.pswp__element--disabled {
  display: none !important;
}

.pswp--minimal--dark .pswp__top-bar {
  background: none;
}

.swal2-popup.swal2-toast {
  box-sizing: border-box;
  grid-column: 1/4 !important;
  grid-row: 1/4 !important;
  grid-template-columns: min-content auto min-content;
  padding: 1em;
  overflow-y: hidden;
  background: #fff;
  box-shadow: 0 0 1px hsla(0, 0%, 0%, 0.075), 0 1px 2px hsla(0, 0%, 0%, 0.075), 1px 2px 4px hsla(0, 0%, 0%, 0.075), 1px 3px 8px hsla(0, 0%, 0%, 0.075), 2px 4px 16px hsla(0, 0%, 0%, 0.075);
  pointer-events: all;
}
.swal2-popup.swal2-toast > * {
  grid-column: 2;
}
.swal2-popup.swal2-toast .swal2-title {
  margin: 0.5em 1em;
  padding: 0;
  font-size: 1em;
  text-align: initial;
}
.swal2-popup.swal2-toast .swal2-loading {
  justify-content: center;
}
.swal2-popup.swal2-toast .swal2-input {
  height: 2em;
  margin: 0.5em;
  font-size: 1em;
}
.swal2-popup.swal2-toast .swal2-validation-message {
  font-size: 1em;
}
.swal2-popup.swal2-toast .swal2-footer {
  margin: 0.5em 0 0;
  padding: 0.5em 0 0;
  font-size: 0.8em;
}
.swal2-popup.swal2-toast .swal2-close {
  grid-column: 3/3;
  grid-row: 1/99;
  align-self: center;
  width: 0.8em;
  height: 0.8em;
  margin: 0;
  font-size: 2em;
}
.swal2-popup.swal2-toast .swal2-html-container {
  margin: 0.5em 1em;
  padding: 0;
  overflow: initial;
  font-size: 1em;
  text-align: initial;
}
.swal2-popup.swal2-toast .swal2-html-container:empty {
  padding: 0;
}
.swal2-popup.swal2-toast .swal2-loader {
  grid-column: 1;
  grid-row: 1/99;
  align-self: center;
  width: 2em;
  height: 2em;
  margin: 0.25em;
}
.swal2-popup.swal2-toast .swal2-icon {
  grid-column: 1;
  grid-row: 1/99;
  align-self: center;
  width: 2em;
  min-width: 2em;
  height: 2em;
  margin: 0 0.5em 0 0;
}
.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {
  display: flex;
  align-items: center;
  font-size: 1.8em;
  font-weight: bold;
}
.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring {
  width: 2em;
  height: 2em;
}
.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line] {
  top: 0.875em;
  width: 1.375em;
}
.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left] {
  left: 0.3125em;
}
.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right] {
  right: 0.3125em;
}
.swal2-popup.swal2-toast .swal2-actions {
  justify-content: flex-start;
  height: auto;
  margin: 0;
  margin-top: 0.5em;
  padding: 0 0.5em;
}
.swal2-popup.swal2-toast .swal2-styled {
  margin: 0.25em 0.5em;
  padding: 0.4em 0.6em;
  font-size: 1em;
}
.swal2-popup.swal2-toast .swal2-success {
  border-color: #a5dc86;
}
.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line] {
  position: absolute;
  width: 1.6em;
  height: 3em;
  border-radius: 50%;
}
.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left] {
  top: -0.8em;
  left: -0.5em;
  transform: rotate(-45deg);
  transform-origin: 2em 2em;
  border-radius: 4em 0 0 4em;
}
.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right] {
  top: -0.25em;
  left: 0.9375em;
  transform-origin: 0 1.5em;
  border-radius: 0 4em 4em 0;
}
.swal2-popup.swal2-toast .swal2-success .swal2-success-ring {
  width: 2em;
  height: 2em;
}
.swal2-popup.swal2-toast .swal2-success .swal2-success-fix {
  top: 0;
  left: 0.4375em;
  width: 0.4375em;
  height: 2.6875em;
}
.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line] {
  height: 0.3125em;
}
.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip] {
  top: 1.125em;
  left: 0.1875em;
  width: 0.75em;
}
.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long] {
  top: 0.9375em;
  right: 0.1875em;
  width: 1.375em;
}
.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip {
  animation: swal2-toast-animate-success-line-tip 0.75s;
}
.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long {
  animation: swal2-toast-animate-success-line-long 0.75s;
}
.swal2-popup.swal2-toast.swal2-show {
  animation: swal2-toast-show 0.5s;
}
.swal2-popup.swal2-toast.swal2-hide {
  animation: swal2-toast-hide 0.1s forwards;
}

div:where(.swal2-container) {
  display: grid;
  position: fixed;
  z-index: 1060;
  inset: 0;
  box-sizing: border-box;
  grid-template-areas: "top-start     top            top-end" "center-start  center         center-end" "bottom-start  bottom-center  bottom-end";
  grid-template-rows: minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);
  height: 100%;
  padding: 0.625em;
  overflow-x: hidden;
  transition: background-color 0.1s;
  -webkit-overflow-scrolling: touch;
}
div:where(.swal2-container).swal2-backdrop-show, div:where(.swal2-container).swal2-noanimation {
  background: rgba(0, 0, 0, 0.4);
}
div:where(.swal2-container).swal2-backdrop-hide {
  background: transparent !important;
}
div:where(.swal2-container).swal2-top-start, div:where(.swal2-container).swal2-center-start, div:where(.swal2-container).swal2-bottom-start {
  grid-template-columns: minmax(0, 1fr) auto auto;
}
div:where(.swal2-container).swal2-top, div:where(.swal2-container).swal2-center, div:where(.swal2-container).swal2-bottom {
  grid-template-columns: auto minmax(0, 1fr) auto;
}
div:where(.swal2-container).swal2-top-end, div:where(.swal2-container).swal2-center-end, div:where(.swal2-container).swal2-bottom-end {
  grid-template-columns: auto auto minmax(0, 1fr);
}
div:where(.swal2-container).swal2-top-start > .swal2-popup {
  align-self: start;
}
div:where(.swal2-container).swal2-top > .swal2-popup {
  grid-column: 2;
  place-self: start center;
}
div:where(.swal2-container).swal2-top-end > .swal2-popup, div:where(.swal2-container).swal2-top-right > .swal2-popup {
  grid-column: 3;
  place-self: start end;
}
div:where(.swal2-container).swal2-center-start > .swal2-popup, div:where(.swal2-container).swal2-center-left > .swal2-popup {
  grid-row: 2;
  align-self: center;
}
div:where(.swal2-container).swal2-center > .swal2-popup {
  grid-column: 2;
  grid-row: 2;
  place-self: center center;
}
div:where(.swal2-container).swal2-center-end > .swal2-popup, div:where(.swal2-container).swal2-center-right > .swal2-popup {
  grid-column: 3;
  grid-row: 2;
  place-self: center end;
}
div:where(.swal2-container).swal2-bottom-start > .swal2-popup, div:where(.swal2-container).swal2-bottom-left > .swal2-popup {
  grid-column: 1;
  grid-row: 3;
  align-self: end;
}
div:where(.swal2-container).swal2-bottom > .swal2-popup {
  grid-column: 2;
  grid-row: 3;
  place-self: end center;
}
div:where(.swal2-container).swal2-bottom-end > .swal2-popup, div:where(.swal2-container).swal2-bottom-right > .swal2-popup {
  grid-column: 3;
  grid-row: 3;
  place-self: end end;
}
div:where(.swal2-container).swal2-grow-row > .swal2-popup, div:where(.swal2-container).swal2-grow-fullscreen > .swal2-popup {
  grid-column: 1/4;
  width: 100%;
}
div:where(.swal2-container).swal2-grow-column > .swal2-popup, div:where(.swal2-container).swal2-grow-fullscreen > .swal2-popup {
  grid-row: 1/4;
  align-self: stretch;
}
div:where(.swal2-container).swal2-no-transition {
  transition: none !important;
}
div:where(.swal2-container) div:where(.swal2-popup) {
  display: none;
  position: relative;
  box-sizing: border-box;
  grid-template-columns: minmax(0, 100%);
  width: 32em;
  max-width: 100%;
  padding: 0 0 1.25em;
  border: none;
  border-radius: 5px;
  background: #fff;
  color: #545454;
  font-family: inherit;
  font-size: 1rem;
}
div:where(.swal2-container) div:where(.swal2-popup):focus {
  outline: none;
}
div:where(.swal2-container) div:where(.swal2-popup).swal2-loading {
  overflow-y: hidden;
}
div:where(.swal2-container) h2:where(.swal2-title) {
  position: relative;
  max-width: 100%;
  margin: 0;
  padding: 0.8em 1em 0;
  color: inherit;
  font-size: 1.875em;
  font-weight: 600;
  text-align: center;
  text-transform: none;
  word-wrap: break-word;
}
div:where(.swal2-container) div:where(.swal2-actions) {
  display: flex;
  z-index: 1;
  box-sizing: border-box;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: auto;
  margin: 1.25em auto 0;
  padding: 0;
}
div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled[disabled] {
  opacity: 0.4;
}
div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:hover {
  background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
}
div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:active {
  background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
}
div:where(.swal2-container) div:where(.swal2-loader) {
  display: none;
  align-items: center;
  justify-content: center;
  width: 2.2em;
  height: 2.2em;
  margin: 0 1.875em;
  animation: swal2-rotate-loading 1.5s linear 0s infinite normal;
  border-width: 0.25em;
  border-style: solid;
  border-radius: 100%;
  border-color: #2778c4 transparent #2778c4 transparent;
}
div:where(.swal2-container) button:where(.swal2-styled) {
  margin: 0.3125em;
  padding: 0.625em 1.1em;
  transition: box-shadow 0.1s;
  box-shadow: 0 0 0 3px transparent;
  font-weight: 500;
}
div:where(.swal2-container) button:where(.swal2-styled):not([disabled]) {
  cursor: pointer;
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm) {
  border: 0;
  border-radius: 0.25em;
  background: initial;
  background-color: #7066e0;
  color: #fff;
  font-size: 1em;
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):focus-visible {
  box-shadow: 0 0 0 3px rgba(112, 102, 224, 0.5);
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny) {
  border: 0;
  border-radius: 0.25em;
  background: initial;
  background-color: #dc3741;
  color: #fff;
  font-size: 1em;
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):focus-visible {
  box-shadow: 0 0 0 3px rgba(220, 55, 65, 0.5);
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel) {
  border: 0;
  border-radius: 0.25em;
  background: initial;
  background-color: #6e7881;
  color: #fff;
  font-size: 1em;
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):focus-visible {
  box-shadow: 0 0 0 3px rgba(110, 120, 129, 0.5);
}
div:where(.swal2-container) button:where(.swal2-styled).swal2-default-outline:focus-visible {
  box-shadow: 0 0 0 3px rgba(100, 150, 200, 0.5);
}
div:where(.swal2-container) button:where(.swal2-styled):focus-visible {
  outline: none;
}
div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner {
  border: 0;
}
div:where(.swal2-container) div:where(.swal2-footer) {
  margin: 1em 0 0;
  padding: 1em 1em 0;
  border-top: 1px solid #eee;
  color: inherit;
  font-size: 1em;
  text-align: center;
}
div:where(.swal2-container) .swal2-timer-progress-bar-container {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  grid-column: auto !important;
  overflow: hidden;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}
div:where(.swal2-container) div:where(.swal2-timer-progress-bar) {
  width: 100%;
  height: 0.25em;
  background: rgba(0, 0, 0, 0.2);
}
div:where(.swal2-container) img:where(.swal2-image) {
  max-width: 100%;
  margin: 2em auto 1em;
}
div:where(.swal2-container) button:where(.swal2-close) {
  z-index: 2;
  align-items: center;
  justify-content: center;
  width: 1.2em;
  height: 1.2em;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: -1.2em;
  padding: 0;
  overflow: hidden;
  transition: color 0.1s, box-shadow 0.1s;
  border: none;
  border-radius: 5px;
  background: transparent;
  color: #ccc;
  font-family: monospace;
  font-size: 2.5em;
  cursor: pointer;
  justify-self: end;
}
div:where(.swal2-container) button:where(.swal2-close):hover {
  transform: none;
  background: transparent;
  color: #f27474;
}
div:where(.swal2-container) button:where(.swal2-close):focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 3px rgba(100, 150, 200, 0.5);
}
div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner {
  border: 0;
}
div:where(.swal2-container) .swal2-html-container {
  z-index: 1;
  justify-content: center;
  margin: 0;
  padding: 1em 1.6em 0.3em;
  overflow: auto;
  color: inherit;
  font-size: 1.125em;
  font-weight: normal;
  line-height: normal;
  text-align: center;
  word-wrap: break-word;
  word-break: break-word;
}
div:where(.swal2-container) input:where(.swal2-input),
div:where(.swal2-container) input:where(.swal2-file),
div:where(.swal2-container) textarea:where(.swal2-textarea),
div:where(.swal2-container) select:where(.swal2-select),
div:where(.swal2-container) div:where(.swal2-radio),
div:where(.swal2-container) label:where(.swal2-checkbox) {
  margin: 1em 2em 3px;
}
div:where(.swal2-container) input:where(.swal2-input),
div:where(.swal2-container) input:where(.swal2-file),
div:where(.swal2-container) textarea:where(.swal2-textarea) {
  box-sizing: border-box;
  width: auto;
  transition: border-color 0.1s, box-shadow 0.1s;
  border: 1px solid #d9d9d9;
  border-radius: 0.1875em;
  background: transparent;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;
  color: inherit;
  font-size: 1.125em;
}
div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,
div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,
div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror {
  border-color: #f27474 !important;
  box-shadow: 0 0 2px #f27474 !important;
}
div:where(.swal2-container) input:where(.swal2-input):focus,
div:where(.swal2-container) input:where(.swal2-file):focus,
div:where(.swal2-container) textarea:where(.swal2-textarea):focus {
  border: 1px solid #b4dbed;
  outline: none;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px rgba(100, 150, 200, 0.5);
}
div:where(.swal2-container) input:where(.swal2-input)::placeholder,
div:where(.swal2-container) input:where(.swal2-file)::placeholder,
div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder {
  color: #ccc;
}
div:where(.swal2-container) .swal2-range {
  margin: 1em 2em 3px;
  background: #fff;
}
div:where(.swal2-container) .swal2-range input {
  width: 80%;
}
div:where(.swal2-container) .swal2-range output {
  width: 20%;
  color: inherit;
  font-weight: 600;
  text-align: center;
}
div:where(.swal2-container) .swal2-range input,
div:where(.swal2-container) .swal2-range output {
  height: 2.625em;
  padding: 0;
  font-size: 1.125em;
  line-height: 2.625em;
}
div:where(.swal2-container) .swal2-input {
  height: 2.625em;
  padding: 0 0.75em;
}
div:where(.swal2-container) .swal2-file {
  width: 75%;
  margin-right: auto;
  margin-left: auto;
  background: transparent;
  font-size: 1.125em;
}
div:where(.swal2-container) .swal2-textarea {
  height: 6.75em;
  padding: 0.75em;
}
div:where(.swal2-container) .swal2-select {
  min-width: 50%;
  max-width: 100%;
  padding: 0.375em 0.625em;
  background: transparent;
  color: inherit;
  font-size: 1.125em;
}
div:where(.swal2-container) .swal2-radio,
div:where(.swal2-container) .swal2-checkbox {
  align-items: center;
  justify-content: center;
  background: #fff;
  color: inherit;
}
div:where(.swal2-container) .swal2-radio label,
div:where(.swal2-container) .swal2-checkbox label {
  margin: 0 0.6em;
  font-size: 1.125em;
}
div:where(.swal2-container) .swal2-radio input,
div:where(.swal2-container) .swal2-checkbox input {
  flex-shrink: 0;
  margin: 0 0.4em;
}
div:where(.swal2-container) label:where(.swal2-input-label) {
  display: flex;
  justify-content: center;
  margin: 1em auto 0;
}
div:where(.swal2-container) div:where(.swal2-validation-message) {
  align-items: center;
  justify-content: center;
  margin: 1em 0 0;
  padding: 0.625em;
  overflow: hidden;
  background: #f0f0f0;
  color: #666666;
  font-size: 1em;
  font-weight: 300;
}
div:where(.swal2-container) div:where(.swal2-validation-message)::before {
  content: "!";
  display: inline-block;
  width: 1.5em;
  min-width: 1.5em;
  height: 1.5em;
  margin: 0 0.625em;
  border-radius: 50%;
  background-color: #f27474;
  color: #fff;
  font-weight: 600;
  line-height: 1.5em;
  text-align: center;
}
div:where(.swal2-container) .swal2-progress-steps {
  flex-wrap: wrap;
  align-items: center;
  max-width: 100%;
  margin: 1.25em auto;
  padding: 0;
  background: transparent;
  font-weight: 600;
}
div:where(.swal2-container) .swal2-progress-steps li {
  display: inline-block;
  position: relative;
}
div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step {
  z-index: 20;
  flex-shrink: 0;
  width: 2em;
  height: 2em;
  border-radius: 2em;
  background: #2778c4;
  color: #fff;
  line-height: 2em;
  text-align: center;
}
div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step {
  background: #2778c4;
}
div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step {
  background: #add8e6;
  color: #fff;
}
div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {
  background: #add8e6;
}
div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line {
  z-index: 10;
  flex-shrink: 0;
  width: 2.5em;
  height: 0.4em;
  margin: 0 -1px;
  background: #2778c4;
}

div:where(.swal2-icon) {
  position: relative;
  box-sizing: content-box;
  justify-content: center;
  width: 5em;
  height: 5em;
  margin: 2.5em auto 0.6em;
  border: 0.25em solid transparent;
  border-radius: 50%;
  border-color: #000;
  font-family: inherit;
  line-height: 5em;
  cursor: default;
  user-select: none;
}
div:where(.swal2-icon) .swal2-icon-content {
  display: flex;
  align-items: center;
  font-size: 3.75em;
}
div:where(.swal2-icon).swal2-error {
  border-color: #f27474;
  color: #f27474;
}
div:where(.swal2-icon).swal2-error .swal2-x-mark {
  position: relative;
  flex-grow: 1;
}
div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line] {
  display: block;
  position: absolute;
  top: 2.3125em;
  width: 2.9375em;
  height: 0.3125em;
  border-radius: 0.125em;
  background-color: #f27474;
}
div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left] {
  left: 1.0625em;
  transform: rotate(45deg);
}
div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right] {
  right: 1em;
  transform: rotate(-45deg);
}
div:where(.swal2-icon).swal2-error.swal2-icon-show {
  animation: swal2-animate-error-icon 0.5s;
}
div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark {
  animation: swal2-animate-error-x-mark 0.5s;
}
div:where(.swal2-icon).swal2-warning {
  border-color: #facea8;
  color: #f8bb86;
}
div:where(.swal2-icon).swal2-warning.swal2-icon-show {
  animation: swal2-animate-error-icon 0.5s;
}
div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content {
  animation: swal2-animate-i-mark 0.5s;
}
div:where(.swal2-icon).swal2-info {
  border-color: #9de0f6;
  color: #3fc3ee;
}
div:where(.swal2-icon).swal2-info.swal2-icon-show {
  animation: swal2-animate-error-icon 0.5s;
}
div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content {
  animation: swal2-animate-i-mark 0.8s;
}
div:where(.swal2-icon).swal2-question {
  border-color: #c9dae1;
  color: #87adbd;
}
div:where(.swal2-icon).swal2-question.swal2-icon-show {
  animation: swal2-animate-error-icon 0.5s;
}
div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content {
  animation: swal2-animate-question-mark 0.8s;
}
div:where(.swal2-icon).swal2-success {
  border-color: #a5dc86;
  color: #a5dc86;
}
div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line] {
  position: absolute;
  width: 3.75em;
  height: 7.5em;
  border-radius: 50%;
}
div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left] {
  top: -0.4375em;
  left: -2.0635em;
  transform: rotate(-45deg);
  transform-origin: 3.75em 3.75em;
  border-radius: 7.5em 0 0 7.5em;
}
div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right] {
  top: -0.6875em;
  left: 1.875em;
  transform: rotate(-45deg);
  transform-origin: 0 3.75em;
  border-radius: 0 7.5em 7.5em 0;
}
div:where(.swal2-icon).swal2-success .swal2-success-ring {
  position: absolute;
  z-index: 2;
  top: -0.25em;
  left: -0.25em;
  box-sizing: content-box;
  width: 100%;
  height: 100%;
  border: 0.25em solid rgba(165, 220, 134, 0.3);
  border-radius: 50%;
}
div:where(.swal2-icon).swal2-success .swal2-success-fix {
  position: absolute;
  z-index: 1;
  top: 0.5em;
  left: 1.625em;
  width: 0.4375em;
  height: 5.625em;
  transform: rotate(-45deg);
}
div:where(.swal2-icon).swal2-success [class^=swal2-success-line] {
  display: block;
  position: absolute;
  z-index: 2;
  height: 0.3125em;
  border-radius: 0.125em;
  background-color: #a5dc86;
}
div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip] {
  top: 2.875em;
  left: 0.8125em;
  width: 1.5625em;
  transform: rotate(45deg);
}
div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long] {
  top: 2.375em;
  right: 0.5em;
  width: 2.9375em;
  transform: rotate(-45deg);
}
div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip {
  animation: swal2-animate-success-line-tip 0.75s;
}
div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long {
  animation: swal2-animate-success-line-long 0.75s;
}
div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right {
  animation: swal2-rotate-success-circular-line 4.25s ease-in;
}

[class^=swal2] {
  -webkit-tap-highlight-color: transparent;
}

.swal2-show {
  animation: swal2-show 0.3s;
}

.swal2-hide {
  animation: swal2-hide 0.15s forwards;
}

.swal2-noanimation {
  transition: none;
}

.swal2-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

.swal2-rtl .swal2-close {
  margin-right: initial;
  margin-left: 0;
}
.swal2-rtl .swal2-timer-progress-bar {
  right: 0;
  left: auto;
}

@keyframes swal2-toast-show {
  0% {
    transform: translateY(-0.625em) rotateZ(2deg);
  }
  33% {
    transform: translateY(0) rotateZ(-2deg);
  }
  66% {
    transform: translateY(0.3125em) rotateZ(2deg);
  }
  100% {
    transform: translateY(0) rotateZ(0deg);
  }
}
@keyframes swal2-toast-hide {
  100% {
    transform: rotateZ(1deg);
    opacity: 0;
  }
}
@keyframes swal2-toast-animate-success-line-tip {
  0% {
    top: 0.5625em;
    left: 0.0625em;
    width: 0;
  }
  54% {
    top: 0.125em;
    left: 0.125em;
    width: 0;
  }
  70% {
    top: 0.625em;
    left: -0.25em;
    width: 1.625em;
  }
  84% {
    top: 1.0625em;
    left: 0.75em;
    width: 0.5em;
  }
  100% {
    top: 1.125em;
    left: 0.1875em;
    width: 0.75em;
  }
}
@keyframes swal2-toast-animate-success-line-long {
  0% {
    top: 1.625em;
    right: 1.375em;
    width: 0;
  }
  65% {
    top: 1.25em;
    right: 0.9375em;
    width: 0;
  }
  84% {
    top: 0.9375em;
    right: 0;
    width: 1.125em;
  }
  100% {
    top: 0.9375em;
    right: 0.1875em;
    width: 1.375em;
  }
}
@keyframes swal2-show {
  0% {
    transform: scale(0.7);
  }
  45% {
    transform: scale(1.05);
  }
  80% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes swal2-hide {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(0.5);
    opacity: 0;
  }
}
@keyframes swal2-animate-success-line-tip {
  0% {
    top: 1.1875em;
    left: 0.0625em;
    width: 0;
  }
  54% {
    top: 1.0625em;
    left: 0.125em;
    width: 0;
  }
  70% {
    top: 2.1875em;
    left: -0.375em;
    width: 3.125em;
  }
  84% {
    top: 3em;
    left: 1.3125em;
    width: 1.0625em;
  }
  100% {
    top: 2.8125em;
    left: 0.8125em;
    width: 1.5625em;
  }
}
@keyframes swal2-animate-success-line-long {
  0% {
    top: 3.375em;
    right: 2.875em;
    width: 0;
  }
  65% {
    top: 3.375em;
    right: 2.875em;
    width: 0;
  }
  84% {
    top: 2.1875em;
    right: 0;
    width: 3.4375em;
  }
  100% {
    top: 2.375em;
    right: 0.5em;
    width: 2.9375em;
  }
}
@keyframes swal2-rotate-success-circular-line {
  0% {
    transform: rotate(-45deg);
  }
  5% {
    transform: rotate(-45deg);
  }
  12% {
    transform: rotate(-405deg);
  }
  100% {
    transform: rotate(-405deg);
  }
}
@keyframes swal2-animate-error-x-mark {
  0% {
    margin-top: 1.625em;
    transform: scale(0.4);
    opacity: 0;
  }
  50% {
    margin-top: 1.625em;
    transform: scale(0.4);
    opacity: 0;
  }
  80% {
    margin-top: -0.375em;
    transform: scale(1.15);
  }
  100% {
    margin-top: 0;
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes swal2-animate-error-icon {
  0% {
    transform: rotateX(100deg);
    opacity: 0;
  }
  100% {
    transform: rotateX(0deg);
    opacity: 1;
  }
}
@keyframes swal2-rotate-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes swal2-animate-question-mark {
  0% {
    transform: rotateY(-360deg);
  }
  100% {
    transform: rotateY(0);
  }
}
@keyframes swal2-animate-i-mark {
  0% {
    transform: rotateZ(45deg);
    opacity: 0;
  }
  25% {
    transform: rotateZ(-25deg);
    opacity: 0.4;
  }
  50% {
    transform: rotateZ(15deg);
    opacity: 0.8;
  }
  75% {
    transform: rotateZ(-5deg);
    opacity: 1;
  }
  100% {
    transform: rotateX(0);
    opacity: 1;
  }
}
body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
  overflow: hidden;
}
body.swal2-height-auto {
  height: auto !important;
}
body.swal2-no-backdrop .swal2-container {
  background-color: transparent !important;
  pointer-events: none;
}
body.swal2-no-backdrop .swal2-container .swal2-popup {
  pointer-events: all;
}
body.swal2-no-backdrop .swal2-container .swal2-modal {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}
@media print {
  body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {
    overflow-y: scroll !important;
  }
  body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) > [aria-hidden=true] {
    display: none;
  }
  body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container {
    position: static !important;
  }
}
body.swal2-toast-shown .swal2-container {
  box-sizing: border-box;
  width: 360px;
  max-width: 100%;
  background-color: transparent;
  pointer-events: none;
}
body.swal2-toast-shown .swal2-container.swal2-top {
  inset: 0 auto auto 50%;
  transform: translateX(-50%);
}
body.swal2-toast-shown .swal2-container.swal2-top-end, body.swal2-toast-shown .swal2-container.swal2-top-right {
  inset: 0 0 auto auto;
}
body.swal2-toast-shown .swal2-container.swal2-top-start, body.swal2-toast-shown .swal2-container.swal2-top-left {
  inset: 0 auto auto 0;
}
body.swal2-toast-shown .swal2-container.swal2-center-start, body.swal2-toast-shown .swal2-container.swal2-center-left {
  inset: 50% auto auto 0;
  transform: translateY(-50%);
}
body.swal2-toast-shown .swal2-container.swal2-center {
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
}
body.swal2-toast-shown .swal2-container.swal2-center-end, body.swal2-toast-shown .swal2-container.swal2-center-right {
  inset: 50% 0 auto auto;
  transform: translateY(-50%);
}
body.swal2-toast-shown .swal2-container.swal2-bottom-start, body.swal2-toast-shown .swal2-container.swal2-bottom-left {
  inset: auto auto 0 0;
}
body.swal2-toast-shown .swal2-container.swal2-bottom {
  inset: auto auto 0 50%;
  transform: translateX(-50%);
}
body.swal2-toast-shown .swal2-container.swal2-bottom-end, body.swal2-toast-shown .swal2-container.swal2-bottom-right {
  inset: auto 0 0 auto;
}

* {
  -webkit-font-smoothing: antialiased;
}

/* iOS-only-ish */
@supports (-webkit-touch-callout: none) {
  input, select, textarea, button {
    font-size: 16px;
  }
}
body {
  font-family: "Montserrat", sans-serif;
  color: #575757;
  font-size: 0.88rem;
  font-weight: 400;
  min-width: 350px;
  overflow-x: hidden;
}

main[role=main] {
  overflow-x: hidden;
}
@media (min-width: 768px) {
  main[role=main] {
    overflow-x: visible;
  }
}

/* Overlay globale per loading AJAX/Fetch */
#global-loading {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.7);
  z-index: 99999;
  pointer-events: all;
  cursor: progress;
}

#global-loading.on {
  display: flex;
}

/* Spinner semplice e leggero (no dipendenze) */
#global-loading .gl-spinner {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 4px solid rgba(0, 0, 0, 0.35);
  border-top-color: #000;
  animation: gl-spin 0.8s linear infinite;
}

@keyframes gl-spin {
  to {
    transform: rotate(360deg);
  }
}
/* (opzionale) oscura lo scroll/interazioni del body */
body.is-loading {
  touch-action: none;
}

/* Stili personalizzati per la tooltip di jQuery UI */
.custom-tooltip {
  background-color: #000;
  border-color: #000;
  color: #000000;
  border-radius: 4px;
  padding: 8px 12px;
  font-size: 14px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  /* Stili per la freccia della tooltip */
}
.custom-tooltip .ui-tooltip-content::before {
  content: "";
  position: absolute;
  bottom: -10px;
  /* Posiziona sopra la tooltip */
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
}

a {
  color: inherit;
  text-decoration: underline;
}
a:focus {
  text-decoration: none;
}
@media (hover: hover) {
  a:hover {
    text-decoration: none;
  }
}
a:focus {
  color: inherit;
}
a:active {
  color: inherit;
}
@media (hover: hover) {
  a:hover {
    color: inherit;
  }
}

p {
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}

.text-primary {
  color: #000000;
}

.btn {
  display: flex;
  line-height: 1;
  justify-content: center;
  align-items: center;
  transition: background-color 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
  padding: 10px 20px;
}
.btn:focus, .btn:active, .btn:focus:active, .btn:focus-visible {
  color: white !important;
}
.btn.btn-lg {
  padding: 15px 25px;
}

.btn:disabled,
.btn.disabled,
fieldset:disabled .btn {
  color: white !important;
  background-color: #707070;
}

.dashedline {
  position: relative;
}

.blackStripes {
  position: relative;
}

.boxError {
  margin-bottom: 24px;
  text-transform: uppercase;
  color: #000;
}
@media (min-width: 768px) {
  .boxError {
    margin-bottom: 50px;
  }
}
.boxError .errorGen {
  min-height: 300px;
  padding: 30px;
}
.boxError .errorGen::before {
  content: url(/build/images/page.56636c0d.svg);
  display: block;
  width: 80px;
  height: auto;
  margin: 0 auto;
}

.is-mobile-menu-open .dashedline {
  background-color: #000;
}
.is-mobile-menu-open .dashedline:after {
  border: none;
  background-color: #000;
}

img {
  max-width: 100%;
}

img.background-cover,
img.background-contain {
  object-position: 50% 50%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: auto;
  width: 94%;
}
@media (min-width: 576px) {
  img.background-cover,
  img.background-contain {
    width: 100%;
  }
}

img.background-cover {
  object-fit: cover;
  mix-blend-mode: multiply;
}

img.background-contain {
  object-fit: contain;
}

.is-mobile-menu-open main[role=main] {
  background: #000;
}

.main-padding {
  padding-left: 10px;
  padding-right: 10px;
}
@media (min-width: 576px) {
  .main-padding {
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media (min-width: 768px) {
  .main-padding {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .main-padding {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 1400px) {
  .main-padding {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 1600px) {
  .main-padding {
    padding-left: 100px;
    padding-right: 100px;
  }
}
.main-padding.other-pages {
  padding-top: 116px;
}
@media (min-width: 576px) {
  .main-padding.other-pages {
    padding-top: 140px;
  }
}

.app-max-width {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

.full-width {
  margin-left: -10px;
  margin-right: -10px;
}
@media (min-width: 576px) {
  .full-width {
    margin-left: -24px;
    margin-right: -24px;
  }
}
@media (min-width: 768px) {
  .full-width {
    margin-left: -30px;
    margin-right: -30px;
  }
}
@media (min-width: 992px) {
  .full-width {
    margin-left: -40px;
    margin-right: -40px;
  }
}
@media (min-width: 1400px) {
  .full-width {
    margin-left: -80px;
    margin-right: -80px;
  }
}
@media (min-width: 1600px) {
  .full-width {
    margin-left: -100px;
    margin-right: -100px;
  }
}

.sub-main-padding {
  padding-left: 10px;
  padding-right: 10px;
}
@media (min-width: 576px) {
  .sub-main-padding {
    padding-left: 18px;
    padding-right: 18px;
  }
}
@media (min-width: 768px) {
  .sub-main-padding {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 992px) {
  .sub-main-padding {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 1400px) {
  .sub-main-padding {
    padding-left: 50px;
    padding-right: 50px;
  }
}
@media (min-width: 1600px) {
  .sub-main-padding {
    padding-left: 80px;
    padding-right: 80px;
  }
}

.main-margin {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media (min-width: 576px) {
  .main-margin {
    margin-top: 43.75px;
    margin-bottom: 43.75px;
  }
}
@media (min-width: 768px) {
  .main-margin {
    margin-top: 47.5px;
    margin-bottom: 47.5px;
  }
}
@media (min-width: 992px) {
  .main-margin {
    margin-top: 52.5px;
    margin-bottom: 52.5px;
  }
}
@media (min-width: 1400px) {
  .main-margin {
    margin-top: 56.25px;
    margin-bottom: 56.25px;
  }
}
@media (min-width: 1600px) {
  .main-margin {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}

.sub-main-margin {
  margin-top: 30px;
  margin-bottom: 30px;
}
@media (min-width: 576px) {
  .sub-main-margin {
    margin-top: 31.88px;
    margin-bottom: 31.88px;
  }
}
@media (min-width: 768px) {
  .sub-main-margin {
    margin-top: 33.75px;
    margin-bottom: 33.75px;
  }
}
@media (min-width: 992px) {
  .sub-main-margin {
    margin-top: 36.25px;
    margin-bottom: 36.25px;
  }
}
@media (min-width: 1400px) {
  .sub-main-margin {
    margin-top: 38.13px;
    margin-bottom: 38.13px;
  }
}
@media (min-width: 1600px) {
  .sub-main-margin {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}

.thin-scroll,
.medium-scroll {
  scrollbar-color: rgba(var(--theme-color), 1) rgba(var(--theme-color), 0.4);
}
.thin-scroll::-webkit-scrollbar-track, .thin-scroll::-webkit-scrollbar-thumb,
.medium-scroll::-webkit-scrollbar-track,
.medium-scroll::-webkit-scrollbar-thumb {
  border-radius: 0;
}
.thin-scroll::-webkit-scrollbar-track,
.medium-scroll::-webkit-scrollbar-track {
  background-color: rgba(var(--theme-color), 0.4);
}
.thin-scroll::-webkit-scrollbar-thumb,
.medium-scroll::-webkit-scrollbar-thumb {
  transition: background-color 0.3s ease-out;
  background-color: rgba(var(--theme-color), 0.8);
}
.thin-scroll::-webkit-scrollbar-thumb:hover,
.medium-scroll::-webkit-scrollbar-thumb:hover {
  background-color: rgba(var(--theme-color), 1);
}
.thin-scroll::-webkit-scrollbar-corner,
.medium-scroll::-webkit-scrollbar-corner {
  background: rgba(var(--theme-color), 0.4);
}

.thin-scroll {
  scrollbar-width: thin;
}
.thin-scroll::-webkit-scrollbar {
  width: 3px;
  height: 3px;
}

.thin-scroll-h::-webkit-scrollbar {
  height: 3px;
}

.thin-scroll-v::-webkit-scrollbar {
  width: 3px;
}

.medium-scroll::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}

.medium-scroll-v::-webkit-scrollbar {
  width: 7px;
}

.btn {
  font-size: inherit;
}

.accordion-body {
  padding: 20px;
}

strong {
  font-weight: 700 !important;
}

.btn-primary {
  position: relative;
  background-color: #000;
  transition: background-color 500ms cubic-bezier(0.165, 0.84, 0.44, 1), border-color 500ms cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
  text-transform: uppercase;
  color: #FFF;
  border-radius: 0px;
  font-family: "Montserrat", sans-serif;
  border: solid 1px #000;
  font-weight: 400;
}
.btn-primary:focus, .btn-primary:active, .btn-primary:focus:active {
  color: white !important;
}
@media (hover: hover) {
  .btn-primary:hover {
    background-color: #000000;
    border-color: #FFF;
    box-shadow: 0 0 0 1px #000000;
    color: white !important;
  }
}

.btn-secondary {
  position: relative;
  background-color: #707070;
  transition: background-color 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
  text-transform: uppercase;
  color: #FFF;
  border-radius: 0px;
  font-family: "Montserrat", sans-serif;
  border: none;
  font-weight: 400;
}
.btn-secondary:focus, .btn-secondary:active, .btn-secondary:focus:active {
  color: white !important;
}
@media (hover: hover) {
  .btn-secondary:hover {
    background-color: #000000;
    color: white;
  }
  .btn-secondary:hover::after {
    height: 2px;
  }
}

.btn-dark {
  background-color: #000;
  border-color: #000;
}
.btn-dark:focus, .btn-dark:active, .btn-dark:focus:active {
  box-shadow: inset 0 0 0 2px #fff;
}
@media (hover: hover) {
  .btn-dark:hover {
    background-color: rgba(0, 0, 0, 0.8);
  }
}

.form-select:focus {
  background-color: #F5F5F5;
  box-shadow: 0 0 0 2px rgba(112, 112, 112, 0.25);
}

.form-control {
  border: none;
  padding: 10px 20px;
  text-align: center;
  font-weight: 400;
  display: inline-block;
  margin: 10px 0;
  background-color: #F5F5F5;
}
@media (min-width: 768px) {
  .form-control {
    margin: 10px 0;
  }
}
.form-control:focus {
  background-color: #F5F5F5;
  box-shadow: 0 0 0 2px rgba(112, 112, 112, 0.25);
}

.form-check {
  display: flex;
  margin-top: 2px;
  margin-bottom: 2px;
  align-items: center;
}
.form-check label {
  margin-bottom: 0 !important;
}
.form-check .form-check-input {
  margin-right: 10px;
  flex-shrink: 0;
  border: 2px solid #000000;
  width: 14px;
  height: 14px;
  padding: 0;
  border-radius: 7px;
}
.form-check .form-check-input:checked[type=radio] {
  background-color: #000000;
}
.form-check .form-check-input:focus {
  box-shadow: 0 0 0 1px #000000;
  border-color: #000000;
}

.form-group label {
  margin-bottom: 4px;
}

.cookie-bar {
  width: 100%;
  min-height: 100px;
  background: #fff;
  padding: 10px 0;
  position: fixed;
  bottom: -1px;
  left: 0;
  z-index: 100;
  border-top: solid 1px #cccccc;
}

.btn-accept-cookies {
  margin-top: 30px;
}

:target {
  scroll-margin-top: 120px;
  /* Modifica il valore in base all'altezza della tua header */
}

.swal-width-100 {
  width: 100vw;
}

.swal-wide {
  width: 50% !important;
  padding-top: 20px;
  padding-bottom: 20px;
}

.swal-widest {
  width: 80% !important;
  padding-top: 20px;
  padding-bottom: 20px;
}

.swal2-popup {
  border-radius: 0;
  justify-content: start !important;
}

.swal2-container.swal2-center {
  padding: 10px;
}
.swal2-container .swal2-modal {
  overflow: hidden;
  width: 45em;
  height: auto;
}
.swal2-container .swal2-modal .swal2-html-container {
  font-size: 0.88rem;
}
@media (min-width: 576px) {
  .swal2-container .swal2-modal .swal2-html-container {
    font-size: 1rem;
  }
}
.swal2-container .swal2-modal p {
  color: #000;
  display: flex;
  justify-content: space-between;
}
.swal2-container .swal2-modal p strong {
  color: #000000;
}
.swal2-container .swal2-modal .swal2-error {
  display: none !important;
}
.swal2-container .swal2-modal .swal2-close {
  display: block !important;
  position: absolute;
  right: 10px;
  top: 10px;
  opacity: 1 !important;
  width: 22px !important;
  height: 22px !important;
  z-index: 2;
  font-size: 18px;
  line-height: 0px;
  border: solid 1px #000;
  color: #000;
  border-radius: 0;
}
.swal2-container .swal2-modal .swal2-close:focus {
  box-shadow: none;
}
.swal2-container .swal2-modal .swal2-title {
  color: #000000;
  padding: 20px 30px 20px;
  text-transform: uppercase;
  font-size: 1.13rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}
@media (min-width: 576px) {
  .swal2-container .swal2-modal .swal2-title {
    font-size: 1.25rem;
  }
}
.swal2-container .swal2-modal .swal2-actions {
  padding: 0px 10%;
  flex-flow: column-reverse;
  width: 100%;
}
@media (min-width: 768px) {
  .swal2-container .swal2-modal .swal2-actions {
    padding: 0px 20%;
  }
}
.swal2-container .swal2-modal .swal2-actions button {
  margin: 10px;
  text-transform: uppercase;
  display: block;
  width: 100%;
}
.swal2-container .swal2-modal .swal2-actions button.swal2-cancel:hover {
  background-color: #000000;
  color: #FFF;
  border-color: #000000;
}
.swal2-container .swal2-modal .swal2-actions .swal2-confirm {
  color: #FFF;
}

.swal-mobile-menu {
  font-size: 14px;
}
.swal-mobile-menu .swal2-content {
  padding: 0px 0px 0px 45px;
  text-align: left;
  overflow: auto;
  margin-left: -43px;
}
.swal-mobile-menu .swal2-content .swal-modal-logo {
  border-bottom: solid 1px #cccccc;
  padding-bottom: 20px;
  margin-top: 10px;
}
.swal-mobile-menu .swal2-content .swal-modal-logo a {
  outline: none;
  margin-left: 35px;
}
.swal-mobile-menu .swal2-content .swal-modal-logo img {
  width: 90px;
}
.swal-mobile-menu .swal2-content p.menu-col-title {
  margin-top: 20px;
}
.swal-mobile-menu .swal2-content p.modal-cat-level2 {
  font-weight: 700;
}
.swal-mobile-menu .swal2-content p.modal-cat-level2 a {
  text-decoration: none;
  transition: 0.5s;
}
.swal-mobile-menu .swal2-content p.modal-cat-level2 a:hover {
  text-decoration: underline;
}
.swal-mobile-menu .swal2-content p.modal-cat-level2.titCat {
  text-transform: uppercase;
  font-size: large;
}
.swal-mobile-menu .swal2-content .modal-cat-level3-rowMenu-mobile {
  display: flex;
  align-items: flex-end;
  padding-bottom: 0;
}
.swal-mobile-menu .swal2-content .modal-cat-level3-column-container {
  border-bottom: solid 1px #cccccc;
  padding-bottom: 20px;
  flex-grow: 1;
}
.swal-mobile-menu .swal2-content .modal-cat-level3-column-container .modal-cat-level3 {
  margin-bottom: 5px;
}
.swal-mobile-menu .swal2-content .modal-cat-level3-column-container .modal-cat-level3.modal-cat-level3-indented {
  margin-left: 20px;
}
.swal-mobile-menu .swal2-content .modal-cat-level3-column-container .modal-cat-level3 a {
  text-decoration: none;
  transition: 0.5s;
}
.swal-mobile-menu .swal2-content .modal-cat-level3-column-container .modal-cat-level3 a:hover {
  text-decoration: underline;
}
.swal-mobile-menu .swal2-cancel {
  position: absolute;
  top: 20px;
  left: 14px;
  padding: 10px;
  font-size: 16px;
  color: transparent;
  border: solid 0px #ccc;
  background-image: url(/build/images/close.ea830322.gif);
  background-position: center;
  background-size: cover;
}

.slick-dots {
  position: absolute;
  right: 0;
  left: 0;
  bottom: -18px;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  .slick-dots {
    bottom: 30px;
  }
}
.slick-dots li {
  position: relative;
  margin: 0 5px;
}
@media (min-width: 576px) {
  .slick-dots li {
    margin: 0 10px;
  }
}
.slick-dots li button {
  position: relative;
  border: 0;
  background: transparent;
  display: block;
  height: 24px;
  width: 30px;
  padding: 10px 0;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  cursor: pointer;
}
@media (min-width: 576px) {
  .slick-dots li button {
    width: 30px;
  }
}
@media (min-width: 768px) {
  .slick-dots li button {
    width: 40px;
  }
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0;
  height: 3px;
  border-radius: 2px;
  background-color: #d4d4d4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition-property: opacity, height;
  transition-duration: 250ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}
.slick-dots li.slick-active button:before {
  opacity: 1;
  background-color: #707070;
}

.slick-arrow {
  display: none !important;
}
@media (min-width: 576px) {
  .slick-arrow {
    display: block !important;
  }
}

.dfd-fullscreen.dfd-animate .dfd-layer {
  left: none;
  width: none;
  max-height: 100%;
  /*    .dfd-card-title::first-letter{
        text-transform: uppercase;
      }

      .dfd-card-title{
        text-transform: lowercase;
      }*/
  /*s[data-dfd-role=scroll-sentinel] {
    height: auto;
  }*/
}
@media (min-width: 992px) {
  .dfd-fullscreen.dfd-animate .dfd-layer {
    left: 30%;
  }
}
@media (min-width: 992px) {
  .dfd-fullscreen.dfd-animate .dfd-layer {
    width: 70%;
  }
}
@media (min-width: 992px) {
  .dfd-fullscreen.dfd-animate .dfd-layer {
    max-height: 75%;
  }
}
.dfd-fullscreen.dfd-animate .dfd-layer .dfd-searchbox {
  border-bottom: 2px solid #000000;
}
.dfd-fullscreen.dfd-animate .dfd-layer .dfd-btn-term-filter::before {
  border-radius: 0px;
}
.dfd-fullscreen.dfd-animate .dfd-layer .dfd-close-button {
  --dfd-close-button-scale: 70%;
}
.dfd-fullscreen.dfd-animate .dfd-layer .dfd-card-flag {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  background-color: #000000;
}
.dfd-fullscreen.dfd-animate .dfd-layer .dfd-slider-tooltip {
  border-radius: 0px;
  background: #ffffff;
  color: #000000;
}
.dfd-fullscreen.dfd-animate .dfd-layer .dfd-slider-handle {
  border: 2px solid #000000;
}
.dfd-fullscreen.dfd-animate .dfd-layer .dfd-card:hover, .dfd-fullscreen.dfd-animate .dfd-layer .dfd-card:focus-visible {
  box-shadow: none;
}
.dfd-fullscreen.dfd-animate .dfd-layer .dfd-card {
  border-width: 1px;
  border-style: solid;
  border-color: var(--df-neutral-outline, #cbcccd);
  border-radius: 0px;
  color: var(--df-neutral-high-contrast, #323334);
  background-color: var(--df-neutral-surface, white);
}
.dfd-fullscreen.dfd-animate .dfd-layer .dfd-meta, .dfd-fullscreen.dfd-animate .dfd-layer .dfd-branding {
  display: none !important;
}
.dfd-fullscreen.dfd-animate .dfd-layer .dfd-aside {
  width: 300px !important;
}
.dfd-fullscreen.dfd-animate .dfd-layer .dfd-results-grid {
  grid-template-columns: repeat(var(--dfd-results-grid-column-count, auto-fill), var(--dfd-results-grid-column-size, minmax(144px, 1fr)));
}
.dfd-fullscreen.dfd-animate .dfd-layer .dfd-suggestion-button {
  border-radius: 0;
}
.dfd-fullscreen.dfd-animate .dfd-layer .dfd-fullscreen button[data-dfd-role=back-to-top] {
  display: none;
}
.dfd-mobile .dfd-aside {
  border-radius: 0px !important;
}
.dfd-mobile .dfd-aside-header small {
  visibility: hidden;
}
.dfd-mobile .dfd-back-to-top-button {
  display: none;
}
.dfd-mobile .dfd-toggle-filters-button, .dfd-mobile .dfd-close-filters-button, .dfd-mobile .dfd-clear-filters-button, .dfd-mobile .dfd-smart-filter-button-primary {
  border-radius: 0px;
}
.dfd-mobile .dfd-results-grid {
  padding-left: 16px;
  padding-right: 16px;
}
.dfd-mobile .dfd-card:hover, .dfd-mobile .dfd-card:focus-visible {
  box-shadow: none;
}
.dfd-mobile .dfd-card {
  border-width: 1px;
  border-style: solid;
  border-color: var(--df-neutral-outline, #cbcccd);
  border-radius: 0px;
  color: var(--df-neutral-high-contrast, #323334);
  background-color: var(--df-neutral-surface, white);
}
.dfd-mobile .dfd-smart-filter-button {
  border-radius: 0;
}
.dfd-mobile .dfd-meta, .dfd-mobile .dfd-branding {
  display: none !important;
}

.header-banner:not(.slick-initialized) .slide-content:not(:first-child) {
  display: none;
}
.header-banner .slide-content {
  position: relative;
  background-color: rgba(0, 0, 0, 0.05);
  vertical-align: top;
  /* rimosso width: 100vh; che pareva un refuso */
}
.header-banner .slide-content .embed-container1 {
  position: relative;
  width: 100vw;
  left: 50%;
  margin-left: -50vw;
  overflow: hidden;
}
.header-banner .slide-content .embed-container1 iframe.background-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 991.98px) {
  .header-banner .slide-content .embed-container1 {
    height: 125vw;
    /* in alternativa:
      aspect-ratio: 1080 / 1350;
    */
  }
}
@media (min-width: 992px) {
  .header-banner .slide-content .embed-container1 {
    height: 56.25vw;
    /* in alternativa:
      aspect-ratio: 16 / 9;
    */
  }
}
.header-banner .banner-content {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  display: flex;
  text-align: center;
  z-index: 1;
  align-items: center;
  margin-top: 0;
  bottom: 0;
  transform: translateY(-30%);
  flex-direction: column;
  justify-content: center;
  min-height: 0;
}
@media (min-width: 992px) {
  .header-banner .banner-content {
    align-items: center;
  }
}
@media (min-width: 768px) {
  .header-banner .banner-content {
    margin-top: 0;
  }
}
@media (min-width: 992px) {
  .header-banner .banner-content {
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  .header-banner .banner-content {
    bottom: 20vh;
  }
}
@media (min-width: 768px) {
  .header-banner .banner-content {
    transform: translateY(0);
  }
}
@media (min-width: 992px) {
  .header-banner .banner-content {
    flex-direction: column;
  }
}
@media (min-width: 992px) {
  .header-banner .banner-content {
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .header-banner .banner-content {
    min-height: 0;
  }
}
@media (min-width: 1600px) {
  .header-banner .banner-content {
    min-height: 0;
  }
}
@media (min-width: 768px) {
  .header-banner .banner-content {
    padding-left: 70px;
  }
}
@media (min-width: 768px) {
  .header-banner .banner-content {
    padding-right: 70px;
  }
}
.header-banner .banner-content .heading {
  color: #FFF;
  font-size: 3rem;
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.4);
}
@media (min-width: 992px) {
  .header-banner .banner-content .heading {
    font-size: 7.5rem;
  }
}
.header-banner .banner-content p {
  font-family: "Montserrat", sans-serif;
  color: #FFF;
  text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.4);
  font-size: 14px;
}
@media (min-width: 992px) {
  .header-banner .banner-content p {
    font-size: 16px;
  }
}
.header-banner .banner-content .text {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.16;
}
@media (min-width: 992px) {
  .header-banner .banner-content .text {
    font-size: 1.13rem;
  }
}
.header-banner .banner-content .text:last-of-type {
  margin-bottom: 0;
}
.header-banner .banner-content .text:last-child {
  margin-bottom: calc(1.35rem + 1.2vw);
}
@media (min-width: 1200px) {
  .header-banner .banner-content .text:last-child {
    margin-bottom: 2.25rem;
  }
}
.header-banner .banner-content .btn {
  font-size: inherit;
}
@media (min-width: 992px) {
  .header-banner .banner-content .btn {
    font-size: 20px;
  }
}
.header-banner .banner-content.banner-content-small .heading {
  font-size: calc(1.425rem + 2.1vw);
  max-width: 480px;
}
@media (min-width: 1200px) {
  .header-banner .banner-content.banner-content-small .heading {
    font-size: 3rem;
  }
}
.header-banner .banner-content.banner-content-small .text {
  font-size: 0.88rem !important;
  font-weight: 400;
  line-height: 1.42;
  max-width: 480px;
}
.header-banner .banner-content .btn {
  z-index: 10;
}

.product-box {
  flex-direction: column;
  padding: 0;
}
@media (min-width: 576px) {
  .product-box {
    padding: 0;
  }
}
.product-box img.background-cover,
.product-box img.background-contain {
  object-position: 50% 50%;
  right: 10%;
  left: 10%;
  width: 80%;
  height: auto;
}
@media (min-width: 576px) {
  .product-box img.background-cover,
  .product-box img.background-contain {
    right: 10%;
  }
}
@media (min-width: 576px) {
  .product-box img.background-cover,
  .product-box img.background-contain {
    left: 10%;
  }
}
@media (min-width: 576px) {
  .product-box img.background-cover,
  .product-box img.background-contain {
    width: 80%;
  }
}
@media (min-width: 576px) {
  .product-box img.background-cover,
  .product-box img.background-contain {
    height: auto;
  }
}
.product-box.homegallery img.background-cover,
.product-box.homegallery img.background-contain {
  object-position: 50% 50%;
  right: 0;
  left: 0;
  width: 100%;
  height: auto;
}
@media (min-width: 576px) {
  .product-box.homegallery img.background-cover,
  .product-box.homegallery img.background-contain {
    right: 0;
  }
}
@media (min-width: 576px) {
  .product-box.homegallery img.background-cover,
  .product-box.homegallery img.background-contain {
    left: 0;
  }
}
@media (min-width: 576px) {
  .product-box.homegallery img.background-cover,
  .product-box.homegallery img.background-contain {
    width: 100%;
  }
}
@media (min-width: 576px) {
  .product-box.homegallery img.background-cover,
  .product-box.homegallery img.background-contain {
    height: auto;
  }
}
.product-box.homegallery .link .image-container {
  padding-bottom: 155.1724137931%;
}
.product-box.slider-highlight {
  width: 100%;
}
@media (min-width: 576px) {
  .product-box.slider-highlight {
    width: 100%;
  }
}
.product-box .more-colors {
  color: #000;
  text-transform: uppercase;
  font-size: 0.63rem;
}
@media (min-width: 768px) {
  .product-box .more-colors {
    font-size: 0.75rem;
  }
}
.product-box .link {
  display: flex;
  position: relative;
  overflow: hidden;
  flex-direction: column;
  text-decoration: none !important;
}
.product-box .link .discount-badge {
  position: absolute;
  z-index: 2;
  background-color: #000000;
  color: white;
  font-weight: 400;
  padding: 2px 10px;
  top: unset;
  left: unset;
  bottom: 0;
  right: 0;
  font-size: 0.75rem;
}
@media (min-width: 576px) {
  .product-box .link .discount-badge {
    padding: 3px 14px;
  }
}
@media (min-width: 576px) {
  .product-box .link .discount-badge {
    top: 10px;
    left: 10px;
  }
}
@media (min-width: 576px) {
  .product-box .link .discount-badge {
    bottom: unset;
    right: unset;
  }
}
@media (min-width: 768px) {
  .product-box .link .discount-badge {
    font-size: 0.75rem;
  }
}
.product-box .link .image-container {
  position: relative;
  padding-bottom: 114%;
  margin-bottom: 0;
  margin-top: 0;
  background-color: #FAFAFA;
  z-index: 1;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 576px) {
  .product-box .link .image-container {
    margin-top: 0;
  }
}
.product-box .link .image-container img {
  transition: top 2.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  top: 0;
}
.product-box .link .product-details {
  padding: 10px 7% 20px 7%;
  text-align: left;
}
@media (min-width: 576px) {
  .product-box .link .product-details {
    padding: 15px 10% 15px 10%;
  }
}
.product-box .link .product-details .name {
  width: 100%;
}
@media (min-width: 576px) {
  .product-box .link .product-details .name {
    width: 100%;
  }
}
.product-box .link .product-details .price {
  width: 100%;
}
@media (min-width: 576px) {
  .product-box .link .product-details .price {
    width: 100%;
  }
}
.product-box .link .category,
.product-box .link .name,
.product-box .link .price {
  position: relative;
  z-index: 2;
  color: #000;
  margin-bottom: 0 !important;
}
.product-box .link .category,
.product-box .link .name {
  line-height: 1.42;
  margin-bottom: 4px;
}
.product-box .link .category {
  font-size: 1rem;
}
.product-box .link .name {
  font-size: 0.63rem;
  font-weight: 400;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .product-box .link .name {
    font-size: 0.75rem;
  }
}
.product-box .link .label {
  position: absolute;
  right: 10px;
  z-index: 2;
  padding: 2px 10px;
  top: 0;
  right: 0;
  font-size: 0.63rem;
}
@media (min-width: 576px) {
  .product-box .link .label {
    padding: 3px 14px;
  }
}
@media (min-width: 576px) {
  .product-box .link .label {
    top: 10px;
    right: 10px;
  }
}
@media (min-width: 576px) {
  .product-box .link .label {
    font-size: 0.75rem;
  }
}
.product-box .link .labelIcon {
  position: absolute;
  z-index: 2;
  display: flex;
  right: 0;
  padding: 2px 10px;
  top: 0;
  font-size: 0.81rem;
}
.product-box .link .labelIcon .icon {
  margin-right: 5px;
  width: 30px;
}
@media (min-width: 576px) {
  .product-box .link .labelIcon {
    padding: 3px 14px;
  }
}
@media (min-width: 576px) {
  .product-box .link .labelIcon {
    top: 7px;
  }
}
.product-box .link .price {
  font-size: 0.75rem;
}
@media (min-width: 768px) {
  .product-box .link .price {
    font-size: 0.88rem;
  }
}
.product-box .link .price.discount-price span {
  white-space: nowrap;
  color: #000000;
}
.product-box .link .price.discount-price span:first-child {
  color: #939393;
  text-decoration: line-through;
  margin-right: 2px;
}
.product-box .link .price.discount-price span .from-price {
  display: none;
}
.product-box .link .fake-link {
  font-weight: 800;
  text-decoration: underline;
  font-size: 0.88rem;
}

.section-divider {
  margin-top: 30px;
  margin-bottom: 30px;
  text-align: center;
  text-transform: uppercase;
  display: block;
  font-size: calc(1.3rem + 0.6vw);
  font-weight: 700;
}
@media (min-width: 576px) {
  .section-divider {
    margin-top: 39.38px;
    margin-bottom: 39.38px;
  }
}
@media (min-width: 768px) {
  .section-divider {
    margin-top: 48.75px;
    margin-bottom: 48.75px;
  }
}
@media (min-width: 992px) {
  .section-divider {
    margin-top: 61.25px;
    margin-bottom: 61.25px;
  }
}
@media (min-width: 1400px) {
  .section-divider {
    margin-top: 70.63px;
    margin-bottom: 70.63px;
  }
}
@media (min-width: 1600px) {
  .section-divider {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}
@media (min-width: 1200px) {
  .section-divider {
    font-size: 1.75rem;
  }
}

.products-highlight {
  position: relative;
  padding: 0;
  margin-bottom: 50px;
}
@media (min-width: 768px) {
  .products-highlight {
    padding: 0;
  }
}
@media (min-width: 1400px) {
  .products-highlight {
    padding: 0;
  }
}
@media (min-width: 768px) {
  .products-highlight {
    margin-bottom: 100px;
  }
}
@media (min-width: 1400px) {
  .products-highlight {
    margin-bottom: 100px;
  }
}
.products-highlight .product-box {
  height: 100%;
}
.products-highlight .products-highlight .slick-track .slick-slide {
  width: 20% !important;
}
.products-highlight .slick-track {
  display: flex;
  justify-content: start;
}
@media (min-width: 992px) {
  .products-highlight .slick-track {
    justify-content: center;
  }
}
.products-highlight .slick-track .slick-slide {
  background-color: #FAFAFA;
  display: flex;
  height: auto;
  margin: 0;
  width: 100% !important;
}
@media (min-width: 768px) {
  .products-highlight .slick-track .slick-slide {
    max-width: 325px;
  }
}
.products-highlight .slick-track .slick-slide > div {
  width: 100% !important;
}
.products-highlight .slick-prev {
  appearance: none;
}
.products-highlight .slick-prev, .products-highlight .slick-next {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  appearance: none;
  width: 40px;
  height: 40px;
  border: none;
  font-size: 0;
}
.products-highlight .slick-prev {
  background: url(/build/images/prev-arrow.0870e352.svg) no-repeat center;
  background-size: 40px 40px;
  left: -10px;
}
@media (min-width: 992px) {
  .products-highlight .slick-prev {
    left: -55px;
  }
}
.page-product .products-highlight .slick-prev {
  display: none !important;
}
.products-highlight .slick-next {
  background: url(/build/images/next-arrow.c472147c.svg) no-repeat center;
  background-size: 40px 40px;
  right: -10px;
}
@media (min-width: 992px) {
  .products-highlight .slick-next {
    right: -55px;
  }
}
.page-product .products-highlight .slick-next {
  display: none !important;
}

.splide--peek .splide__track {
  overflow: visible; /* serve per mostrare la mezza slide */
  box-sizing: border-box; /* il padding non aumenta la larghezza reale */
}

/* prevenire qualunque scroll orizzontale della pagina in questa sezione */
#splide-7,
#splide-7 .splide__track,
#splide-7 .splide__list {
  max-width: 100%;
}

.order-3.order-md-2 { /* wrapper della tua sezione */
  overflow-x: clip; /* oppure hidden; clip è più moderno */
}

/* immagini a misura */
#splide-7 .splide__slide img {
  display: block;
  width: 100%;
  height: auto;
}

/* immagini responsive (non obbligatorio ma consigliato) */
.splide__slide img {
  display: block;
  width: 100%;
  height: auto;
}

.full-width-image-banner .image-container {
  position: relative;
}

.bannerContainer {
  position: relative;
  color: #000;
  padding-bottom: 0px;
  padding-top: 0px;
}
@media (min-width: 768px) {
  .bannerContainer {
    padding-bottom: 0px;
  }
}
@media (min-width: 768px) {
  .bannerContainer {
    padding-top: 0px;
  }
}
@media (max-width: 767.98px) {
  .bannerContainer .marginNegative {
    margin-top: -10px;
  }
}
.bannerContainer .bannerCat {
  display: flex;
  flex-direction: column;
}
.bannerContainer .bannerCat.firstBanner {
  height: calc(100vh - 120px);
}
.bannerContainer .bannerCat .bannerContainer-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.bannerContainer .bannerCat .bannerContainer-card.firstBanner {
  width: 100%;
}
.bannerContainer .bannerCat .bannerContainer-card.firstBanner a {
  width: 100%;
}
.bannerContainer .bannerCat .bannerContainer-card.firstBanner a .image-box img {
  height: calc(100vh - 120px);
  object-fit: cover;
}
.bannerContainer .bannerCat .bannerContainer-card .image-box {
  width: 100%;
  overflow: hidden;
}
.bannerContainer .bannerCat .bannerContainer-card .image-box img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.5s ease;
  mix-blend-mode: multiply;
}
.bannerContainer .bannerCat .bannerContainer-card .image-box .splide__slide.greyBg {
  background: #F8F8F8;
}
.bannerContainer .bannerCat .bannerContainer-card .image-box .splide__slide.greyBg img {
  mix-blend-mode: multiply;
}
.bannerContainer .bannerCat .bannerContainer-card .text-box {
  padding: 5px;
  position: absolute;
  bottom: 0px;
  left: 0;
}
@media (min-width: 768px) {
  .bannerContainer .bannerCat .bannerContainer-card .text-box {
    padding: 20px;
  }
}
@media (min-width: 992px) {
  .bannerContainer .bannerCat .bannerContainer-card .text-box {
    padding: 20px;
  }
}
.bannerContainer .bannerCat .bannerContainer-card .text-box h3 {
  color: #707070;
  font-size: 0.75rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
  transform: translateY(0);
}
@media (min-width: 992px) {
  .bannerContainer .bannerCat .bannerContainer-card .text-box h3 {
    font-size: 1rem;
  }
}
.bannerContainer .bannerCat .bannerContainer-card:hover .image-box img {
  transform: scale(1.03);
}
.bannerContainer .bannerCat .bannerContainer-card:hover .text-box h3 {
  transform: translateY(-5px);
}
@media (max-width: 767.98px) {
  .bannerContainer .bannerCat.fixPaddingMobile {
    padding: 0 10px 10px 10px;
  }
}

/* === Equal-height banners + cover (desktop) === */
@media (min-width: 768px) {
  .bannerContainer {
    /* 1) Le righe dentro banner devono stretchare i figli in altezza */
    /* 2) La col di destra ha una row interna: deve ereditare 100% altezza */
    /* 3) Le colonne "bannerCat" diventano flex per far crescere la card */
    /* 4) La card e il link riempiono l'intera colonna */
    /* 5) L'area immagine prende tutto lo spazio disponibile */
    /* 6) Splide: forziamo l'altezza dal container fino alla slide */
    /* 7) Le immagini riempiono e vengono croppate */
  }
  .bannerContainer .row {
    align-items: stretch;
  }
  .bannerContainer .col-12.col-md-6.g-0.d-flex > .row {
    height: 100%;
    align-items: stretch;
  }
  .bannerContainer .bannerCat {
    display: flex;
    /* ce l'hai già, lo confermiamo */
    flex-direction: column;
  }
  .bannerContainer .bannerCat.firstBanner {
    height: calc(100vh - 120px);
  }
  .bannerContainer .bannerContainer-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    /* <- chiave per pareggiare le altezze */
  }
  .bannerContainer .bannerContainer-card > a {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    height: 100%;
  }
  .bannerContainer .bannerContainer-card .image-box {
    position: relative;
    flex: 1 1 auto;
    overflow: hidden;
    height: 100%;
    min-height: 100%;
  }
  .bannerContainer .bannerContainer-card .splide,
  .bannerContainer .bannerContainer-card .splide__track,
  .bannerContainer .bannerContainer-card .splide__list,
  .bannerContainer .bannerContainer-card .splide__slide {
    height: 100%;
  }
  .bannerContainer .bannerContainer-card .image-box picture,
  .bannerContainer .bannerContainer-card .image-box img {
    width: 100%;
    height: 100% !important;
    /* override del tuo height:auto */
    object-fit: cover;
    display: block;
  }
}
.nl-box {
  background-color: #F8F8F8;
  padding-top: 0;
  padding-bottom: 0;
}
@media (min-width: 576px) {
  .nl-box {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (min-width: 768px) {
  .nl-box {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (min-width: 992px) {
  .nl-box {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (min-width: 1400px) {
  .nl-box {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (min-width: 1600px) {
  .nl-box {
    padding-top: 0;
    padding-bottom: 0;
  }
}
.nl-box h2 {
  font-weight: 700;
  color: #575757;
  font-size: 0.88rem;
}
@media (min-width: 768px) {
  .nl-box h2 {
    font-size: 1rem;
  }
}
.nl-box h4 {
  color: #575757;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 0.88rem;
}
@media (min-width: 768px) {
  .nl-box h4 {
    font-size: 1rem;
  }
}
.nl-box h3 {
  color: #575757;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.88rem;
}
@media (min-width: 768px) {
  .nl-box h3 {
    font-size: 1rem;
  }
}
.nl-box p {
  color: #575757;
  font-size: 0.63rem;
}
@media (min-width: 768px) {
  .nl-box p {
    font-size: 0.69rem;
  }
}
.nl-box label {
  color: #707070;
  font-size: 0.75rem;
  font-weight: 400;
}
.nl-box .form-control {
  margin-bottom: 0;
  border: none;
  width: auto;
}
.nl-box .left-box {
  padding: 0;
  height: 100%;
}
.nl-box .left-box img {
  object-fit: cover;
}
.nl-box .right-box {
  background-color: #F6DFB7;
  height: 100%;
  padding: 30px;
  text-align: center;
  width: 100%;
}
@media (min-width: 992px) {
  .nl-box .right-box {
    width: 50%;
  }
}
.nl-box form {
  background-color: #B6DAC2;
}
.nl-box .form-content {
  padding: 0;
}
.nl-box .form-content .sub-text {
  font-size: 1.06rem;
}
@media (min-width: 768px) {
  .nl-box .form-content .sub-text {
    font-size: 1.06rem;
  }
}

.common-heading {
  padding-bottom: 0;
}
@media (min-width: 992px) {
  .common-heading {
    padding-bottom: 30px;
  }
}
.common-heading .content {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: auto;
}
@media (min-width: 992px) {
  .common-heading .content {
    padding: 0;
  }
}
.common-heading .content h3 {
  color: #707070;
  font-size: 0.88rem;
  font-weight: 400;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .common-heading .content h3 {
    font-size: 1rem;
  }
}

.grecaptcha-badge {
  visibility: hidden;
}

#newsletterModal .modal-dialog {
  width: calc(100vw - var(--bs-modal-margin) * 2);
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 600px;
}
#newsletterModal .modal-dialog .modal-content {
  border-radius: 0px;
}
#newsletterModal .modal-dialog .modal-content .modal-body {
  padding: 0;
}
#newsletterModal .modal-dialog .modal-content .btn-close {
  position: absolute;
  right: 15px;
  top: 15px;
  opacity: 1 !important;
  width: 22px !important;
  height: 22px !important;
  border: solid 1px #000;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  font-size: 1rem;
}
@media (min-width: 768px) {
  #newsletterModal .modal-dialog .modal-content .btn-close {
    font-size: 1rem;
  }
}
#newsletterModal .modal-dialog .modal-content .btn-close::after {
  display: inline-block;
  content: "×";
  color: #000;
}
#newsletterModal .modal-dialog .modal-content .btn-close:focus {
  box-shadow: none;
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container {
  display: flex;
  align-items: stretch;
  min-width: 100%;
}
@media (min-width: 992px) {
  #newsletterModal .modal-dialog .modal-content .modal-nl-container {
    min-width: 50%;
  }
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form {
  display: flex;
  align-items: center;
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont {
  position: relative;
  color: #707070;
  padding: 40px;
}
@media (min-width: 992px) {
  #newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont {
    padding: 80px;
  }
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont p {
  margin: 25px 0px 35px;
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont .form-check-label {
  font-weight: normal !important;
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont .form-control {
  margin-bottom: 0;
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont h2 {
  font-size: 1rem;
  margin-bottom: 10px;
  color: #000000;
  font-family: "Montserrat", sans-serif;
  font-weight: normal;
}
@media (min-width: 768px) {
  #newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont h2 {
    font-size: 1.25rem;
  }
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont h3 {
  font-size: 1.75rem;
  color: #000000;
  font-family: "Montserrat", sans-serif;
  font-weight: normal;
}
@media (min-width: 768px) {
  #newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont h3 {
    font-size: 2.25rem;
  }
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont h3 span {
  font-size: 20x;
}
@media (min-width: 768px) {
  #newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont h3 span {
    font-size: 1.5rem;
  }
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont #HPNewsletterForm label {
  font-weight: 700;
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont .hp-nl-privacy {
  color: #707070;
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont .hp-nl-privacy label {
  font-size: 0.69rem;
}
@media (min-width: 768px) {
  #newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont .hp-nl-privacy label {
    font-size: 0.75rem;
  }
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont .hp-nl-privacy input:focus {
  box-shadow: none;
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont .btn-nl-popup-subscribe {
  padding-top: 10px;
  padding-bottom: 10px;
  width: 100%;
}
@media (min-width: 768px) {
  #newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-form .cont .btn-nl-popup-subscribe {
    width: auto;
  }
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-img {
  object-fit: cover;
}
#newsletterModal .modal-dialog .modal-content .modal-nl-container .modal-nl-img img {
  width: 100%;
  height: 100%;
}

header[role=banner] {
  z-index: 100;
  background-color: transparent;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  /* Migliora la collapse di Bootstrap con fade + slide */
  /* Stato durante il calcolo height di Bootstrap */
  /* Effetto sul pulsante: ruota l’icona quando aperto */
  /* keyframes del marquee */
}
.user header[role=banner] .menu-bar .main-nav > .left, .account header[role=banner] .menu-bar .main-nav > .left {
  margin-left: 7px;
}
header[role=banner] #filtersCollapse {
  transition: height 0.35s ease, opacity 0.25s ease, transform 0.25s ease;
}
header[role=banner] #filtersCollapse.collapse:not(.show) {
  display: block;
  /* evita salti di layout durante l'animazione */
  height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
}
header[role=banner] #filtersCollapse.collapse.show {
  opacity: 1;
  transform: translateY(0);
}
header[role=banner] #filtersCollapse.collapsing {
  opacity: 0;
  transform: translateY(-6px);
}
header[role=banner] #showFiltersButtonDesk .filter-icon {
  transition: transform 0.25s ease;
}
header[role=banner] #showFiltersButtonDesk:not(.collapsed) .filter-icon {
  transform: rotate(90deg);
}
.is-mobile-menu-open header[role=banner] {
  border-bottom: none;
  background: #000;
}
header[role=banner] + * {
  /*@media (max-width: breakpoint-max(dsk, $mobile-menu-breakpoints)) {
    padding-top: $header-height + $submenu-bar-height;
  }*/
}
header[role=banner] .promotions-bar {
  padding-left: 10px;
  padding-right: 10px;
  background-color: #000;
  color: #FFF;
  font-size: 0.75rem;
  min-height: 30px;
  padding-top: 6px;
  padding-bottom: 6px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  /* ===== MOBILE ===== */
  /* DESKTOP */
}
@media (min-width: 576px) {
  header[role=banner] .promotions-bar {
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media (min-width: 768px) {
  header[role=banner] .promotions-bar {
    padding-left: 30px;
    padding-right: 30px;
  }
}
header[role=banner] .promotions-bar p {
  font-weight: 400;
}
header[role=banner] .promotions-bar .center-text {
  width: 100%;
  text-align: center;
  font-size: 0.75rem;
  font-weight: 700;
  position: relative;
}
header[role=banner] .promotions-bar .promo-marquee-text {
  display: inline-block;
}
header[role=banner] .promotions-bar .promo-code-pill {
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid #FFF;
  background-color: rgba(0, 0, 0, 0.7);
  color: #FFF;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  margin-left: 5px;
}
header[role=banner] .promotions-bar .promo-code-pill.copied {
  background-color: #FFF;
  color: #000;
}
@media (max-width: 991.98px) {
  header[role=banner] .promotions-bar .center-text {
    overflow: hidden;
    text-align: center;
  }
  header[role=banner] .promotions-bar .promo-marquee-text {
    white-space: nowrap;
  }
  header[role=banner] .promotions-bar.has-marquee .center-text {
    text-align: left;
  }
  header[role=banner] .promotions-bar.has-marquee .promo-marquee-text {
    animation-name: promo-marquee;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-duration: 18s;
  }
}
@media (min-width: 992px) {
  header[role=banner] .promotions-bar {
    justify-content: space-between;
    text-align: left;
  }
}
@media (min-width: 1600px) {
  header[role=banner] .promotions-bar .center-text {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
}
@keyframes promo-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
header[role=banner] .header-container {
  padding-top: 0px;
}
@media (min-width: 768px) {
  header[role=banner] .header-container {
    padding-top: 0px;
  }
}
.is-mobile-menu-open header[role=banner] .header-container {
  margin-top: 0px;
}
header[role=banner] .header-container.scrolled {
  padding: 0px;
  top: 0;
  left: 0;
  right: 0;
  position: fixed;
  margin-top: 0px;
  background-color: rgba(0, 0, 0, 0);
}
@media (min-width: 768px) {
  header[role=banner] .header-container.scrolled {
    padding: 0px;
  }
}
header[role=banner] .menu-bar {
  display: flex;
  justify-content: space-between;
  position: relative;
  background-color: white;
  max-width: 100vw;
  margin: 0;
  padding: 5px 0;
  align-items: flex-start;
}
@media (min-width: 768px) {
  header[role=banner] .menu-bar {
    margin: 0;
  }
}
@media (min-width: 768px) {
  header[role=banner] .menu-bar {
    padding: 10px 50px;
  }
}
@media (min-width: 768px) {
  header[role=banner] .menu-bar {
    align-items: center;
  }
}
header[role=banner] .menu-bar .hamburger-inner,
header[role=banner] .menu-bar .hamburger-inner::before,
header[role=banner] .menu-bar .hamburger-inner::after {
  background-color: #FFF;
  width: 20px;
  border-radius: 2px;
}
header[role=banner] .menu-bar.light {
  border-bottom: solid 1px #EEEEEE;
}
.is-mobile-menu-open header[role=banner] .menu-bar {
  background-color: #000000;
}
.is-mobile-menu-open header[role=banner] .menu-bar .hamburger.is-active .hamburger-inner,
.is-mobile-menu-open header[role=banner] .menu-bar .hamburger.is-active .hamburger-inner::before,
.is-mobile-menu-open header[role=banner] .menu-bar .hamburger.is-active .hamburger-inner::after {
  width: 20px;
  background-color: #FFF;
}
.is-mobile-menu-open header[role=banner] .menu-bar.light {
  background-color: #EEEEEE;
}
.is-mobile-menu-open header[role=banner] .menu-bar.light .hamburger.is-active .hamburger-inner,
.is-mobile-menu-open header[role=banner] .menu-bar.light .hamburger.is-active .hamburger-inner::before,
.is-mobile-menu-open header[role=banner] .menu-bar.light .hamburger.is-active .hamburger-inner::after {
  width: 20px;
  background-color: #707070;
}
header[role=banner] .menu-bar.light .hamburger-inner,
header[role=banner] .menu-bar.light .hamburger-inner::before,
header[role=banner] .menu-bar.light .hamburger-inner::after {
  background-color: #707070 !important;
}
header[role=banner] .menu-bar ul.first-level {
  display: none;
  opacity: 0;
  padding: 0 3px;
  transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
header[role=banner] .menu-bar ul.first-level .category-level-1 {
  position: relative;
  min-width: 220px;
  padding: 0;
  display: none;
}
header[role=banner] .menu-bar ul.first-level .category-level-1.in {
  display: list-item;
}
header[role=banner] .menu-bar ul.first-level .category-level-1 a {
  height: 30px;
  text-transform: none;
  padding-left: 20px;
  padding-right: 20px;
  transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  font-size: 0.88rem;
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar ul.first-level .category-level-1 a {
    font-size: 1rem;
  }
}
header[role=banner] .menu-bar ul.first-level .category-level-1 a:hover {
  color: #000;
}
header[role=banner] .menu-bar ul.first-level .category-level-1 a.category-link-lev1 {
  padding-bottom: 30px;
}
header[role=banner] .menu-bar ul.first-level .category-level-1 ul.cols {
  display: none;
  color: #FFF;
  padding: 0;
}
header[role=banner] .menu-bar ul.first-level .category-level-1 ul.cols li {
  min-width: 270px;
}
header[role=banner] .menu-bar ul.first-level .category-level-1 ul.cols .category-level-2 a.category-link-lev2 {
  padding-bottom: 20px;
  font-weight: 700;
}
header[role=banner] .menu-bar ul.first-level.in {
  opacity: 1;
  display: flex;
  margin-top: 5px;
  position: absolute;
  right: 0;
  left: 0;
  top: 84px;
  background-color: white;
  width: 100vw;
  padding: 30px 55px 50px;
}
header[role=banner] .menu-bar ul.first-level.in::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -40px;
  height: 40px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0));
  pointer-events: none;
}
header[role=banner] .menu-bar ul.first-level.in ul.cols {
  display: flex !important;
}
header[role=banner] .menu-bar ul.first-level.in a {
  color: black;
}
header[role=banner] .menu-bar .menu-sx {
  display: block;
}
header[role=banner] .menu-bar .menu-sx .menu-container {
  width: 100%;
  transition: transform 0.5s ease-in-out;
  overflow: hidden;
  /* Nasconde ciò che esce fuori dal contenitore */
}
header[role=banner] .menu-bar .menu-sx .category {
  position: relative;
  transition: transform 0.5s ease-in-out;
}
header[role=banner] .menu-bar .menu-sx .shift-left {
  transform: translateX(-100%);
  /* Muove il menu completamente a sinistra */
}
header[role=banner] .menu-bar .menu-sx li {
  position: relative;
}
header[role=banner] .menu-bar .menu-sx li .sub-list {
  display: block;
  opacity: 0;
  position: absolute;
  width: 100%;
  transform: translateX(100%);
  /* Inizialmente la lista è fuori dallo schermo */
  transition: transform 0.3s ease-in-out;
}
header[role=banner] .menu-bar .menu-sx li .sub-list.show {
  opacity: 1;
  transform: translateX(0);
}
header[role=banner] .menu-bar .menu-sx li h2 {
  transition: transform 0.3s ease-in-out;
  margin: 0;
  padding: 20px 0px;
}
header[role=banner] .menu-bar .menu-sx li h2 a {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
header[role=banner] .menu-bar .menu-sx li h2 a .rotate-arrow {
  transform: rotate(180deg);
  transition: transform 0.3s ease-in-out;
}
header[role=banner] .menu-bar .menu-sx li h2 a svg {
  transition: transform 0.3s ease-in-out;
  /* Assicura l'animazione fluida anche quando torna indietro */
}
header[role=banner] .menu-bar .desktop-only {
  display: none;
  margin-right: 25px;
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar {
    /* >= 992*/
  }
  header[role=banner] .menu-bar #mobileMenuToggleTarget {
    display: none;
  }
  header[role=banner] .menu-bar .desktop-only {
    display: block;
  }
}
header[role=banner] .menu-bar ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  padding-right: 5px;
  margin-top: 0;
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar ul {
    padding-right: 0;
  }
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar ul {
    margin-top: 0;
  }
}
header[role=banner] .menu-bar ul li .sub-list a {
  font-size: 1.13rem;
  color: #000;
}
header[role=banner] .menu-bar ul li.accordion-item h2 {
  padding-left: 16px;
}
@media (min-width: 768px) {
  header[role=banner] .menu-bar ul li.accordion-item h2 {
    padding-left: 16px;
  }
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar ul li.accordion-item h2 {
    padding-left: 0;
  }
}
header[role=banner] .menu-bar ul li h2 {
  width: 100%;
  color: #FFF;
  text-align: left;
  font-weight: normal;
  text-transform: uppercase;
  font-size: 1.13rem;
}
header[role=banner] .menu-bar ul li h2.main-link {
  margin-bottom: 0;
  padding: 0;
}
.is-mobile-menu-open header[role=banner] .menu-bar ul li h2.main-link {
  padding: 10px 0px;
}
header[role=banner] .menu-bar ul li h2 a {
  font-size: 0.88rem;
  color: #707070;
  text-transform: uppercase;
}
header[role=banner] .menu-bar ul li.category.upper-level {
  display: flex;
}
header[role=banner] .menu-bar ul li.main-padding {
  padding-left: 0;
  padding-right: 0;
}
header[role=banner] .menu-bar ul li.category {
  list-style-type: none;
  border: none;
  background-color: transparent;
  justify-content: center;
  /*.is-mobile-menu-open & {

  a {
     background: url('../../images/arrow-right-white.svg') no-repeat center right;
   }
  } */
}
@media (min-width: 768px) {
  header[role=banner] .menu-bar ul li.category {
    background-color: transparent;
  }
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar ul li.category {
    justify-content: initial;
  }
}
header[role=banner] .menu-bar ul li.category button {
  padding-left: 0;
  text-transform: uppercase;
  height: 53px;
  background: #000;
  color: #FFF;
  font-weight: 700;
  font-size: 0.88rem;
}
header[role=banner] .menu-bar ul li.category button:after {
  background-image: url("data:image/svg+xml,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><path d=%27M2 5L8 11L14 5%27/></svg>");
}
header[role=banner] .menu-bar ul li.category button:focus {
  box-shadow: none;
}
header[role=banner] .menu-bar ul li.category button:not(.collapsed) {
  box-shadow: none;
}
header[role=banner] .menu-bar ul li.category .accordion-body {
  background: #000;
  color: #FFF;
}
header[role=banner] .menu-bar a {
  display: flex;
  align-items: center;
  outline: none;
  position: relative;
  text-decoration: none !important;
  text-transform: capitalize;
  transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  justify-content: flex-start;
  padding: 5px 0;
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar a {
    padding: 0 25px;
  }
}
@media (min-width: 768px) and (max-width: 1400px) {
  header[role=banner] .menu-bar a {
    padding: 0 15px;
  }
}
header[role=banner] .menu-bar a img {
  max-width: 65px;
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar a img {
    max-width: 70px;
  }
}
header[role=banner] .menu-bar a:focus {
  color: #000000;
}
header[role=banner] .menu-bar a:active {
  color: #000000;
}
@media (hover: hover) {
  header[role=banner] .menu-bar a:hover {
    color: #000000;
  }
}
.is-mobile-menu-open header[role=banner] .menu-bar a {
  color: #000;
}
header[role=banner] .menu-bar a.brand-website {
  justify-content: center;
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar .main-nav {
    flex-grow: 1;
    display: flex;
  }
  header[role=banner] .menu-bar .main-nav > ul {
    flex-grow: 1;
    justify-content: space-between;
    max-width: 600px;
  }
}
@media (min-width: 1600px) {
  header[role=banner] .menu-bar .main-nav > ul {
    flex-grow: 0;
    justify-content: flex-start;
    max-width: none;
  }
}
header[role=banner] .menu-bar .main-nav > .left {
  display: inline-flex;
  padding-top: 0;
  align-items: flex-start;
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar .main-nav > .left {
    display: flex;
  }
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar .main-nav > .left {
    padding-top: 10px;
  }
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar .main-nav > .left {
    align-items: center;
  }
}
header[role=banner] .menu-bar .main-nav > .left .hamburger {
  opacity: 1;
  margin-top: 0;
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar .main-nav > .left .hamburger {
    display: none;
  }
}
header[role=banner] .menu-bar .main-nav > .left .hamburger .hamburger-box {
  height: 18px;
}
header[role=banner] .menu-bar .main-nav > .left .hamburger.is-active .hamburger-inner,
header[role=banner] .menu-bar .main-nav > .left .hamburger.is-active .hamburger-inner::before,
header[role=banner] .menu-bar .main-nav > .left .hamburger.is-active .hamburger-inner::after {
  width: 20px;
}
@media (max-width: 991.98px) {
  header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    transform: translateY(100%);
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    display: flex;
    flex-direction: column;
    height: calc(100vh - 116px - 1px);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0px 0px 150px;
    border-bottom: 1px solid #E0E0E0;
    background-color: transparent;
    /*box-shadow: 0px 5px 15px 5px rgba(0, 0, 0, 0.3);*/
    box-shadow: none;
    width: 100vw;
  }
  header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget.in {
    pointer-events: auto;
    opacity: 1;
  }
  .is-mobile-menu-open header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget {
    background-color: #FFF;
  }
  .is-mobile-menu-open header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget .form-select {
    margin: 0;
    padding: 10px 40px 10px 0;
    border: none;
    background-color: transparent;
    color: white;
    box-shadow: none;
    outline: none;
    text-transform: uppercase;
    border-radius: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Cpath fill=%27none%27 stroke=%27%23FFFFFF%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3E%3C/svg%3E");
    font-weight: 700;
  }
  header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget .nav-tabs {
    border-bottom: solid 1px transparent;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    overflow: hidden;
    font-size: 14px;
  }
  header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget .nav-tabs .nav-item {
    width: 100%;
    display: flex;
  }
  header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget .nav-tabs .nav-item .nav-link {
    color: #707070;
    padding: 10px 10px;
    width: 100%;
    display: flex;
    border: solid 1px #939393;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
  }
  header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget .nav-tabs .nav-item .nav-link.active {
    font-weight: 700;
    border: solid 1px #000;
  }
  header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget .tab-content * {
    text-transform: uppercase !important;
    font-size: 14px;
    color: #707070;
  }
  header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget .extra-links {
    background-color: #000000;
  }
  header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget .extra-links .svgSelectHeader {
    width: 25px;
    height: 25px;
    padding: 0 10px 0 0;
  }
  header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget .extra-links .main-link {
    margin-bottom: 0;
    padding: 0;
  }
  .is-mobile-menu-open header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget .extra-links .main-link {
    padding: 10px 0px;
  }
  header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget .extra-links .listino-select,
  header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget .extra-links .translation-select {
    padding: 0px;
    align-items: center;
  }
  header[role=banner] .menu-bar .main-nav > #mobileMenuToggleTarget .extra-links a {
    font-size: 0.88rem;
    color: #FFF;
    text-transform: uppercase;
    font-weight: 700;
  }
}
header[role=banner] .menu-bar .user-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 10px 0;
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar .user-nav {
    padding: 10px 0;
  }
}
.is-mobile-menu-open header[role=banner] .menu-bar .user-nav {
  align-items: center;
}
header[role=banner] .menu-bar .user-nav ul li .svgSelectHeader {
  width: 25px;
  height: 25px;
  padding: 0 10px 0 0;
}
header[role=banner] .menu-bar .user-nav ul li.translation-select, header[role=banner] .menu-bar .user-nav ul li.listino-select {
  display: flex;
  align-items: center;
  margin-left: 5px;
  margin-right: 0;
}
.is-mobile-menu-open header[role=banner] .menu-bar .user-nav ul li.translation-select, .is-mobile-menu-open header[role=banner] .menu-bar .user-nav ul li.listino-select {
  margin-left: 0px;
  margin-top: 3px;
}
header[role=banner] .menu-bar .user-nav ul li.translation-select .form-select, header[role=banner] .menu-bar .user-nav ul li.listino-select .form-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Cpath fill=%27none%27 stroke=%27%23FFFFFF%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3E%3C/svg%3E");
  text-align: end;
  margin: 0;
  padding: 5px 40px 5px 0;
  border: none;
  background-color: transparent;
  color: white;
  box-shadow: none;
  outline: none;
  text-transform: uppercase;
  font-weight: 700;
}
header[role=banner] .menu-bar .user-nav ul li.translation-select .form-select option, header[role=banner] .menu-bar .user-nav ul li.listino-select .form-select option {
  background-color: #FFF !important;
  border: none !important;
  color: #000 !important;
  text-align: left !important;
  padding: 5px 10px !important;
  border-radius: 5px !important;
}
header[role=banner] .menu-bar .user-nav ul li.translation-select .form-select option:hover, header[role=banner] .menu-bar .user-nav ul li.listino-select .form-select option:hover {
  background-color: #FFF !important;
  color: #000 !important;
}
.is-mobile-menu-open header[role=banner] .menu-bar .user-nav ul li.user-account {
  display: block !important;
}
header[role=banner] .menu-bar .user-nav ul li.icon-only {
  margin: 0px;
}
header[role=banner] .menu-bar .user-nav ul li a {
  font-size: 0.88rem;
  color: #FFF;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  transition: color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
header[role=banner] .menu-bar .user-nav ul li a:hover, header[role=banner] .menu-bar .user-nav ul li a:focus-visible {
  color: #000;
}
header[role=banner] .menu-bar .user-nav ul li a:hover::after, header[role=banner] .menu-bar .user-nav ul li a:focus-visible::after {
  transform: translateX(-50%) scaleX(1);
}
header[role=banner] .menu-bar .user-nav ul li a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 70%;
  height: 1px;
  background-color: #575757;
  transform-origin: left;
  transform: translateX(-50%) scaleX(0);
  transition: transform 400ms cubic-bezier(0.5, 0, 0.5, 1);
}
header[role=banner] .menu-bar .user-nav ul li a .icon {
  display: block;
  height: 20px;
  width: 22px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}
header[role=banner] .menu-bar .user-nav ul li a .icon.icon-lock {
  background-image: url(/build/images/lock.36ee0cbc.svg);
}
header[role=banner] .menu-bar .user-nav ul li a .icon.icon-search {
  background-image: url(/build/images/search.0e9ed7b7.svg);
}
.is-mobile-menu-open header[role=banner] .menu-bar .user-nav ul li a .icon.icon-search {
  background-image: url(/build/images/search.0e9ed7b7.svg);
}
header[role=banner] .menu-bar .user-nav ul li a .icon.icon-user {
  background-image: url(/build/images/profile.fb661b92.svg);
}
.is-mobile-menu-open header[role=banner] .menu-bar .user-nav ul li a .icon.icon-user {
  background-image: url(/build/images/profile.fb661b92.svg);
}
header[role=banner] .menu-bar .user-nav ul li a .icon.icon-shopping-cart {
  background-image: url(/build/images/buy.ee7676a4.svg);
}
header[role=banner] .menu-bar .user-nav ul li a .icon.icon-shopping-cart.has-items {
  background-image: url(/build/images/buy.ee7676a4.svg);
}
.is-mobile-menu-open header[role=banner] .menu-bar .user-nav ul li a .icon.icon-shopping-cart {
  background-image: url(/build/images/buy.ee7676a4.svg);
}
header[role=banner] .menu-bar .user-nav ul li a .icon + .text {
  margin-left: 6px;
}
header[role=banner] .menu-bar .user-nav ul li a .text {
  display: block;
}
header[role=banner] .menu-bar .user-nav ul li.reserved-area {
  border-left: 1px solid #E0E0E0;
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar .user-nav ul li.reserved-area {
    border-right: 1px solid #E0E0E0;
  }
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar .user-nav ul li.reserved-area {
    margin-right: 6px;
  }
}
@media (max-width: 991.98px) {
  header[role=banner] .menu-bar .user-nav ul li.reserved-area {
    padding-left: 10px;
  }
}
@media (min-width: 1600px) {
  header[role=banner] .menu-bar .user-nav ul li.reserved-area {
    margin-right: 15px;
  }
}
@media (max-width: 1599.98px) {
  header[role=banner] .menu-bar .user-nav ul li.reserved-area a {
    padding-left: 10px;
    padding-right: 10px;
  }
}
header[role=banner] .menu-bar .user-nav ul li.reserved-area a .text {
  font-size: 0.69rem;
  font-weight: 400;
}
@media (max-width: 1599.98px) {
  header[role=banner] .menu-bar .user-nav ul li.reserved-area a .text {
    display: none;
  }
}
header[role=banner] .menu-bar .user-nav ul li.icon-only a {
  padding: 0px 10px;
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar .user-nav ul li.icon-only a {
    padding: 0 15px;
  }
}
@media (min-width: 768px) and (max-width: 1400px) {
  header[role=banner] .menu-bar .user-nav ul li.icon-only a {
    padding: 0 7px;
  }
}
.is-mobile-menu-open header[role=banner] .menu-bar .user-nav ul li.icon-only a {
  padding: 0 10px;
}
header[role=banner] .menu-bar .user-nav ul li.icon-only a:focus {
  color: #000;
}
header[role=banner] .menu-bar .user-nav ul li.icon-only a:active {
  color: #000;
}
@media (hover: hover) {
  header[role=banner] .menu-bar .user-nav ul li.icon-only a:hover {
    color: #000;
  }
}
header[role=banner] .menu-bar .user-nav ul li.icon-only a .icon-shopping-cart .items-count {
  position: absolute;
  width: 22px;
  height: 22px;
  line-height: 20px;
  font-size: 0.63rem;
  font-weight: 700;
  text-align: center;
  visibility: hidden;
  color: white;
  background-color: #000000;
  border-radius: 20px;
  bottom: 10px;
  left: 12px;
  border: 1px solid white;
}
header[role=banner] .menu-bar .user-nav ul li.icon-only a .iconLog {
  width: 28px;
  height: 28px;
  font-size: 0.88rem;
  font-weight: 400;
  text-align: center;
  line-height: 28px;
  border-radius: 20px;
  background-color: #000;
  color: #FFF;
}
@media (min-width: 992px) {
  header[role=banner] .menu-bar .user-nav ul li.search {
    position: relative;
  }
}
header[role=banner] .menu-bar .user-nav ul li.search .input-group {
  margin-top: 5px;
  flex-wrap: nowrap;
  height: 100%;
}
header[role=banner] .menu-bar .user-nav ul li.search .form-control {
  width: 200px;
  padding-top: 0;
  padding-bottom: 0;
  margin-bottom: 0;
  background: #FAFAFA;
  border-color: transparent;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}
header[role=banner] .menu-bar .user-nav ul li.search .input-group-text {
  padding-top: 0;
  padding-bottom: 0;
  background: #FAFAFA;
  border-color: transparent;
}
header[role=banner] .menu-bar .user-nav ul li.search.in .search-panel {
  pointer-events: auto;
  opacity: 1;
  bottom: 0;
}
header[role=banner] .menu-bar .user-nav ul li.search.in > a::after {
  height: 5px;
}
header[role=banner] .menu-bar .user-nav ul li.search .search-panel {
  position: absolute;
  right: 0;
  bottom: 10px;
  transform: translateY(100%);
  background-color: #FFF;
  width: 300px;
  opacity: 0;
  pointer-events: none;
  transition-property: opacity, bottom;
  transition-duration: 250ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  z-index: 1;
}
@media (max-width: 767.98px) {
  header[role=banner] .menu-bar .user-nav ul li.search .search-panel {
    width: calc(100vw - 60px);
    transform: translate(-50%, 100%);
    right: auto;
    left: 50%;
  }
}
header[role=banner] .menu-bar .user-nav ul li.search .search-panel .form-control {
  margin: 0;
  padding-right: 40px;
}
header[role=banner] .menu-bar .user-nav ul li.search .search-panel button {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  border: none;
  background-color: transparent;
  width: 40px;
  background-size: 14px 14px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-image: url(/build/images/search.0e9ed7b7.svg);
  outline: none;
  padding: 0;
}
header[role=banner] .menu-bar.light {
  color: #575757;
}
header[role=banner] .menu-bar.light a {
  color: #575757;
}
header[role=banner] .menu-bar.light .extra-links {
  background-color: #EEEEEE !important;
}
header[role=banner] .menu-bar.light .extra-links a,
header[role=banner] .menu-bar.light .extra-links .form-select {
  color: #575757 !important;
}
header[role=banner] .menu-bar.light .form-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Cpath fill=%27none%27 stroke=%27%23707070%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3E%3C/svg%3E") !important;
}
header[role=banner] .menu-bar.light .icon.icon-search {
  background-image: url(/build/images/search-light.6228bbf6.svg) !important;
}
header[role=banner] .menu-bar.light .icon.icon-user {
  background-image: url(/build/images/profile-light.b650e16f.svg) !important;
}
header[role=banner] .menu-bar.light .icon.icon-shopping-cart {
  background-image: url(/build/images/buy-light.2029c2f6.svg) !important;
}
header[role=banner] .menu-bar.light .icon.icon-shopping-cart.has-items {
  background-image: url(/build/images/buy-light.2029c2f6.svg) !important;
}
header[role=banner] .menu-bar.light .user-nav ul li .form-select {
  color: #575757;
}
header[role=banner] .menu-bar.light .first-level.row.in ul li a,
header[role=banner] .menu-bar.light li.category a {
  color: #575757;
}
header[role=banner] .menu-bar.light .first-level.row.in ul li a:hover,
header[role=banner] .menu-bar.light li.category a:hover {
  color: #000;
}
header[role=banner] .submenu-bar {
  padding: 14px 0px 0px 14px;
  display: flex;
  gap: 5px;
  flex-direction: row;
  justify-content: flex-start;
  align-items: baseline;
  align-content: center;
  height: auto;
  background: #fff;
}
@media (min-width: 992px) {
  header[role=banner] .submenu-bar {
    display: none;
  }
}
header[role=banner] .submenu-bar .scroll-submenu {
  white-space: nowrap;
  overflow-y: hidden;
  overflow-x: auto;
}
header[role=banner] .submenu-bar .scroll-submenu a:last-child {
  margin-right: 16px;
}
header[role=banner] .submenu-bar .category {
  display: inline-block;
  background: #FFF;
  color: #000;
  border: solid 1px #000;
  padding: 7px 12px;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
}

.select2-container--default .select2-selection--single {
  margin: 0;
  padding: 30px 40px 30px 0;
  border: none;
  background-color: transparent;
  color: white;
  box-shadow: none;
  outline: none;
  text-transform: capitalize;
  border-radius: 0;
  display: flex;
  align-items: center;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: white;
  padding: 0;
}

.select2-container--default .select2-results__option--selected {
  background-color: white;
}

.select2-dropdown {
  background-color: white;
  color: black;
  border: 0px;
  border-radius: 0px;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: white;
  font-weight: bold;
  color: black;
}

.select2-results__option {
  background-color: white;
  padding: 4px 8px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  display: none;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 0px;
  background-image: url(/build/images/arrow-right-white.08c5130f.svg);
  background-repeat: no-repeat;
  background-position: center;
  transform: rotate(90deg);
  background-size: 6px;
  border: none;
  width: 10px;
  /* puoi regolarlo in base all’icona */
  height: 100%;
  right: 15px;
}

.select2-container--default .select2-results > .select2-results__options {
  padding: 10px;
}

.select2-container--default .select2-selection--single {
  padding: 0;
}

@media (max-width: 992px) {
  .select2-container--default .select2-selection--single .select2-selection__arrow {
    background-size: 20px;
    background-image: url(/build/images/icon-arrow-right.cf928b0b.svg);
    /* tua icona */
    right: 3px;
  }
  .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: black;
  }
  .select2-dropdown {
    background-color: #E0E0E0;
  }
  .select2-results__option {
    background-color: #E0E0E0;
  }
  .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #E0E0E0;
  }
  .select2-results__option {
    padding: 4px 0px;
  }
}
main[role=main],
.thankyou {
  position: relative;
}
main[role=main]::before,
.thankyou::before {
  content: "";
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0);
  transition: background-color ease-in-out 0.5s;
  z-index: -1;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.submenu-open main[role=main]::before,
.submenu-open .thankyou::before {
  content: "";
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.9);
  transition: background-color ease-in-out 0.3s;
  z-index: 4;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

body.light main[role=main]::before,
body.light .thankyou::before {
  background: rgba(238, 238, 238, 0);
}
body.light.submenu-open main[role=main]::before,
body.light.submenu-open .thankyou::before {
  background: #eeeeee;
}

footer .content-info {
  background: #FFF;
  border-top: solid 1px #EEEEEE;
  padding-top: 45px;
  padding-bottom: 35px;
  padding-left: 10px;
  padding-right: 10px;
}
@media (min-width: 768px) {
  footer .content-info {
    padding-top: 100px;
  }
}
@media (min-width: 768px) {
  footer .content-info {
    padding-bottom: 60px;
  }
}
@media (min-width: 576px) {
  footer .content-info {
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media (min-width: 768px) {
  footer .content-info {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  footer .content-info {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 1400px) {
  footer .content-info {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 1600px) {
  footer .content-info {
    padding-left: 100px;
    padding-right: 100px;
  }
}
footer .content-info .footer-container {
  overflow: hidden;
  position: relative;
  display: flex;
  justify-content: flex-start;
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
  flex-direction: column;
}
@media (min-width: 992px) {
  footer .content-info .footer-container {
    flex-direction: row;
  }
}
footer .content-info .footer-container .footer-col {
  /* #footer-collapse-4 {
    @include rpmq((margin-left), (xs: -20px, md: 0px));
  }*/
  text-align: left;
  border-top: 1px solid #EEEEEE;
}
footer .content-info .footer-container .footer-col:first-child {
  border-top-width: 0;
}
footer .content-info .footer-container .footer-col.logo-footer .footer-logo {
  max-width: 60px;
}
footer .content-info .footer-container .footer-col.logo-footer .collapse-content {
  margin-top: 30px;
}
footer .content-info .footer-container .footer-col .collapse-content {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col .collapse-content {
    padding-top: 0;
  }
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col .collapse-content {
    padding-bottom: 0;
  }
}
footer .content-info .footer-container .footer-col .footer-logo {
  max-width: 150px;
}
@media (min-width: 768px) {
  footer .content-info .footer-container .footer-col .footer-logo {
    max-width: 100%;
  }
}
footer .content-info .footer-container .footer-col .payment-icons {
  max-width: 100%;
}
@media (min-width: 768px) {
  footer .content-info .footer-container .footer-col .payment-icons {
    max-width: 100%;
  }
}
footer .content-info .footer-container .footer-col:first-child {
  margin-left: 0;
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col:first-child {
    margin-left: 0;
  }
}
footer .content-info .footer-container .footer-col:last-child {
  margin-right: 0;
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col:last-child {
    margin-right: 0;
  }
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col {
    border-top: none;
  }
}
footer .content-info .footer-container .footer-col:last-child {
  border-bottom: 1px solid #EEEEEE;
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col:last-child {
    border-bottom: none;
  }
}
footer .content-info .footer-container .footer-col .title {
  color: #707070;
  text-decoration: none;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 0;
  margin-top: 30px;
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col .title {
    margin-bottom: 33px;
  }
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col .title {
    margin-top: 14px;
  }
}
footer .content-info .footer-container .footer-col .title a {
  font-weight: normal;
  color: #707070;
  text-decoration: none;
  text-transform: uppercase;
  position: relative;
  -webkit-font-smoothing: antialiased;
  font-size: 1.06rem;
  padding-top: 20px;
  padding-bottom: 20px;
  display: inline-block;
  width: 100%;
  cursor: pointer;
  border-bottom: 1px dashed #000000;
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col .title a {
    pointer-events: none;
  }
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col .title a {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col .title a {
    display: inline;
  }
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col .title a {
    width: auto;
  }
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col .title a {
    cursor: text;
  }
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col .title a {
    border-bottom: none;
  }
}
footer .content-info .footer-container .footer-col .title a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 25px;
  transition: transform 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
  background: url(/build/images/arrow-right-white.08c5130f.svg) no-repeat center right;
  display: block;
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col .title a::after {
    background: none;
  }
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col .title a::after {
    display: none;
  }
}
footer .content-info .footer-container .footer-col .title a[aria-expanded=true]::after {
  width: 25px;
  transform: translateY(-50%) rotate(90deg);
}
footer .content-info .footer-container .footer-col .list-link {
  list-style-type: none;
  margin-bottom: 0;
  padding-left: 0;
  padding-bottom: 16px;
}
@media (min-width: 992px) {
  footer .content-info .footer-container .footer-col .list-link {
    padding-bottom: 0;
  }
}
footer .content-info .footer-container .footer-col .list-link.social {
  display: flex;
  flex-direction: column;
}
footer .content-info .footer-container .footer-col .list-link.social li:not(:last-child) {
  margin-bottom: 5px;
}
footer .content-info .footer-container .footer-col .list-link li:not(:last-child) {
  margin-bottom: 7px;
}
@media (min-width: 768px) {
  footer .content-info .footer-container .footer-col .list-link li:not(:last-child) {
    margin-bottom: 10px;
  }
}
footer .content-info .footer-container .footer-col .list-link li a {
  display: flex;
  font-weight: 400;
  color: #707070;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  font-size: 0.88rem;
}
footer .content-info .footer-container .footer-col.col-service {
  margin-left: auto;
}
footer .content-info .footer-container .footer-col.col-service p {
  color: #707070;
  font-weight: 400;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  font-size: 0.88rem;
}
footer .content-info .footer-container a:hover {
  color: #000000 !important;
}
footer .content-info2 {
  background-color: #000;
}
footer .content-info2 .footer-bottom-container {
  position: relative;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
  padding-top: 0px;
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media (min-width: 992px) {
  footer .content-info2 .footer-bottom-container {
    margin-top: 30px;
  }
}
@media (min-width: 992px) {
  footer .content-info2 .footer-bottom-container {
    align-items: center;
  }
}
@media (min-width: 992px) {
  footer .content-info2 .footer-bottom-container {
    flex-direction: column;
  }
}
footer .content-info2 .footer-bottom-container .company-info {
  padding-top: 30px;
  padding-bottom: 30px;
  text-align: center;
  margin-bottom: 0px;
  order: 3;
}
@media (min-width: 992px) {
  footer .content-info2 .footer-bottom-container .company-info {
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  footer .content-info2 .footer-bottom-container .company-info {
    order: unset;
  }
}
footer .content-info2 .footer-bottom-container .company-info a {
  color: #FFF !important;
  text-decoration: none !important;
}
footer .content-info2 .footer-bottom-container .company-info p {
  font-weight: 400;
  color: #FFF !important;
  margin-bottom: 0;
  font-size: 1rem;
}
footer .content-info2 .footer-bottom-container .company-info p.detail-1 {
  text-transform: uppercase;
}
footer .content-info2 .footer-bottom-container .company-info p.detail-2 {
  color: #FFF !important;
  font-size: 0.75rem;
}
footer .content-info2 .footer-bottom-container .by {
  order: 5;
}
@media (min-width: 992px) {
  footer .content-info2 .footer-bottom-container .by {
    order: unset;
  }
}
footer .content-info2 .footer-bottom-container p {
  padding-top: 10px;
  padding-bottom: 10px;
  font-weight: 400;
  color: #707070;
  margin-bottom: 0;
  font-size: 0.94rem;
}
footer .content-info2 .footer-bottom-container p a {
  text-decoration: none;
}

body.page-homepage {
  /* il link “pieno schermo” sopra l’iframe */
}
body.page-homepage main[role=main] {
  padding-top: 116px;
}
@media (min-width: 992px) {
  body.page-homepage main[role=main] {
    padding-top: 120px;
  }
}
body.page-homepage .embed-container1 {
  position: relative;
}
body.page-homepage .video-overlay-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 10;
  /* opzionale: cursore a mano */
  cursor: pointer;
}
body.page-homepage .marquee {
  display: flex;
  align-items: center;
  overflow: hidden;
  width: 100%;
  position: relative;
  height: 110px;
  font-size: 1.56rem;
  text-transform: uppercase;
  color: #000000;
  font-weight: 300;
}
@media (min-width: 768px) {
  body.page-homepage .marquee {
    height: 200px;
  }
}
@media (min-width: 576px) {
  body.page-homepage .marquee {
    font-size: 4.06rem;
  }
}
body.page-homepage .marquee__inner {
  display: flex;
  flex-shrink: 0;
  animation: scroll-left 40s linear infinite;
  white-space: nowrap;
}
body.page-homepage .marquee p {
  margin: 0;
  padding-right: 2rem;
}
@keyframes scroll-left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

body.page-product.page-products {
  /* 2) La classe helper che mostra l’overlay: */
  /* 3) Testata dell’overlay: */
  /* 5) Stile delle singole sezioni “filter-section”: */
  /* 6) Footer dell’overlay: rimane sempre incollato in fondo */
  /* Sezioni sticky */
}
body.page-product.page-products .products-header {
  height: 0;
}
body.page-product.page-products .filter-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #FFF;
  z-index: 1050;
  display: flex;
  flex-direction: column;
  transition: opacity 0.3s ease-in-out;
  opacity: 0;
  pointer-events: none;
  padding: 2rem;
  justify-content: center;
}
body.page-product.page-products .filter-overlay .filtri {
  flex-direction: column !important;
}
body.page-product.page-products .filter-overlay.show {
  opacity: 1;
  pointer-events: all;
}
body.page-product.page-products .filter-overlay__header {
  padding: 1rem;
  border-bottom: 1px solid #e5e5e5;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
body.page-product.page-products .filter-overlay__body .filter-section {
  margin-bottom: 1.5rem;
}
body.page-product.page-products .filter-overlay__footer {
  padding: 1rem;
  border-top: 1px solid #e5e5e5;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body.page-product.page-products main[role=main] {
  overflow-x: initial;
  padding-top: 120px;
}
@media (min-width: 992px) {
  body.page-product.page-products main[role=main] {
    padding-top: 120px;
  }
}
body.page-product.page-products.is-mobile-menu-open .breadcrumb-nav:after {
  border-bottom: none !important;
}
body.page-product.page-products .breadcrumb-nav {
  display: flex;
  justify-content: start;
  padding-top: 0;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  body.page-product.page-products .breadcrumb-nav {
    padding-top: 15px;
  }
}
@media (min-width: 768px) {
  body.page-product.page-products .breadcrumb-nav {
    padding-bottom: 15px;
  }
}
@media (min-width: 768px) {
  body.page-product.page-products .breadcrumb-nav {
    margin-bottom: 27px;
  }
}
@media (max-width: 991.98px) {
  body.page-product.page-products .breadcrumb-nav {
    position: relative;
  }
}
body.page-product.page-products .breadcrumb-nav .breadcrumb a {
  text-decoration: none;
  transition: color 250ms cubic-bezier(0.165, 0.84, 0.44, 1);
  color: #707070;
  font-size: 0.81rem;
}
body.page-product.page-products .breadcrumb-nav .breadcrumb a:focus {
  color: #000000;
}
body.page-product.page-products .breadcrumb-nav .breadcrumb a:active {
  color: #000000;
}
@media (hover: hover) {
  body.page-product.page-products .breadcrumb-nav .breadcrumb a:hover {
    color: #000000;
  }
}
body.page-product.page-products #page-header {
  padding-bottom: 10px;
}
body.page-product.page-products .sibling-categories ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
body.page-product.page-products .sibling-categories ul.sibling-categories-slider {
  display: flex;
}
@media (max-width: 767.98px) {
  body.page-product.page-products .sibling-categories ul.sibling-categories-slider {
    display: block;
  }
  body.page-product.page-products .sibling-categories ul.sibling-categories-slider.slick-initialized {
    display: block;
    overflow: visible;
  }
  body.page-product.page-products .sibling-categories ul.sibling-categories-slider.slick-initialized .slick-track {
    display: flex;
  }
  body.page-product.page-products .sibling-categories ul.sibling-categories-slider.slick-initialized .slick-slide {
    margin-right: 10px;
    opacity: 1;
    height: auto;
  }
  body.page-product.page-products .sibling-categories ul.sibling-categories-slider.slick-initialized .slick-slide > div {
    height: 100%;
  }
  body.page-product.page-products .sibling-categories ul.sibling-categories-slider.slick-initialized .slick-slide a {
    white-space: nowrap;
    display: inline-block;
    padding: 5px 10px;
    background-color: #f2f2f2;
  }
}
@media (max-width: 767.98px) and (min-width: 992px) {
  body.page-product.page-products .sibling-categories ul.sibling-categories-slider.slick-initialized .slick-slide a {
    background-color: none;
  }
}
body.page-product.page-products .sibling-categories ul li {
  display: inline-block;
  font-size: 0.94rem;
}
body.page-product.page-products .sibling-categories ul li:not(:first-child) {
  margin-left: 20px;
}
body.page-product.page-products .sibling-categories ul li a {
  text-decoration: none;
}
body.page-product.page-products .sibling-categories ul li a.active {
  font-weight: 700;
}
body.page-product.page-products section.filters {
  /* position: sticky; */
  top: 54px;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  z-index: 3;
  display: block;
  padding-top: 15px;
  padding-bottom: 10px;
}
@media (min-width: 768px) {
  body.page-product.page-products section.filters {
    top: 60px;
  }
}
@media (min-width: 992px) {
  body.page-product.page-products section.filters {
    display: flex;
  }
}
@media (min-width: 768px) {
  body.page-product.page-products section.filters {
    padding-top: 15px;
  }
}
@media (min-width: 768px) {
  body.page-product.page-products section.filters {
    padding-bottom: 15px;
  }
}
body.page-product.page-products section.filters nav.breadcrumb-nav {
  width: auto;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  body.page-product.page-products section.filters nav.breadcrumb-nav {
    margin-bottom: 0;
  }
}
body.page-product.page-products section.filters nav.breadcrumb-nav .breadcrumb .breadcrumb-item {
  color: #707070;
  font-size: 0.81rem;
  font-family: "Montserrat", sans-serif;
}
@media (min-width: 768px) {
  body.page-product.page-products section.filters nav.breadcrumb-nav .breadcrumb .breadcrumb-item {
    font-size: 0.81rem;
  }
}
body.page-product.page-products section.filters nav.breadcrumb-nav .breadcrumb .breadcrumb-item + .breadcrumb-item {
  padding-left: 5px;
}
body.page-product.page-products section.filters nav.breadcrumb-nav .breadcrumb .breadcrumb-item::before {
  color: #707070;
  padding-right: 5px;
  font-size: 0.81rem;
}
@media (min-width: 768px) {
  body.page-product.page-products section.filters nav.breadcrumb-nav .breadcrumb .breadcrumb-item::before {
    font-size: 0.81rem;
  }
}
body.page-product.page-products section.filters nav.breadcrumb-nav .breadcrumb .breadcrumb-item:last-child {
  color: #707070;
  text-transform: capitalize;
}
body.page-product.page-products section.filters nav.breadcrumb-nav .breadcrumb .breadcrumb-item a {
  text-decoration: unset;
  font-size: 0.81rem;
}
@media (min-width: 768px) {
  body.page-product.page-products section.filters nav.breadcrumb-nav .breadcrumb .breadcrumb-item a {
    font-size: 0.81rem;
  }
}
body.page-product.page-products section.filters .filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 100%;
}
@media (min-width: 768px) {
  body.page-product.page-products section.filters .filter-bar {
    min-width: 460px;
  }
}
body.page-product.page-products section.filters .filter-bar .dropdown {
  width: 100%;
  position: relative; /* fondamentale per le % del menu */
  display: inline-block;
}
body.page-product.page-products section.filters .filter-bar .btndropdown-toggle {
  padding: 10px 10px;
  text-decoration: none;
  color: #707070;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  width: 100%;
}
@media (min-width: 768px) {
  body.page-product.page-products section.filters .filter-bar .btndropdown-toggle {
    padding: 10px 20px;
  }
}
@media (min-width: 992px) {
  body.page-product.page-products section.filters .filter-bar .btndropdown-toggle {
    width: 100%;
  }
}
body.page-product.page-products section.filters .filter-bar .btndropdown-toggle .filter-variety {
  background-color: #000;
  color: #FFF;
  font-weight: 600;
  padding: 10px 15px;
}
body.page-product.page-products section.filters .filter-bar .btndropdown-toggle .filter-order {
  padding-left: 0;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  body.page-product.page-products section.filters .filter-bar .btndropdown-toggle .filter-order {
    padding-left: 65px;
  }
}
@media (min-width: 992px) {
  body.page-product.page-products section.filters .filter-bar .btndropdown-toggle .filter-order {
    padding-left: 0;
  }
}
body.page-product.page-products section.filters .filter-bar .btndropdown-toggle .filter-count-data,
body.page-product.page-products section.filters .filter-bar .btndropdown-toggle .filter-order-data {
  color: #707070;
  font-weight: 400;
  text-transform: capitalize;
}
body.page-product.page-products section.filters .filter-bar .btndropdown-toggle svg {
  padding: 0;
  transition: transform 0.25s ease;
}
@media (min-width: 768px) {
  body.page-product.page-products section.filters .filter-bar .btndropdown-toggle svg {
    padding: 0;
  }
}
body.page-product.page-products section.filters .filter-bar .btndropdown-toggle svg.show {
  transform: rotate(180deg);
}
body.page-product.page-products section.filters .filter-bar .btndropdown-toggle[aria-expanded=true] svg {
  transform: rotate(180deg);
}
body.page-product.page-products section.filters .filter-bar .dropdown-menu {
  border-radius: 0px;
  font-size: 0.81rem;
  right: 0 !important;
  width: 100%;
  min-width: 0;
  border: solid 1px #707070;
}
body.page-product.page-products section.filters .filter-bar .dropdown-menu span {
  color: #000000;
}
body.page-product.page-products section.filters .filter-bar .dropdown-menu a {
  text-decoration: none;
}
body.page-product.page-products section.filters .filter-bar .dropdown-menu a.active {
  font-weight: 600;
}
body.page-product.page-products section.filters .filter-bar .dropdown-menu .dropdown-menu-inner {
  padding-left: 16px;
  padding-right: 16px;
  margin-top: 8px;
  margin-bottom: 8px;
}
body.page-product.page-products section.filters .filter-bar .dropdown-menu .dropdown-menu-inner ul {
  list-style: none;
}
body.page-product.page-products section.filters .filter-bar .dropdown-menu .dropdown-menu-inner h5 {
  font-size: 0.94rem;
  text-transform: uppercase;
  padding-left: 0;
  color: #000;
  font-weight: 500;
}
body.page-product.page-products section.filters .filter-bar .dropdown-menu .dropdown-menu-inner label.container {
  padding-top: 5px;
  padding-bottom: 5px;
}
body.page-product.page-products section.filters .filter-bar .dropdown-menu .dropdown-menu-inner label.container .form-check-input[type=checkbox] {
  border-radius: 0px;
}
body.page-product.page-products section.filters .filter-bar .dropdown-menu .dropdown-menu-inner li label {
  font-size: 0.75rem;
}
@media (min-width: 768px) {
  body.page-product.page-products section.filters .filter-bar .dropdown-menu .dropdown-menu-inner li label {
    font-size: 0.88rem;
  }
}
body.page-product.page-products #filtersProductsWrapper,
body.page-product.page-products .filters-products-container {
  overflow: visible !important;
}
body.page-product.page-products section.filters,
body.page-product.page-products section.filtersDesktop {
  position: sticky;
  z-index: 3;
  align-self: flex-start;
  background-color: white;
}
body.page-product.page-products section.filters {
  top: 86px;
}
@media (min-width: 768px) {
  body.page-product.page-products section.filters {
    top: 90px;
  }
}
body.page-product.page-products section.filtersDesktop {
  top: 168px;
}
body.page-product.page-products .btn-filters {
  position: relative;
  background-color: #FFF;
  transition: background-color 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
  text-transform: uppercase;
  border-radius: 0px;
  border: solid 1px #707070;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 0.81rem;
  width: 100%;
}
@media (min-width: 768px) {
  body.page-product.page-products .btn-filters {
    font-size: 0.81rem;
  }
}
@media (min-width: 768px) {
  body.page-product.page-products .btn-filters {
    width: 100%;
  }
}
body.page-product.page-products .btn-filters span {
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  padding: 0 10px;
}
@media (min-width: 768px) {
  body.page-product.page-products .btn-filters span {
    font-size: 0.81rem;
  }
}
body.page-product.page-products .btn-filters:focus, body.page-product.page-products .btn-filters:active, body.page-product.page-products .btn-filters:focus:active {
  color: #707070 !important;
}
@media (hover: hover) {
  body.page-product.page-products .btn-filters:hover {
    background-color: #FFF;
    border-color: #000000;
    color: #000000;
  }
}
body.page-product.page-products section.products {
  position: relative;
  padding-top: 0px;
  padding-bottom: 40px;
}
@media (min-width: 768px) {
  body.page-product.page-products section.products {
    padding-bottom: 30px;
  }
}
body.page-product.page-products section.products .shopping-items-list {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(2, 1fr);
  padding-left: 0px;
}
@media (min-width: 768px) {
  body.page-product.page-products section.products .shopping-items-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1400px) {
  body.page-product.page-products section.products .shopping-items-list {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 767.98px) {
  body.page-product.page-products section.products .shopping-items-list .col-6 {
    width: auto !important;
  }
}
@media (min-width: 992px) {
  body.page-product.page-products section.products .shopping-items-list {
    padding-left: 0;
  }
}
body.page-product.page-products section.products .shopping-items-list #products-wrapper {
  display: contents;
}
body.page-product.page-products section.products .shopping-items-list #products-wrapper .list-no-prod {
  position: absolute;
  top: 45%;
  left: 45%;
}
body.page-product.page-products section.products .shopping-items-list .product-item {
  margin-bottom: 0;
  padding-left: 0px;
  padding-right: 0px;
  background-color: #FAFAFA;
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  body.page-product.page-products section.products .shopping-items-list .product-item {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  body.page-product.page-products section.products .shopping-items-list .product-item {
    padding-left: 5px;
    padding-right: 5px;
  }
}
body.page-product.page-products section.products .shopping-items-list .banner-horizontal {
  grid-column: span 2;
}
body.page-product.page-products section.products .shopping-items-list .banner-horizontal img {
  object-fit: cover;
  height: 100%;
}
body.page-product.page-products section.products .shopping-items-list .banner-vertical {
  grid-row: span 2;
  display: flex;
  align-items: stretch;
}
body.page-product.page-products section.products .shopping-items-list .banner-vertical img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
body.page-product.page-products section.products nav {
  width: 100%;
}
body.page-product.page-products section.products nav ul.pagination {
  justify-content: center;
}
body.page-product.page-products section.products .pagination-nav {
  margin-top: 40px;
}
@media (min-width: 768px) {
  body.page-product.page-products section.products .pagination-nav {
    margin-top: 50px;
  }
}
body.page-product.page-products section.products .pagination-nav .pagination .page-item {
  margin-left: 2px;
  margin-right: 2px;
}
body.page-product.page-products section.products .pagination-nav .pagination .page-item.active .page-link {
  box-shadow: 0 0 0 1px #000000;
  font-weight: 600;
}
body.page-product.page-products .pagination nav ul.pagination .page-item {
  margin-left: 2px;
  margin-right: 2px;
}
body.page-product.page-products .pagination nav ul.pagination .page-item.active .page-link {
  box-shadow: 0 0 0 1px #000000;
  font-weight: 600;
}
body.page-product.page-products.search-results section.products-header .content {
  background: none;
  background-color: #000000;
}
body.page-product.page-products .filters-mobile {
  width: 100vh;
}
body.page-product.page-products .desktop-filters h5 {
  font-weight: 700;
  font-size: 1rem;
}
body.page-product.page-products .desktop-filters .filtri {
  padding-bottom: 0;
}
@media (min-width: 768px) {
  body.page-product.page-products .desktop-filters .filtri {
    padding-bottom: 20px;
  }
}
body.page-product.page-products .desktop-filters .filter-group {
  padding-bottom: 15px;
  margin-bottom: 1.5rem;
  width: 100%;
  border-bottom: 1px solid #FAFAFA;
}
@media (min-width: 768px) {
  body.page-product.page-products .desktop-filters .filter-group {
    border-bottom: none;
  }
}
body.page-product.page-products .desktop-filters .filter-group-reset {
  text-align: center;
  padding: 0 0 30px;
  text-transform: uppercase;
  font-weight: 700;
}
body.page-product.page-products .desktop-filters .filter-header {
  font-weight: 500;
}
body.page-product.page-products .desktop-filters .reset-filter {
  font-size: 12px;
  /* font-size: 20px; */
  text-decoration: none;
  color: #707070;
}
body.page-product.page-products .desktop-filters .reset-filter-all {
  font-size: 12px;
  /* font-size: 20px; */
  text-decoration: none;
  color: #707070;
}
body.page-product.page-products .desktop-filters .size-option {
  border: 2px solid #F5F5F5;
  text-align: center;
  padding: 10px 0;
  cursor: pointer;
  font-size: 0.69rem;
  font-weight: 700;
}
body.page-product.page-products .desktop-filters .size-option.active {
  border: 2px solid #000000;
  color: #000;
}
body.page-product.page-products .desktop-filters .price-option {
  border: 2px solid #F5F5F5;
  text-align: center;
  padding: 10px 0;
  cursor: pointer;
  font-size: 0.69rem;
  font-weight: 700;
}
body.page-product.page-products .desktop-filters .price-option.active {
  border: 2px solid #000000;
  color: #707070;
}
body.page-product.page-products .desktop-filters .color-option {
  border: 2px solid #F5F5F5;
  text-align: center;
  padding: 10px 0;
  cursor: pointer;
  font-size: 0.69rem;
  font-weight: 700;
}
body.page-product.page-products .desktop-filters .color-option.active {
  border: 2px solid #000000;
  color: #000;
}

body.page-product main[role=main] {
  padding-top: 116px;
}
@media (min-width: 992px) {
  body.page-product main[role=main] {
    padding-top: 120px;
  }
}
body.page-product main[role=main] figure {
  margin: 0 0 0rem;
}
body.page-product main[role=main] li:has(video) {
  margin: 0 0 0rem;
  background: none !important;
}
body.page-product .header-container {
  padding-top: 0px;
}
@media (min-width: 768px) {
  body.page-product .header-container {
    padding-top: 0px;
  }
}
.is-mobile-menu-open body.page-product .header-container {
  margin-top: 0px;
}
body.page-product .header-container.scrolled {
  padding: 0;
  top: 0;
  left: 0;
  right: 0;
  position: fixed;
  margin-top: 0px;
  background-color: rgba(0, 0, 0, 0);
}
@media (min-width: 768px) {
  body.page-product .header-container.scrolled {
    padding: 0px;
  }
}
body.page-product .size-guide-modal {
  width: 80% !important;
}
@media (max-width: 767.98px) {
  body.page-product .size-guide-modal {
    width: 100% !important;
  }
}
body.page-product .size-guide-modal .swal2-content {
  padding: 0;
}
@media (min-width: 768px) {
  body.page-product .size-guide-modal .swal2-content {
    padding: 30px;
  }
}
body.page-product .swal2-container .swal2-modal {
  width: 30em;
}
body.page-product .swal2-container .swal2-modal .swal2-error {
  display: none !important;
}
body.page-product .swal2-container .swal2-modal .swal2-title {
  height: 100px;
  display: flex !important;
  align-items: flex-end;
  justify-content: center;
  color: #000000;
  padding: 20px 30px 20px;
  text-transform: uppercase;
  font-size: 1.13rem;
  font-family: "Montserrat", sans-serif;
}
@media (min-width: 576px) {
  body.page-product .swal2-container .swal2-modal .swal2-title {
    font-size: 1.25rem;
  }
}
body.page-product .swal2-container .swal2-modal .swal2-html-container {
  padding: 0px 10px 0px 10px;
  font-size: 0.88rem;
}
@media (min-width: 768px) {
  body.page-product .swal2-container .swal2-modal .swal2-html-container {
    padding: 20px 30px 20px 30px;
  }
}
@media (min-width: 576px) {
  body.page-product .swal2-container .swal2-modal .swal2-html-container {
    font-size: 1rem;
  }
}
body.page-product .swal2-container .swal2-modal .swal2-html-container .product-row {
  border-bottom: solid 1px #CECECE;
  padding: 15px 15px 15px 5px;
  flex-wrap: nowrap;
  display: flex;
  gap: 15px;
}
body.page-product .swal2-container .swal2-modal .swal2-html-container .product-row:first-child {
  border-top: solid 1px #CECECE;
}
body.page-product .swal2-container .swal2-modal .swal2-html-container .product-row .product-image-main {
  width: 200px;
}
body.page-product .swal2-container .swal2-modal .swal2-html-container .product-row .product-image-main .product-img {
  mix-blend-mode: multiply;
  position: relative;
  padding-bottom: 100%;
  margin-top: 10px;
  z-index: 1;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 576px) {
  body.page-product .swal2-container .swal2-modal .swal2-html-container .product-row .product-image-main .product-img {
    margin-top: 0;
  }
}
body.page-product .swal2-container .swal2-modal .swal2-html-container .product-row .product-image-main .product-img img {
  mix-blend-mode: multiply;
}
body.page-product .swal2-container .swal2-modal .swal2-html-container .product-row .details {
  width: auto;
  text-align: right;
}
body.page-product .swal2-container .swal2-modal .swal2-html-container .product-row .details .product-name {
  color: #000;
  display: inline-block;
  margin-bottom: 10px;
  font-size: 1rem;
  line-height: 1;
  text-transform: capitalize;
  font-weight: 400;
}
body.page-product .swal2-container .swal2-modal .swal2-html-container .product-row .details p {
  font-size: 0.88rem;
  color: #575757;
  display: inline-block;
  text-transform: capitalize;
  font-weight: 400;
  margin-bottom: 0px;
  width: 100%;
}
body.page-product .sizeTable {
  font-size: 0.75rem;
}
body.page-product.is-mobile-menu-open section.product-header {
  border-bottom: none;
}
body.page-product section.product-header {
  position: relative;
  align-items: center;
  display: none;
  /*@include media-breakpoint-down(lg){
    justify-content: center;
  }
  @include media-breakpoint-up(lg){
    justify-content: space-between;
  }
  @include media-breakpoint-up(xxl){
    justify-content: flex-start;

    .filters {
      @include absolute(top 50% left 50%);
      transform: translate(-50%, -50%);
    }
  }*/
}
@media (min-width: 768px) {
  body.page-product section.product-header {
    display: block;
  }
}
body.page-product section.product-header .nav-label-container {
  flex-flow: row-reverse;
}
body.page-product section.product-header .breadcrumb-nav {
  display: none;
  justify-content: start;
  width: 100%;
  overflow-x: auto;
  white-space: nowrap;
  /* Nasconde la scrollbar */
  -ms-overflow-style: none;
  /* IE e Edge */
  scrollbar-width: none;
  /* Firefox */
}
@media (min-width: 768px) {
  body.page-product section.product-header .breadcrumb-nav {
    display: flex;
  }
}
body.page-product section.product-header .breadcrumb-nav::-webkit-scrollbar {
  display: none;
}
body.page-product section.product-header .breadcrumb-nav .breadcrumb {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
  scroll-behavior: smooth;
  margin-top: 10px;
}
@media (min-width: 768px) {
  body.page-product section.product-header .breadcrumb-nav .breadcrumb {
    margin-top: 10px;
  }
}
body.page-product section.product-header .breadcrumb-nav .breadcrumb::-webkit-scrollbar {
  display: none;
}
body.page-product section.product-header .breadcrumb-nav .breadcrumb .breadcrumb-item {
  flex-shrink: 0;
  color: #000 !important;
  font-family: "Montserrat", sans-serif;
  display: inline-block;
  font-size: 0.81rem;
}
body.page-product section.product-header .breadcrumb-nav .breadcrumb .breadcrumb-item::before {
  content: "/";
}
body.page-product section.product-header .breadcrumb-nav .breadcrumb .breadcrumb-item:first-child::before {
  display: none;
}
body.page-product section.product-header .breadcrumb-nav .breadcrumb .breadcrumb-item:last-child > span {
  color: #707070 !important;
}
body.page-product section.product-header .breadcrumb-nav .breadcrumb a {
  text-decoration: none;
  transition: color 250ms ease-in-out;
  color: #707070;
  text-transform: capitalize;
}
body.page-product section.product-header .breadcrumb-nav .breadcrumb a:hover {
  color: #707070;
}
body.page-product section.product-header .filters form {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}
@media (min-width: 992px) {
  body.page-product section.product-header .filters form {
    justify-content: flex-end;
  }
}
@media (min-width: 992px) and (max-width: 1599.98px) {
  body.page-product section.product-header .filters form {
    margin-right: -10px;
  }
}
@media (min-width: 1600px) {
  body.page-product section.product-header .filters form {
    justify-content: center;
  }
}
body.page-product section.product-header .filters form .form-check-inline {
  margin-left: 10px;
  margin-right: 10px;
}
body.page-product section.product {
  position: relative;
}
body.page-product section.product .mainBox {
  align-items: flex-start !important;
}
@media (max-width: 767.98px) {
  body.page-product section.product {
    /*       padding-left: 0;
    padding-right: 0; */
  }
}
body.page-product section.product article {
  display: flex;
}
body.page-product section.product .product-images {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0;
}
body.page-product section.product .product-images .main-slider {
  height: auto;
  position: relative;
}
body.page-product section.product .product-images .main-slider .maximize-img {
  position: absolute;
  bottom: 40px;
  right: 40px;
  pointer-events: none;
}
body.page-product section.product .product-images .main-slider .custom-pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
}
body.page-product section.product .product-images .main-slider .custom-page-btn {
  padding: 10px 15px;
  border: 1px solid #ccc;
  background-color: #f5f5f5;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
body.page-product section.product .product-images .main-slider .custom-page-btn:hover {
  background-color: #E0DAC8;
}
body.page-product section.product .product-images .main-slider .custom-page-btn.active {
  background-color: #007bff;
  color: white;
}
@media (min-width: 768px) {
  body.page-product section.product .product-images .splide__track > ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* Creates 2 columns of equal width */
    gap: 10px;
    /* Adds space between grid items */
  }
  body.page-product section.product .product-images .splide__track > ul .main-slide {
    grid-column: 1/-1;
  }
}
body.page-product section.product .product-images .splide__track figure,
body.page-product section.product .product-images .splide__track .splide__slide {
  background: #F8F8F8;
}
body.page-product section.product .product-images .splide__track img {
  mix-blend-mode: multiply;
}
body.page-product section.product .product-images .splide__pagination__page {
  font-size: 0;
  opacity: 0.6;
  background: #000;
  width: 6px;
  height: 6px;
}
body.page-product section.product .product-images .splide__pagination__page.is-active {
  opacity: 1;
  background: #000000;
  transform: scale(1);
}
body.page-product section.product .product-images .product-arrow-next,
body.page-product section.product .product-images .product-arrow-prev {
  background: transparent;
  width: 25px;
}
body.page-product section.product .product-images .product-arrow-next img,
body.page-product section.product .product-images .product-arrow-prev img {
  width: 100%;
}
@media (max-width: 767.98px) {
  body.page-product section.product .product-images {
    position: relative;
  }
}
body.page-product section.product .product-images .background-cover {
  opacity: 0;
  /* Inizialmente invisibile */
  transition: opacity 0.5s ease;
  /* Transizione fluida sull'opacità */
}
body.page-product section.product .product-images .loaded {
  opacity: 1;
  display: block;
  /* Immagine visibile quando è completamente caricata */
}
body.page-product section.product .product-images .product-color-images {
  visibility: hidden;
}
@media (max-width: 767.98px) {
  body.page-product section.product .product-images .product-color-images:not(.slick-initialized) .product-image:not(:first-child) {
    display: none !important;
  }
}
body.page-product section.product .product-images .product-color-images:not(.selected-color) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
body.page-product section.product .product-images .product-color-images.selected-color {
  visibility: visible;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
}
@media (max-width: 767.98px) {
  body.page-product section.product .product-images .product-color-images.selected-color {
    margin-bottom: 30px;
    display: block;
  }
}
body.page-product section.product .product-images .product-color-images.selected-color figure.product-image {
  background-color: #FAFAFA;
  width: 100%;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  body.page-product section.product .product-images .product-color-images.selected-color figure.product-image {
    width: calc(50% - 2.5px);
  }
}
@media (min-width: 992px) {
  body.page-product section.product .product-images .product-color-images.selected-color figure.product-image {
    width: calc(50% - 5px);
  }
}
@media (min-width: 768px) {
  body.page-product section.product .product-images .product-color-images.selected-color figure.product-image {
    margin-bottom: 5px;
  }
}
@media (min-width: 992px) {
  body.page-product section.product .product-images .product-color-images.selected-color figure.product-image {
    margin-bottom: 10px;
  }
}
@media (max-width: 767.98px) {
  body.page-product section.product .product-images .product-color-images.selected-color figure.product-image {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    display: block !important;
  }
}
@media (min-width: 768px) {
  body.page-product section.product .product-images .product-color-images.selected-color figure.product-image {
    border: 1px solid transparent;
  }
}
body.page-product section.product .product-images .product-color-images.selected-color figure.product-image a {
  position: relative;
  display: block;
}
body.page-product section.product .slider-product-nav {
  display: none;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
body.page-product section.product .slider-product-nav.selected-color {
  display: none;
}
@media (min-width: 768px) {
  body.page-product section.product .slider-product-nav.selected-color {
    display: flex;
  }
}
body.page-product section.product .slider-product-nav .img-slider-nav {
  border: 1px solid #F5F5F5;
  margin-right: 0;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  body.page-product section.product .slider-product-nav .img-slider-nav {
    margin-right: 10px;
    margin-bottom: 10px;
  }
}
@media (min-width: 992px) {
  body.page-product section.product .slider-product-nav .img-slider-nav {
    margin-right: 20px;
    margin-bottom: 20px;
  }
}
body.page-product section.product .slider-product-nav .img-slider-nav.current {
  border-color: #000000;
}
body.page-product section.product .slider-product-nav .img-slider-nav img {
  max-width: 0;
}
@media (min-width: 768px) {
  body.page-product section.product .slider-product-nav .img-slider-nav img {
    max-width: 70px;
  }
}
@media (min-width: 992px) {
  body.page-product section.product .slider-product-nav .img-slider-nav img {
    max-width: 108px;
  }
}
body.page-product section.product .product-info {
  position: relative;
  top: unset;
  /*@include main-padding();

  @include media-breakpoint-up(md) {
    padding-left: 0 !important;
  }*/
  /*@include media-breakpoint-up(xxl) {
    width: $product-info-max-width;
  }*/
  display: flex;
  flex-direction: column;
}
@media (min-width: 992px) {
  body.page-product section.product .product-info {
    position: sticky;
  }
}
@media (min-width: 992px) {
  body.page-product section.product .product-info {
    top: 120px;
  }
}
@media (min-width: 768px) {
  body.page-product section.product .product-info {
    display: flex;
  }
}
body.page-product section.product .product-info .inner-content {
  height: 100%;
  padding-left: 0;
  padding-right: 0;
  margin-top: 30px;
}
@media (min-width: 992px) {
  body.page-product section.product .product-info .inner-content {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 1400px) {
  body.page-product section.product .product-info .inner-content {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 1600px) {
  body.page-product section.product .product-info .inner-content {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 992px) {
  body.page-product section.product .product-info .inner-content {
    margin-top: 0;
  }
}
body.page-product section.product .product-info .inner-content .name {
  font-size: 1.25rem;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 5px;
  text-transform: uppercase;
  font-family: "Montserrat", sans-serif;
}
body.page-product section.product .product-info .inner-content .category {
  font-size: 0.94rem;
  color: #575757;
  font-family: "Montserrat", sans-serif;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .category {
    font-size: 1.25rem;
  }
}
body.page-product section.product .product-info .inner-content .details-right {
  color: #ACAEAF;
  font-size: 0.75rem;
}
body.page-product section.product .product-info .inner-content .price {
  order: 5;
  font-size: 1.25rem;
  font-family: "Montserrat", sans-serif;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .price {
    order: initial;
  }
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .price {
    font-size: 1.25rem;
  }
}
body.page-product section.product .product-info .inner-content .price span {
  white-space: nowrap;
}
body.page-product section.product .product-info .inner-content .price span.priceOrigin {
  color: #707070;
}
body.page-product section.product .product-info .inner-content .price.discount-price span {
  white-space: nowrap;
}
body.page-product section.product .product-info .inner-content .price.discount-price span.priceOrigin {
  color: #ACAEAF;
  text-decoration: line-through;
  margin-right: 10px;
}
body.page-product section.product .product-info .inner-content .price.discount-price span.priceFull {
  color: #000000;
}
body.page-product section.product .product-info .inner-content .price .discount-badge {
  color: white;
  background-color: #000000;
  padding: 5px 10px;
  font-size: 0.88rem;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .price .discount-badge {
    font-size: 1rem;
  }
}
body.page-product section.product .product-info .inner-content .priceLowest {
  color: #CECECE;
  font-size: 0.81rem;
}
body.page-product section.product .product-info .inner-content .description {
  order: 5;
  padding: 10px 8px;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .description {
    order: initial;
  }
}
body.page-product section.product .product-info .inner-content .description * {
  font-size: 0.94rem;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .description * {
    font-size: 0.94rem;
  }
}
body.page-product section.product .product-info .inner-content .description ul {
  padding-left: 20px;
}
body.page-product section.product .product-info .inner-content .product-characteristics {
  display: flex;
  flex-direction: row;
  order: 5;
  padding-top: 20px;
  padding-bottom: 20px;
  flex-wrap: wrap;
  border-bottom: 1px dashed #000000;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .product-characteristics {
    display: flex;
  }
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .product-characteristics {
    flex-direction: row;
  }
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .product-characteristics {
    order: initial;
  }
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .product-characteristics {
    padding-top: 25px;
  }
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .product-characteristics {
    padding-bottom: 25px;
  }
}
body.page-product section.product .product-info .inner-content .product-characteristics .char {
  display: flex;
  align-items: center;
  flex-direction: row;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .product-characteristics .char {
    flex-direction: row;
  }
}
body.page-product section.product .product-info .inner-content .product-characteristics .char:not(:last-child) {
  margin-right: 20px;
}
body.page-product section.product .product-info .inner-content .product-characteristics .char img {
  display: block;
  width: 32px;
  height: 32px;
  max-width: fit-content;
}
body.page-product section.product .product-info .inner-content .product-characteristics .char span {
  padding-left: 8px;
  font-weight: 600;
  font-size: 0.75rem;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .product-characteristics .char span {
    font-size: 1.06rem;
  }
}
body.page-product section.product .product-info .inner-content .accordion-body {
  padding: 0;
  margin-bottom: 15px;
}
body.page-product section.product .product-info .inner-content > .klarna-payoff {
  display: none;
  padding-top: 20px;
  text-align: left;
}
body.page-product section.product .product-info .inner-content > .klarna-payoff .klarna-logo {
  font-family: "Klarna Headline";
  font-weight: 600;
  letter-spacing: -0.5px;
}
body.page-product section.product .product-info .inner-content > .klarna-payoff .klarna-modal {
  text-decoration: underline;
}
body.page-product section.product .product-info .inner-content > .scalapay-payoff {
  display: none;
  padding-bottom: 10px;
  text-align: left;
}
body.page-product section.product .product-info .inner-content > .scalapay-payoff .scalapay-modal {
  text-decoration: underline;
}
body.page-product section.product .product-info .inner-content .colors {
  order: 1;
  padding-top: 10px;
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .colors {
    order: initial;
  }
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .colors {
    padding-bottom: 0;
  }
}
body.page-product section.product .product-info .inner-content .colors .label {
  font-weight: normal;
  font-family: "Montserrat", sans-serif;
  font-size: 0.94rem;
  display: inline-block;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .colors .label {
    margin-bottom: 0;
  }
}
body.page-product section.product .product-info .inner-content .colors #currentColorLabel {
  font-weight: 700;
  font-size: 0.94rem;
}
body.page-product section.product .product-info .inner-content .colors .selector {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  gap: 10px;
  margin-top: 0;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .colors .selector {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .colors .selector {
    margin-bottom: 0;
  }
}
body.page-product section.product .product-info .inner-content .colors .selector .color {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  width: 75px;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .colors .selector .color {
    width: 100px;
  }
}
body.page-product section.product .product-info .inner-content .colors .selector .color .color-list-box {
  width: 100%;
  text-align: center;
}
body.page-product section.product .product-info .inner-content .colors .selector .color.selected-color .thumb img {
  border: 1px solid #000000;
}
body.page-product section.product .product-info .inner-content .colors .selector .color .color-text {
  font-size: 0.75rem;
  font-family: "Montserrat", sans-serif;
  color: #707070;
  text-transform: uppercase;
  margin-top: 5px;
}
@media (min-width: 576px) {
  body.page-product section.product .product-info .inner-content .colors .selector .color .color-text {
    font-size: 0.81rem;
  }
}
body.page-product section.product .product-info .inner-content .colors .selector .color .thumb {
  position: relative;
  padding-bottom: calc(91% - 2px);
  width: 100%;
  border: 1px solid #FFF;
  transition: border 250ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
body.page-product section.product .product-info .inner-content .colors .selector .color .thumb img {
  width: 100%;
}
body.page-product section.product .product-info .inner-content .colors .selector .color .thumb:focus {
  border: 1px solid #000000;
}
body.page-product section.product .product-info .inner-content .colors .selector .color .thumb:active {
  border: 1px solid #000000;
}
@media (hover: hover) {
  body.page-product section.product .product-info .inner-content .colors .selector .color .thumb:hover {
    border: 1px solid #000000;
  }
}
body.page-product section.product .product-info .inner-content .colors .selector .color .promo {
  color: #000000;
  font-size: 0.75rem;
  font-weight: 700;
  text-align: center;
}
body.page-product section.product .product-info .inner-content .label {
  font-weight: 600;
  font-size: 1.13rem;
}
body.page-product section.product .product-info .inner-content .add-to-cart-form {
  padding-bottom: 10px;
  order: 3;
  padding-top: 10px;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .add-to-cart-form {
    order: initial;
  }
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .payment-details {
  padding: 20px 0px 10px;
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .payment-details .klarna-payoff {
  text-align: left;
  order: 3;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .add-to-cart-form .payment-details .klarna-payoff {
    order: initial;
  }
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .payment-details .klarna-payoff .klarna-logo {
  font-family: "Klarna Headline";
  font-weight: 600;
  letter-spacing: -0.5px;
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .payment-details .klarna-payoff .klarna-modal {
  text-decoration: underline;
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .payment-details .scalapay-payoff {
  padding-bottom: 10px;
  text-align: left;
  order: 4;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .add-to-cart-form .payment-details .scalapay-payoff {
    order: initial;
  }
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .payment-details .scalapay-payoff .scalapay-modal {
  text-decoration: underline;
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .payment-details .paypal-img {
  width: 82px;
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .form-select {
  display: none;
  border: solid 1px #575757;
  color: #575757;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23575757%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
  margin-bottom: 0;
  width: 100%;
  text-transform: uppercase;
  border-radius: 0px;
}
@media (min-width: 1600px) {
  body.page-product section.product .product-info .inner-content .add-to-cart-form .form-select {
    width: 100%;
  }
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .form-select.selected-color {
  display: block;
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .size-guide-section {
  color: #575757;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .add-to-cart-form .size-guide-section {
    margin-bottom: 10px;
  }
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .size-guide-section label {
  color: #707070;
  font-size: 0.94rem;
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .size-guide-section a {
  color: #707070;
  text-decoration: none;
  font-weight: 400;
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .size-guide {
  display: flex;
  font-weight: 400;
  padding-top: 10px;
  text-decoration: none;
  font-size: 0.75rem;
}
@media (min-width: 576px) {
  body.page-product section.product .product-info .inner-content .add-to-cart-form .size-guide {
    font-size: 0.88rem;
  }
}
body.page-product section.product .product-info .inner-content .add-to-cart-form > div > a#toggleWishlist {
  margin-top: 20px;
  display: block;
  text-decoration: none;
  font-size: 0.81rem;
  text-align: center;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .add-to-cart-form > div > a#toggleWishlist {
    text-align: right;
  }
}
body.page-product section.product .product-info .inner-content .add-to-cart-form > div > a#toggleWishlist .add {
  padding-right: 10px;
}
body.page-product section.product .product-info .inner-content .add-to-cart-form > div > a#toggleWishlist svg {
  width: 12px;
  height: 12px;
}
body.page-product section.product .product-info .inner-content .add-to-cart-form > div:first-child {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
}
body.page-product section.product .product-info .inner-content .add-to-cart-form > div:first-child p {
  width: 100%;
  margin-bottom: 14px;
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .btn {
  margin-top: 30px;
  margin-bottom: 0;
  display: block;
  width: 100%;
  transition: all 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
  font-weight: 400;
  font-size: 0.94rem;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .add-to-cart-form .btn {
    font-size: 1.13rem;
  }
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .btn span {
  margin-right: 13px;
}
body.page-product section.product .product-info .inner-content .add-to-cart-form .btn:hover {
  background-color: #000000;
  border-color: #000000;
  box-shadow: inset 0 0 0 2px white;
}
body.page-product section.product .product-info .inner-content .accordion {
  border-top: 1px solid #707070 !important;
  order: 6;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .accordion {
    order: initial;
  }
}
body.page-product section.product .product-info .inner-content .accordion .accordion-item {
  background-color: transparent;
}
body.page-product section.product .product-info .inner-content .accordion .accordion-item .accordion-header {
  border: 0;
}
body.page-product section.product .product-info .inner-content .accordion:last-child .accordion-item {
  border-bottom: 1px solid #707070 !important;
}
body.page-product section.product .product-info .inner-content .accordion.collapsed.accordion-button {
  border: 0;
}
body.page-product section.product .product-info .inner-content .accordion:not(.collapsed).accordion-button {
  border-bottom: 1px solid #707070 !important;
}
body.page-product section.product .product-info .inner-content .accordion .accordion-button {
  padding: 15px 8px;
  font-size: 0.88rem;
  font-weight: normal;
  color: #707070;
  background-color: transparent;
  display: flex;
  justify-content: space-between;
  font-weight: 700;
  box-shadow: none !important;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  body.page-product section.product .product-info .inner-content .accordion .accordion-button {
    font-size: 0.88rem;
  }
}
body.page-product section.product .product-info .inner-content .accordion .accordion-button .minus {
  display: block;
}
body.page-product section.product .product-info .inner-content .accordion .accordion-button .minus img {
  width: 24px;
  transition: transform 0.2s ease;
}
body.page-product section.product .product-info .inner-content .accordion .accordion-button::after {
  display: none;
}
body.page-product section.product .product-info .inner-content .accordion .accordion-button:focus {
  box-shadow: none !important;
}
body.page-product section.product .product-info .inner-content .accordion .accordion-button.collapsed .minus img {
  transform: rotate(0deg);
}
body.page-product section.product .product-info .inner-content .accordion .accordion-button:not(.collapsed) .minus img {
  transform: rotate(90deg);
}
body.page-product section.product .product-info .inner-content .match-with .heading {
  margin-bottom: 30px;
  font-size: 1.38rem;
}
@media (max-width: 767.98px) {
  body.page-product section.product .product-info .inner-content .match-with .product-box {
    max-width: 400px;
  }
}
body.page-product .swal2-header .swal2-title {
  margin-bottom: 30px;
  font-size: 26px;
}
body.page-product .section-divider {
  padding-top: 50px;
  font-size: 1.13rem;
}
@media (min-width: 768px) {
  body.page-product .section-divider {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  body.page-product .section-divider {
    font-size: 1.38rem;
  }
}
body.page-product .pswp__button--arrow--left:before,
body.page-product .pswp__button--arrow--right:before {
  display: none;
}
body.page-product .pswp__button,
body.page-product .pswp__button--arrow--left:before,
body.page-product .pswp__button--arrow--right:before {
  width: 40px;
  height: 40px;
  padding: 10px;
  top: 0;
}
body.page-product .arrow-custom {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ccc !important;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 20px;
  margin-right: 20px;
}
body.page-product .pswp__button--arrow--left,
body.page-product .pswp__button--arrow--right {
  margin-top: 0;
}
body.page-product .remove {
  padding-right: 8px;
}
body.page-product .whishlist-color {
  display: none;
}
body.page-product .whishlist-color.selected-color {
  display: block;
}

@media (max-width: 767px) {
  body.static-page .gx-4 {
    --bs-gutter-x: 0px;
  }
}
body.static-page main .boxStaticPage {
  max-width: 1400px;
  padding: 15px;
  padding-top: 116px;
}
@media (min-width: 768px) {
  body.static-page main .boxStaticPage {
    padding: 0;
  }
}
@media (min-width: 992px) {
  body.static-page main .boxStaticPage {
    padding-top: 120px;
  }
}
body.static-page main .boxStaticPage h1 {
  color: #000000;
  text-transform: uppercase;
  padding: 0 20px;
  font-size: 1rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  body.static-page main .boxStaticPage h1 {
    padding: 0 30px 30px 30px;
  }
}
@media (min-width: 768px) {
  body.static-page main .boxStaticPage h1 {
    font-size: 1.25rem;
  }
}
body.static-page main .boxStaticPage .page-content {
  border-left: solid 1px #EEEEEE;
  padding: 15px 20px;
  border-width: 0;
  border-radius: 0px;
  /*    &.faq {
    @include rpmq(padding-top, (xs: 0px, md: 60px));
  }*/
}
@media (min-width: 768px) {
  body.static-page main .boxStaticPage .page-content {
    padding: 0 30px 30px 30px;
  }
}
@media (min-width: 768px) {
  body.static-page main .boxStaticPage .page-content {
    border-width: 1px;
  }
}
body.static-page main .boxStaticPage .page-content.page-content-highlighted {
  background: #eee !important;
  border: 1px solid #bbb !important;
  text-align: center !important;
  padding-bottom: 30px;
}
body.static-page main .boxStaticPage .page-content .static-page-title {
  font-size: 2rem;
  padding-bottom: 20px;
}
body.static-page main .boxStaticPage .page-content h2 {
  padding: 20px 0 0 0;
  font-size: 1rem;
  color: #575757;
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  body.static-page main .boxStaticPage .page-content h2 {
    padding: 30px 0 10px 0;
  }
}
@media (min-width: 768px) {
  body.static-page main .boxStaticPage .page-content h2 {
    font-size: 1.13rem;
  }
}
body.static-page main .boxStaticPage .page-content h4,
body.static-page main .boxStaticPage .page-content h5 {
  font-weight: 700;
  padding: 20px 0 0 0;
  margin-bottom: 0;
  font-size: 1.1em;
  color: #000;
  font-family: "Montserrat", sans-serif;
}
body.static-page main .boxStaticPage .page-content h4.thanks-text,
body.static-page main .boxStaticPage .page-content h5.thanks-text {
  font-size: 1.4em;
}
body.static-page main .boxStaticPage .page-content .static-page-text {
  padding-bottom: 40px;
  font-size: 1.1em;
  text-align: justify;
}
body.static-page main .boxStaticPage .page-content .static-page-text .faq-wrap {
  padding-bottom: 15px;
}
body.static-page main .boxStaticPage .page-content .shops-list {
  padding: 20px;
  margin-bottom: 20px;
  background: #eee;
  display: block;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-around;
  align-items: baseline;
  align-content: center;
  flex-grow: 1;
}
@media (min-width: 992px) {
  body.static-page main .boxStaticPage .page-content .shops-list {
    display: flex;
  }
}
body.static-page main .boxStaticPage .page-content .shops-list strong {
  line-height: 4em;
}
body.static-page main .boxStaticPage .page-content .shops-list p {
  line-height: 0.7em;
}
body.static-page main .boxStaticPage .page-content #stores-map {
  height: 500px;
  background: #ccc;
}
body.static-page main .boxStaticPage #static-pages-column-navigator ul {
  margin-top: 30px;
  padding: 20px 0 !important;
  list-style-type: none;
  background-color: #F8F8F8;
}
@media (min-width: 768px) {
  body.static-page main .boxStaticPage #static-pages-column-navigator ul {
    margin-top: 0;
  }
}
body.static-page main .boxStaticPage #static-pages-column-navigator ul li a {
  text-decoration: none;
  text-transform: uppercase;
  display: block;
  width: 90%;
  margin-left: 5%;
  padding: 15px 10px;
  border-radius: 0px;
  transition: all 300ms cubic-bezier(0.165, 0.84, 0.44, 1);
  font-size: 0.88rem;
}
@media (min-width: 768px) {
  body.static-page main .boxStaticPage #static-pages-column-navigator ul li a {
    font-size: 0.88rem;
  }
}
body.static-page main .boxStaticPage #static-pages-column-navigator ul li a:hover, body.static-page main .boxStaticPage #static-pages-column-navigator ul li a.active {
  background: #000000;
  color: #FFF;
}
body.static-page header[role=banner] {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 100;
}
body.static-page.page-thank-you {
  background-color: #FFF;
}
body.static-page.page-thank-you .thankyou {
  padding-top: 116px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 50vh;
}
@media (min-width: 992px) {
  body.static-page.page-thank-you .thankyou {
    padding-top: 120px;
  }
}
body.static-page.page-thank-you .thankyou h3 {
  color: #000000;
  margin-top: 30px;
}
body.static-page.page-thank-you .thankyou .boxThankYou {
  padding: 30px;
  margin: 15px;
  max-width: 700px;
}
@media (min-width: 768px) {
  body.static-page.page-thank-you .thankyou .boxThankYou {
    padding: 50px;
  }
}
@media (min-width: 768px) {
  body.static-page.page-thank-you .thankyou .boxThankYou {
    margin: 0;
  }
}

body.cart .swal2-container .swal-size-xlg {
  width: 80%;
}
body.cart .ui-autocomplete {
  z-index: 9999;
}
body.cart .common-heading .content h3 {
  font-size: 1.25rem;
  text-transform: uppercase;
  font-weight: 700;
  color: #000000;
}
body.cart .riga-sopra {
  width: 100%;
  padding-top: 20px;
  padding-bottom: 10px;
  border-top: solid 1px #CECECE;
}

body.cart main {
  padding-top: 0;
  /*
  Clearpay / Afterpay
  */
}
body.cart main .adyen-checkout__payment-method--afterpaytouch {
  display: none !important;
}
body.cart main .main-margin {
  margin-bottom: 50px;
}
@media (min-width: 576px) {
  body.cart main .main-margin {
    margin-bottom: 78.13px;
  }
}
@media (min-width: 768px) {
  body.cart main .main-margin {
    margin-bottom: 106.25px;
  }
}
@media (min-width: 992px) {
  body.cart main .main-margin {
    margin-bottom: 143.75px;
  }
}
@media (min-width: 1400px) {
  body.cart main .main-margin {
    margin-bottom: 171.88px;
  }
}
@media (min-width: 1600px) {
  body.cart main .main-margin {
    margin-bottom: 200px;
  }
}
body.cart main .step-menu-row {
  margin-left: 0;
  margin-right: 0;
  border-bottom: solid 1px #000000;
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  body.cart main .step-menu-row {
    margin-bottom: 40px;
  }
}
body.cart main .step-menu-row .step {
  min-height: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: "Montserrat", sans-serif;
  color: #000000;
}
body.cart main .step-menu-row .step.current {
  /*border-top-left-radius: $input-border-radius;
  border-top-right-radius: $input-border-radius;*/
  background-color: #000000;
  color: #FFF;
}
body.cart main .step-menu-row .step.current h3 {
  font-weight: 700;
}
body.cart main .step-menu-row .step.current span.circle::after {
  background-color: #fff;
}
body.cart main .step-menu-row .step h3 {
  text-transform: uppercase;
  text-align: center;
  font-size: 0.88rem;
  font-weight: 400;
  margin: 10px 0;
  line-height: 2;
}
@media (min-width: 768px) {
  body.cart main .step-menu-row .step h3 {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  body.cart main .step-menu-row .step h3 {
    line-height: 1;
  }
}
body.cart main .step-menu-row .step h3 span.circle {
  position: relative;
}
body.cart main .step-menu-row .step h3 span.circle::after {
  content: "";
  position: absolute;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  border: 1px solid var(--bs-border-color);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
body.cart main section.row {
  /********************************************************
  * Cart aside
  ********************************************************/
}
body.cart main section.row .preliminary-header h3 {
  font-size: 0.88rem;
  color: #575757;
  text-transform: uppercase;
  font-weight: 700;
}
body.cart main section.row .preliminary-header .preliminary-choice {
  width: 100%;
}
body.cart main section.row .preliminary-header .shipping-options {
  display: flex;
  gap: 1rem;
}
body.cart main section.row .preliminary-header .shipping-options input[type=radio] {
  display: none;
}
body.cart main section.row .preliminary-header .shipping-options .shipping-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 1rem 1rem 1.5rem;
  border: 1px solid #ACAEAF;
  cursor: pointer;
  user-select: none;
  text-align: center;
  transition: border-color 0.2s, background-color 0.2s;
}
@media (min-width: 576px) {
  body.cart main section.row .preliminary-header .shipping-options .shipping-card {
    width: 200px;
  }
}
body.cart main section.row .preliminary-header .shipping-options .shipping-card .icon {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}
body.cart main section.row .preliminary-header .shipping-options .shipping-card .title {
  margin-bottom: 0;
  text-transform: uppercase;
  color: #575757;
}
body.cart main section.row .preliminary-header .shipping-options .shipping-card .subtitle {
  font-size: 0.9rem;
  color: #707070;
}
body.cart main section.row .preliminary-header .shipping-options .shipping-card:hover {
  border-color: #000000;
}
body.cart main section.row .preliminary-header .shipping-options input[type=radio]:checked + .shipping-card {
  border-color: #000000;
  background-color: #FAFAFA;
  border-width: 2px;
}
body.cart main section.row .pudo-shipping-data .btn-search-pudo {
  border: solid 1px black;
  display: flex;
  align-items: center;
}
body.cart main section.row .pudo-shipping-data .btn-search-pudo:hover {
  border: solid 1px #000000;
}
body.cart main section.row .pudo-shipping-data #GMap {
  height: 400px;
}
body.cart main section.row .pudo-shipping-data #PudoInfo {
  padding: 10px;
  background-color: #FFF;
  border: solid 2px #000000;
}
@media (min-width: 576px) {
  body.cart main section.row .pudo-shipping-data #PudoInfo {
    padding: 25px;
  }
}
body.cart main section.row .pudo-shipping-data #PudoInfo h5 {
  text-transform: uppercase;
  font-size: 0.8rem !important;
}
body.cart main section.row .pudo-shipping-data #PudoInfo h6 {
  text-transform: uppercase;
  font-size: 1rem !important;
  font-weight: 700;
}
body.cart main section.row .pudo-shipping-data #PudoInfo p {
  font-size: 0.8rem !important;
}
body.cart main section.row > aside {
  position: relative;
  top: unset;
}
@media (min-width: 992px) {
  body.cart main section.row > aside {
    position: sticky;
  }
}
@media (min-width: 992px) {
  body.cart main section.row > aside {
    top: 120px;
  }
}
body.cart main section.row > aside .row {
  margin-left: 0;
  margin-right: 0;
  margin: 0 15px;
  margin-top: 30px;
}
@media (min-width: 768px) {
  body.cart main section.row > aside .row {
    margin: 0;
  }
}
@media (min-width: 768px) {
  body.cart main section.row > aside .row {
    margin-top: 0;
  }
}
body.cart main section.row > aside .row > .sideCart {
  border: 2px solid var(--bs-border-color);
  border-radius: 0px;
  font-size: 0.88rem;
  padding: 20px;
  font-family: "Montserrat", sans-serif;
}
@media (min-width: 768px) {
  body.cart main section.row > aside .row > .sideCart {
    font-size: 1rem;
  }
}
body.cart main section.row > aside .row > .sideCart h4 {
  display: block;
  font-size: 1.25rem;
  text-transform: uppercase;
  padding-bottom: 14px;
  margin: 0 0 20px;
  color: #000000;
  font-family: "Montserrat", sans-serif;
  font-weight: normal;
}
@media (min-width: 768px) {
  body.cart main section.row > aside .row > .sideCart h4 {
    text-align: center;
  }
}
@media (min-width: 768px) {
  body.cart main section.row > aside .row > .sideCart h4 {
    font-size: 1.5rem;
  }
}
body.cart main section.row > aside .row > .sideCart .products {
  margin-bottom: 30px;
}
body.cart main section.row > aside .row > .sideCart h3 {
  text-transform: uppercase;
  color: #000000;
  font-size: 0.88rem;
  font-weight: 700;
}
@media (min-width: 768px) {
  body.cart main section.row > aside .row > .sideCart h3 {
    font-size: 1rem;
  }
}
body.cart main section.row > aside .row > .sideCart .product-cart-item {
  padding-top: 10px;
  padding-bottom: 10px;
  align-items: center;
  border-bottom: solid 1px #CECECE;
}
body.cart main section.row > aside .row > .sideCart .product-cart-item .product-image-thumb {
  width: 20%;
}
body.cart main section.row > aside .row > .sideCart .product-cart-item .product-image-thumb .image-container {
  mix-blend-mode: multiply;
  position: relative;
  padding-bottom: 100%;
  margin-top: 10px;
  background-image: none;
  z-index: 1;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 576px) {
  body.cart main section.row > aside .row > .sideCart .product-cart-item .product-image-thumb .image-container {
    margin-top: 0;
  }
}
body.cart main section.row > aside .row > .sideCart .product-cart-item .product-image-thumb img {
  width: 100%;
  height: auto;
}
body.cart main section.row > aside .row > .sideCart .product-cart-item .description {
  padding-left: 20px;
  padding-right: 5px;
  color: #000;
  font-size: 0.88rem;
  width: 55%;
  line-height: 22px;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}
@media (min-width: 768px) {
  body.cart main section.row > aside .row > .sideCart .product-cart-item .description {
    padding-left: 5px;
  }
}
@media (min-width: 992px) {
  body.cart main section.row > aside .row > .sideCart .product-cart-item .description {
    padding-left: 20px;
  }
}
@media (min-width: 768px) {
  body.cart main section.row > aside .row > .sideCart .product-cart-item .description {
    padding-right: 5px;
  }
}
@media (min-width: 768px) {
  body.cart main section.row > aside .row > .sideCart .product-cart-item .description {
    width: 55%;
  }
}
body.cart main section.row > aside .row > .sideCart .product-cart-item .description .product-name {
  display: inline-block;
  margin-bottom: 0;
  line-height: 1;
  text-transform: capitalize;
  color: #000;
}
@media (min-width: 768px) {
  body.cart main section.row > aside .row > .sideCart .product-cart-item .description .product-name {
    margin-bottom: 10px;
  }
}
body.cart main section.row > aside .row > .sideCart .product-cart-item .description .label {
  font-size: 0.81rem;
  color: #707070;
}
body.cart main section.row > aside .row > .sideCart .product-cart-item .price {
  font-size: 0.88rem;
  color: #000;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  width: 25%;
  text-align: end;
}
@media (min-width: 768px) {
  body.cart main section.row > aside .row > .sideCart .product-cart-item .price {
    width: 25%;
  }
}
body.cart main section.row > aside .row > .sideCart .separator {
  display: inline-block;
  margin-top: 30px;
  height: auto;
  width: 100%;
}
body.cart main section.row > aside .row > .sideCart .price-row {
  display: flex;
  justify-content: space-between;
  padding: 10px 0px;
  color: #575757;
  font-weight: normal;
  font-family: "Montserrat", sans-serif;
  font-size: 0.88rem;
}
body.cart main section.row > aside .row > .sideCart .price-row span:last-child {
  font-family: "Montserrat", sans-serif;
}
body.cart main section.row > aside .row > .sideCart .price-row .amount {
  font-weight: 700;
}
body.cart main section.row > aside .row > .sideCart .price-row.total-cart:first-child {
  text-transform: uppercase;
}
body.cart main section.row > aside .row > .sideCart .price-row.value-coupon {
  color: #000000;
}
body.cart main section.row > aside .row > .sideCart .price-row.value-coupon span:first-child {
  color: #575757;
}
body.cart main section.row > aside .row > .sideCart .actions {
  margin-top: 30px;
  margin-bottom: 5px;
  font-size: 0.88rem;
}
@media (min-width: 768px) {
  body.cart main section.row > aside .row > .sideCart .actions {
    font-size: 1rem;
  }
}
body.cart main section.row > aside .row > .sideCart .actions .btn {
  width: 100%;
  text-align: center;
}
body.cart main section.row > aside .row > .sideCart .actions .btn.btn-paypal {
  margin-top: 14px;
  height: 42px;
  background-image: url(/build/images/paypal_express_button.821d1645.gif);
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  border-radius: 0px;
  background-color: #E9E9E9;
  border-color: #E9E9E9;
  transition: none;
  padding: 0;
}
body.cart main section.row > aside .row > .sideCart .actions .btn.btn-paypal:hover {
  background-image: url(/build/images/paypal_express_button_hover.7e8525c1.gif);
  background-color: #D8D8D8;
  border-color: #D8D8D8;
}
body.cart main section.row > aside .row > .sideCart .custom-checkbox {
  padding-left: 34px;
  margin: 26px auto 0;
}
body.cart main section.row > aside .row > .sideCart .custom-checkbox label {
  font-size: 0.63rem;
}
body.cart main section.row > aside .row > .sideCart .custom-checkbox label::before, body.cart main section.row > aside .row > .sideCart .custom-checkbox label::after {
  left: -34px;
}
body.cart main section.row > aside .row > .sideCart .custom-checkbox a {
  text-decoration: underline;
}
body.cart main section.row > aside .row > .coupon {
  margin-top: 10px;
  padding: 20px 20px;
}
@media (min-width: 768px) {
  body.cart main section.row > aside .row > .coupon {
    padding: 20px;
  }
}

/********************************************************
* Cart step 1
********************************************************/
body.cart.step-1 main .products-row {
  align-items: flex-start !important;
  /********************************************************
  * Cart table columns width
  ********************************************************/
  /********************************************************
  * Cart table header (desktop)
  ********************************************************/
  /********************************************************
  * Cart product item
  ********************************************************/
  /********************************************************
  * bannerbasket container
  ********************************************************/
  /********************************************************
  * Coupon container
  ********************************************************/
  /********************************************************
  * Empty cart
  ********************************************************/
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row {
    padding-top: 20px;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .products-col {
    padding-right: 30px;
  }
}
body.cart.step-1 main .products-row .products-col .product-image-thumb {
  width: 90px;
}
@media (min-width: 576px) {
  body.cart.step-1 main .products-row .products-col .product-image-thumb {
    width: 200px;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .products-col .product-image-thumb {
    width: 120px;
  }
}
@media (min-width: 992px) {
  body.cart.step-1 main .products-row .products-col .product-image-thumb {
    width: 140px;
  }
}
body.cart.step-1 main .products-row .products-col .product-info {
  justify-content: space-around;
  width: calc(100% - 110px);
}
@media (min-width: 576px) {
  body.cart.step-1 main .products-row .products-col .product-info {
    width: calc(100% - 200px);
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .products-col .product-info {
    width: calc(100% - 120px);
  }
}
@media (min-width: 992px) {
  body.cart.step-1 main .products-row .products-col .product-info {
    width: calc(100% - 140px);
  }
}
body.cart.step-1 main .products-row .products-col .product-info .description {
  width: 100%;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .products-col .product-info .description {
    width: 38%;
  }
}
body.cart.step-1 main .products-row .products-col .product-info .price {
  width: 100%;
  color: #000;
  font-weight: 400;
  margin-top: 10px;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .products-col .product-info .price {
    width: 21%;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .products-col .product-info .price {
    margin-top: 0;
  }
}
body.cart.step-1 main .products-row .products-col .product-info .quantity {
  width: 100%;
}
body.cart.step-1 main .products-row .products-col .product-info .total-price {
  width: 24%;
}
body.cart.step-1 main .products-row .products-col .product-info .remove {
  width: 100%;
  text-align: center;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .products-col .product-info .remove {
    width: 30px;
  }
}
body.cart.step-1 main .products-row .table-header {
  text-transform: uppercase;
  text-align: center;
  padding-left: 10px;
  padding-bottom: 20px;
  margin-bottom: 0;
  margin-top: 20px;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .table-header {
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .table-header {
    padding-bottom: 10px;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .table-header {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .table-header {
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .table-header {
    font-size: 0.88rem;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .table-header {
    font-weight: 700;
  }
}
body.cart.step-1 main .products-row .table-header .product-image-thumb {
  padding-left: 10px;
}
body.cart.step-1 main .products-row .table-header .product-info {
  padding-right: 10px;
}
body.cart.step-1 main .products-row article.product-cart-item {
  position: relative;
  padding-top: 15px;
  padding-bottom: 15px;
  margin: 0 15px;
  font-family: "Montserrat", sans-serif;
  border-top: solid 1px #CECECE;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item {
    margin: 0;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item {
    font-size: 0.88rem;
  }
}
body.cart.step-1 main .products-row article.product-cart-item:last-child {
  border-bottom: solid 1px #CECECE;
}
body.cart.step-1 main .products-row article.product-cart-item .product-image-thumb {
  margin-right: 10px;
}
body.cart.step-1 main .products-row article.product-cart-item .product-image-thumb .image-container {
  mix-blend-mode: multiply;
  position: relative;
  padding-bottom: 100%;
  margin-top: 10px;
  background-image: none;
  z-index: 1;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 576px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-image-thumb .image-container {
    margin-top: 0;
  }
}
body.cart.step-1 main .products-row article.product-cart-item .product-image-thumb img {
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info > div {
    flex-shrink: 1;
  }
}
body.cart.step-1 main .products-row article.product-cart-item .product-info .label {
  font-size: 0.95em;
  min-width: 0;
  color: #707070;
  display: inline-block;
  font-weight: 400;
  text-transform: uppercase;
}
@media (min-width: 576px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .label {
    min-width: 100px;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .label {
    min-width: 0;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .description {
    padding-right: 10px;
  }
}
@media (min-width: 992px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .description {
    padding-right: 20px;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .description {
    font-size: 0.88rem;
  }
}
body.cart.step-1 main .products-row article.product-cart-item .product-info .description .product-name {
  color: #575757;
  display: inline-block;
  margin-bottom: 0;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 700;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .description .product-name {
    margin-bottom: 10px;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .description .product-name {
    font-size: 0.81rem;
  }
}
body.cart.step-1 main .products-row article.product-cart-item .product-info .price .label {
  display: none;
}
body.cart.step-1 main .products-row article.product-cart-item .product-info .quantity {
  padding-top: 14px;
  padding-bottom: 14px;
  overflow: hidden;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .quantity {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .quantity {
    overflow: visible;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .quantity .label {
    display: none;
  }
}
body.cart.step-1 main .products-row article.product-cart-item .product-info .quantity .form-control {
  border: none;
  width: 31px;
  padding-left: 3px;
  padding-right: 3px;
  text-align: center;
  font-weight: 400;
  display: inline-block;
  margin: 10px 0;
  background-color: #F5F5F5;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .quantity .form-control {
    width: 36px;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .quantity .form-control {
    margin: 10px 0;
  }
}
body.cart.step-1 main .products-row article.product-cart-item .product-info .quantity .form-control:focus {
  box-shadow: none;
}
body.cart.step-1 main .products-row article.product-cart-item .product-info .quantity .btn {
  cursor: pointer;
  font-size: 1.5rem;
  padding: 0 5px;
  width: 30px;
  width: 20px;
  text-align: center;
  color: #000000;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .quantity .btn {
    width: 30px;
  }
}
body.cart.step-1 main .products-row article.product-cart-item .product-info .quantity .btn.btn:focus,
body.cart.step-1 main .products-row article.product-cart-item .product-info .quantity .btn .btn:active,
body.cart.step-1 main .products-row article.product-cart-item .product-info .quantity .btn .btn:focus:active,
body.cart.step-1 main .products-row article.product-cart-item .product-info .quantity .btn .btn:focus-visible {
  color: #000000 !important;
}
body.cart.step-1 main .products-row article.product-cart-item .product-info .total-price {
  border-top: 1px solid var(--bs-border-color);
  padding-top: 14px;
  margin-top: 2px;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .total-price {
    padding-top: 0;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .total-price {
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .total-price {
    padding-right: 10px;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .total-price {
    text-align: right;
    border-top: none;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .total-price .label {
    display: none;
  }
}
body.cart.step-1 main .products-row article.product-cart-item .product-info .remove {
  bottom: 22px;
  right: 10px;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row article.product-cart-item .product-info .remove {
    bottom: 32px;
  }
}
body.cart.step-1 main .products-row article.product-cart-item .product-info .remove .icon-close {
  width: 10px;
  height: 10px;
}
body.cart.step-1 main .products-row article.product-cart-item .product-info .remove .icon-close .cross {
  fill: #000;
  stroke: #000;
  stroke-width: 0.4px;
  stroke-linecap: round;
}
body.cart.step-1 main .products-row article.product-cart-item .product-info .remove img {
  width: 12px;
  height: 12px;
}
body.cart.step-1 main .products-row .bannerBasket {
  padding: 20px;
  text-align: center;
  font-weight: 700;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .bannerBasket {
    padding: 30px;
  }
}
body.cart.step-1 main .products-row .coupon {
  margin-top: 0;
  margin-bottom: 15px;
}
body.cart.step-1 main .products-row .coupon .input-group {
  gap: 0;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .coupon .input-group {
    gap: 20px;
  }
}
body.cart.step-1 main .products-row .coupon .input-group input.form-control {
  border: solid 1px #000000;
  margin: 0 !important;
  padding: 10px;
}
body.cart.step-1 main .products-row .coupon > div {
  font-family: "Montserrat", sans-serif;
}
body.cart.step-1 main .products-row .coupon > div .input-group-text {
  border-color: #000000;
  background-color: #000000;
  color: #FFF;
}
body.cart.step-1 main .products-row .coupon > div > div:first-child {
  padding-right: 0;
  padding-top: 0;
  line-height: 1;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .coupon > div > div:first-child {
    padding-right: 0px;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .coupon > div > div:first-child {
    padding-top: 0px;
  }
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .coupon > div > div:first-child {
    font-size: 0.88rem;
  }
}
body.cart.step-1 main .products-row .coupon > div > div:last-child {
  margin-top: 0;
}
@media (min-width: 768px) {
  body.cart.step-1 main .products-row .coupon > div > div:last-child {
    margin-top: 0;
  }
}
body.cart.step-1 main .products-row .coupon > div > div:last-child span {
  font-weight: 400;
  font-size: 0.88rem;
  text-transform: uppercase;
}
body.cart.step-1 main .products-row .coupon > div > div:last-child span.title {
  display: block;
  margin-bottom: 10px;
  font-weight: 700;
}
body.cart.step-1 main .products-row .coupon > div > div:last-child span.active-coupon {
  margin-left: 10px;
  margin-right: 10px;
  font-weight: 700;
}
body.cart.step-1 main .products-row .coupon > div > div:last-child #verifyCouponButton {
  text-align: center;
  border-radius: 0px;
  color: #FFF;
  background-color: #000000;
  transition: none;
  height: 100%;
  padding: 5px 15px;
  font-family: "Montserrat", sans-serif;
}
body.cart.step-1 main .products-row .coupon > div > div:last-child #verifyCouponButton:active {
  border: 1px solid transparent;
}
body.cart.step-1 main .products-row .empty-cart {
  margin-top: 50px;
  margin-bottom: 150px;
  text-align: center;
  padding: 25px;
}
body.cart.step-1 main .products-row .empty-cart h4 {
  font-size: 0.88rem;
  margin-bottom: 40px;
  text-transform: uppercase;
}
body.cart.step-1 main .accordion .accordion-item {
  background-color: transparent;
}
body.cart.step-1 main .accordion .accordion-item .accordion-header {
  font-size: 0.88rem;
  color: #000000;
  margin-bottom: 15px;
  font-weight: normal;
}
body.cart.step-1 main .accordion .accordion-item .accordion-header .accordion-button:focus {
  z-index: 0;
  border: none;
  box-shadow: none;
}
body.cart.step-1 main .accordion .accordion-item .accordion-header button {
  background-color: transparent;
  padding: 0;
  box-shadow: none !important;
  color: #000000;
}
body.cart.step-1 main .accordion .accordion-item .accordion-header a {
  text-decoration: none;
}
body.cart.step-1 main .accordion .accordion-item .accordion-body {
  padding: 0;
}

/********************************************************
* Cart step 2
********************************************************/
body.cart.step-2 main .accessTable {
  padding-top: 20px;
}
body.cart.step-2 main .accountTable {
  padding-top: 20px;
}
body.cart.step-2 main .accountTable h3 {
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 30px;
}
body.cart.step-2 main .main-margin {
  margin-bottom: 50px;
}
@media (min-width: 576px) {
  body.cart.step-2 main .main-margin {
    margin-bottom: 78.13px;
  }
}
@media (min-width: 768px) {
  body.cart.step-2 main .main-margin {
    margin-bottom: 106.25px;
  }
}
@media (min-width: 992px) {
  body.cart.step-2 main .main-margin {
    margin-bottom: 143.75px;
  }
}
@media (min-width: 1400px) {
  body.cart.step-2 main .main-margin {
    margin-bottom: 171.88px;
  }
}
@media (min-width: 1600px) {
  body.cart.step-2 main .main-margin {
    margin-bottom: 200px;
  }
}

/********************************************************
* Cart step 3
********************************************************/
body.cart.step-3 main .btn-primary {
  font-size: 1rem;
}
body.cart.step-3 main .step3table {
  padding-top: 20px;
  align-items: flex-start !important;
}
body.cart.step-3 main .step3table .shipping-details > div {
  border-radius: 0px;
  padding: 0 20px 20px 20px;
}
body.cart.step-3 main .step3table .shipping-details .shipping-data-intro input,
body.cart.step-3 main .step3table .shipping-details .shipping-data-intro select {
  border: none;
  background-color: #F5F5F5;
  margin: 0;
}
body.cart.step-3 main .step3table .shipping-details .step-4 #billing input {
  border: none;
}
body.cart.step-3 main #newShippingAddressForm .hPart {
  margin-bottom: 10px;
}
body.cart.step-3 main #shippingResume .shipping-resume-warn {
  text-align: center;
  font-weight: 700;
  margin-bottom: 30px;
  padding: 20px;
  background-color: #FAFAFA;
  font-size: 1rem;
}
body.cart.step-3 main #shippingResume .d-flex .modify-guest-address-cont {
  margin-left: 0;
  margin-top: 20px;
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  body.cart.step-3 main #shippingResume .d-flex .modify-guest-address-cont {
    margin-left: 20px;
  }
}
@media (min-width: 576px) {
  body.cart.step-3 main #shippingResume .d-flex .modify-guest-address-cont {
    margin-top: 30px;
  }
}
@media (min-width: 576px) {
  body.cart.step-3 main #shippingResume .d-flex .modify-guest-address-cont {
    margin-bottom: 0;
  }
}
body.cart.step-3 main #shippingResume .header-mod-address h3 {
  font-size: 0.88rem;
  color: #575757;
  text-transform: uppercase;
  font-weight: 700;
}
body.cart.step-3 main #shippingAddressContinueButton {
  font-size: 1rem;
}
body.cart.step-3 main .form-col {
  /*@include media-breakpoint-up(md) {
    padding-right: 30px;
  }*/
}
body.cart.step-3 main .form-col form h3 {
  font-size: 0.88rem;
  color: #575757;
  text-transform: uppercase;
  font-weight: 700;
}
body.cart.step-3 main .form-col .billing-checkbox,
body.cart.step-3 main .form-col .privacy-checkbox {
  margin-top: 20px;
  margin-bottom: 20px;
}
@media (min-width: 576px) {
  body.cart.step-3 main .form-col .billing-checkbox,
  body.cart.step-3 main .form-col .privacy-checkbox {
    margin-bottom: 0;
  }
}
body.cart.step-3 main .form-col .billing-checkbox .form-check,
body.cart.step-3 main .form-col .privacy-checkbox .form-check {
  align-items: flex-start;
}
body.cart.step-3 main .form-col .privacy-checkbox {
  margin-top: 30px;
}
@media (min-width: 768px) {
  body.cart.step-3 main .form-col .privacy-checkbox {
    margin-top: 40px;
  }
}
body.cart.step-3 main .form-col .privacy-checkbox .form-check-label {
  font-size: 0.75rem;
}
body.cart.step-3 main .form-col .billing-header {
  margin-top: 20px;
  margin-bottom: 20px;
}
body.cart.step-3 main .form-col .billing-header h3 {
  margin-bottom: 0;
  margin-right: 10px;
}
body.cart.step-3 main .form-col #shippingDataFormPart .btn-return {
  margin: 0 auto 20px;
  display: block;
}
@media (min-width: 768px) {
  body.cart.step-3 main .form-col #shippingDataFormPart .btn-return {
    margin: 0 0 20px 0;
    order: 2;
  }
}
body.cart.step-3 main .form-col #shippingDataFormPart .btn-save {
  margin: 10px auto 0;
  display: block;
}
body.cart.step-3 main .form-col #shippingDataFormPart input {
  background-color: #F5F5F5;
}
body.cart.step-3 main .form-col #cBox {
  margin-bottom: 30px;
}
body.cart.step-3 main .form-col #cBox .header {
  margin-bottom: 20px;
}
body.cart.step-3 main .form-col #cBox .header h3 {
  margin-bottom: 20px;
}
@media (min-width: 576px) {
  body.cart.step-3 main .form-col #cBox .header h3 {
    margin-bottom: 0;
    margin-right: 10px;
  }
}
body.cart.step-3 main .form-col #cBox .box-shipping {
  transition: background-color 200ms cubic-bezier(0.165, 0.84, 0.44, 1);
  background-color: transparent;
  padding: 15px;
  cursor: pointer;
  position: relative;
  border: 2px solid transparent;
  font-size: 0.88rem;
}
body.cart.step-3 main .form-col #cBox .box-shipping:not(:first-child) {
  margin-top: 20px;
}
body.cart.step-3 main .form-col #cBox .box-shipping.active {
  background-color: #FAFAFA;
  border: 2px solid #000000;
}
body.cart.step-3 main .form-col #cBox .box-shipping.active .select {
  position: relative;
}
body.cart.step-3 main .form-col #cBox .box-shipping.active .select .text-selected {
  display: inline;
  font-weight: 700;
}
body.cart.step-3 main .form-col #cBox .box-shipping.active .select .text-select {
  display: none;
}
body.cart.step-3 main .form-col #cBox .box-shipping.active .select::before {
  background-color: #000000;
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23FFF%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px 10px;
  box-shadow: 0 0 0 3px #000000;
}
body.cart.step-3 main .form-col #cBox .box-shipping:focus {
  background-color: #fff;
}
body.cart.step-3 main .form-col #cBox .box-shipping:active {
  background-color: #fff;
}
@media (hover: hover) {
  body.cart.step-3 main .form-col #cBox .box-shipping:hover {
    background-color: #fff;
  }
}
body.cart.step-3 main .form-col #cBox .box-shipping h6 {
  font-size: inherit;
}
body.cart.step-3 main .form-col #cBox .box-shipping .shipping-info {
  margin-bottom: 10px;
}
body.cart.step-3 main .form-col #cBox .box-shipping .select {
  position: relative;
  padding: 5px 0 5px 22px;
  text-transform: lowercase;
  line-height: 1;
  font-size: 0.75rem;
}
body.cart.step-3 main .form-col #cBox .box-shipping .select::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  box-shadow: 0 0 0 2px #000000;
  border-radius: 7px;
  /* come nel tuo CSS */
  background-color: #fff;
}
body.cart.step-3 main .form-col #cBox .box-shipping .select .text-selected {
  display: none;
}
body.cart.step-3 main .form-col #cBox .box-shipping a.edit {
  display: inline-block;
  padding: 5px 0 5px 22px;
  background-image: url(/build/images/edit-regular.f666142b.svg);
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: 16px 16px;
  text-transform: lowercase;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.75rem;
}
body.cart.step-3 main .form-col #cBox .box-shipping a.edit:focus {
  text-decoration: underline;
}
body.cart.step-3 main .form-col #cBox .box-shipping a.edit:active {
  text-decoration: underline;
}
@media (hover: hover) {
  body.cart.step-3 main .form-col #cBox .box-shipping a.edit:hover {
    text-decoration: underline;
  }
}
body.cart.step-3 main .form-col #containerTypeUser {
  margin-bottom: 20px;
}
body.cart.step-3 main .form-col .select-payment-type {
  margin-top: 30px;
}
@media (min-width: 768px) {
  body.cart.step-3 main .form-col .select-payment-type {
    margin-top: 40px;
  }
}
body.cart.step-3 main .form-col .select-payment-type .accordion .card {
  margin-bottom: 20px;
  border-radius: 0;
  border: solid 1px #CECECE;
}
body.cart.step-3 main .form-col .select-payment-type .accordion .card .card-header {
  font-size: 1.13rem;
}
@media (min-width: 768px) {
  body.cart.step-3 main .form-col .select-payment-type .accordion .card .card-header {
    font-size: 1.38rem;
  }
}
body.cart.step-3 main .form-col .select-payment-type .accordion .card .card-header .btn-block {
  display: flex;
  align-items: center;
  box-shadow: none !important;
  text-transform: uppercase;
  font-size: 0.88rem;
  color: #575757;
  font-weight: 700;
}
@media (min-width: 768px) {
  body.cart.step-3 main .form-col .select-payment-type .accordion .card .card-header .btn-block {
    font-size: 0.88rem;
  }
}
body.cart.step-3 main .form-col .select-payment-type .accordion .card .card-header .btn-block img {
  margin-right: 16px;
}
body.cart.step-3 main .form-col .select-payment-type .accordion .card .card-header .btn-block span {
  padding-left: 15px;
  font-weight: 400;
  font-size: 0.88rem;
}
@media (min-width: 768px) {
  body.cart.step-3 main .form-col .select-payment-type .accordion .card .card-header .btn-block span {
    font-size: 0.88rem;
  }
}
body.cart.step-3 main .form-col .select-payment-type .accordion .card .card-header .btn-block:focus, body.cart.step-3 main .form-col .select-payment-type .accordion .card .card-header .btn-block:active, body.cart.step-3 main .form-col .select-payment-type .accordion .card .card-header .btn-block:focus:active, body.cart.step-3 main .form-col .select-payment-type .accordion .card .card-header .btn-block:focus-visible {
  color: #000 !important;
}
body.cart.step-3 main .form-col .select-payment-type .accordion .card .card-header .btn-block:not(.collapsed) {
  border-color: #000000;
}
body.cart.step-3 main .form-col .select-payment-type .accordion .card .card-body {
  padding: 20px 20px;
  border-top: solid 1px #CECECE;
}
body.cart.step-3 main .form-col .select-payment-type .accordion .card:has(.accordion-button[aria-expanded=true]) {
  border: 1px solid #000000;
  box-shadow: 0 0 0 1px #000000;
}
body.cart.step-3 main .form-col .select-payment-type .custom-radio:not(:last-child) {
  margin-bottom: 10px;
}
body.cart.step-3 main .form-col .select-payment-type .custom-radio .custom-control-input:checked ~ .custom-control-label img {
  opacity: 1;
}
body.cart.step-3 main .form-col .select-payment-type .custom-radio .custom-control-label {
  cursor: pointer;
}
body.cart.step-3 main .form-col .select-payment-type .custom-radio .custom-control-label::before, body.cart.step-3 main .form-col .select-payment-type .custom-radio .custom-control-label::after {
  top: 7px;
}
body.cart.step-3 main .form-col .select-payment-type .custom-radio .custom-control-label img {
  height: 30px;
  width: auto;
  margin-left: 5px;
  margin-right: 5px;
  opacity: 0.4;
  transition: opacity 200ms ease-out;
}

/********************************************************
* Cart thank you
********************************************************/
body.cart.thank-you main > .container-fluid, body.cart.thank-you main > .container-sm, body.cart.thank-you main > .container-md, body.cart.thank-you main > .container-lg, body.cart.thank-you main > .container-xl, body.cart.thank-you main > .container-xxl {
  padding-top: 60px !important;
  margin-bottom: 60px !important;
  text-align: center;
}
body.cart.thank-you main h3 {
  font-size: 0.88rem;
  color: #575757;
  text-transform: uppercase;
  font-weight: 700;
}
body.cart.thank-you main h4 {
  margin-bottom: 30px;
  font-size: 0.88rem;
  font-weight: 400;
}
body.cart.thank-you main p {
  font-size: 0.88rem;
}
body.cart.thank-you main p a {
  text-decoration: underline;
}

#deliveryAccordion .accordion-button {
  font-family: "Montserrat", sans-serif;
}

body.account main {
  /********************************************************
    * Empty list
    ********************************************************/
  /********************************************************
  * Profile
  ********************************************************/
  /********************************************************
  * Order history
  ********************************************************/
  /********************************************************
  * Returns
  ********************************************************/
  /********************************************************
  * Wish list
  ********************************************************/
  /********************************************************
  * Newsletter
  ********************************************************/
}
body.account main .step-menu {
  margin-bottom: 30px;
  flex-direction: column;
  flex-wrap: nowrap;
}
@media (min-width: 768px) {
  body.account main .step-menu {
    margin-bottom: 40px;
  }
}
body.account main .step-menu a {
  text-decoration: none;
}
@media (min-width: 768px) {
  body.account main .step-menu {
    align-self: flex-end;
    flex-direction: row;
  }
}
@media (max-width: 767.98px) {
  body.account main .step-menu {
    position: relative;
  }
  body.account main .step-menu:not(.fake-menu)::after {
    content: "";
    display: block;
    position: absolute;
    top: 25px;
    right: 15px;
    background-image: url(/build/images/plus.819c9072.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 50% 50%;
    width: 12px;
    height: 12px;
    margin-top: -6px;
    transform: rotate(0deg);
    transition: transform 300ms cubic-bezier(0.165, 0.84, 0.44, 1);
    pointer-events: none;
  }
  body.account main .step-menu.mobile-menu-open .step:not(.active) {
    display: flex;
  }
  body.account main .step-menu.mobile-menu-open.mobile-menu-open-in::after {
    transform: rotate(135deg);
  }
  body.account main .step-menu.mobile-menu-open.mobile-menu-open-in .step:not(.active) {
    opacity: 1;
    transition: opacity 400ms ease-out 200ms;
  }
}
body.account main .step-menu .step {
  min-height: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body.account main .step-menu .step:not(span) {
  cursor: pointer;
}
@media (max-width: 767.98px) {
  body.account main .step-menu .step {
    border: 1px solid var(--bs-border-color);
  }
}
@media (min-width: 768px) {
  body.account main .step-menu .step {
    border-bottom: 1px solid var(--bs-border-color);
  }
}
@media (max-width: 767.98px) {
  body.account main .step-menu .step.active {
    order: 0;
  }
  body.account main .step-menu .step.active h3 {
    font-weight: 700;
  }
}
@media (min-width: 768px) {
  body.account main .step-menu .step.active {
    border-top: 1px solid var(--bs-border-color);
    border-left: 1px solid var(--bs-border-color);
    border-right: 1px solid var(--bs-border-color);
    border-bottom: none;
    border-radius: 0px 0px 0 0;
  }
}
@media (max-width: 767.98px) {
  body.account main .step-menu .step:not(.active) {
    order: 1;
    border-top: none;
    display: none;
    opacity: 0;
    transition: opacity 150ms ease-out;
  }
}
@media (min-width: 768px) {
  body.account main .step-menu .step:not(.active) {
    transition: border 200ms ease-out;
  }
  body.account main .step-menu .step:not(.active):focus {
    border-top-color: #ebebeb;
    border-left-color: #ebebeb;
    border-right-color: #ebebeb;
  }
  body.account main .step-menu .step:not(.active):active {
    border-top-color: #ebebeb;
    border-left-color: #ebebeb;
    border-right-color: #ebebeb;
  }
}
@media (min-width: 768px) and (hover: hover) {
  body.account main .step-menu .step:not(.active):hover {
    border-top-color: #ebebeb;
    border-left-color: #ebebeb;
    border-right-color: #ebebeb;
  }
}
body.account main .step-menu .step h2,
body.account main .step-menu .step h3 {
  text-transform: uppercase;
  text-align: center;
  font-size: 0.88rem;
  font-weight: 400;
  margin: 10px 0;
  line-height: 2;
}
@media (min-width: 768px) {
  body.account main .step-menu .step h2,
  body.account main .step-menu .step h3 {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  body.account main .step-menu .step h2,
  body.account main .step-menu .step h3 {
    line-height: 1;
  }
}
body.account main .empty-list {
  margin-top: 50px;
  margin-bottom: 150px;
}
body.account main .empty-list h4 {
  font-size: 0.88rem;
  margin-bottom: 40px;
  text-transform: uppercase;
}
body.account main #accountTabContents #boxUser {
  margin-bottom: 10px;
  font-size: 0.88rem;
  position: relative;
}
body.account main #accountTabContents #boxUser h3 {
  text-transform: uppercase;
  font-size: 0.88rem;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  body.account main #accountTabContents #boxUser h3 {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  body.account main #accountTabContents #boxUser h3 {
    margin-bottom: 60px;
  }
}
body.account main #accountTabContents #boxUser .logout {
  position: relative;
  color: #575757;
  text-transform: uppercase;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  body.account main #accountTabContents #boxUser .logout {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  body.account main #accountTabContents #boxUser .logout {
    right: 0;
    top: -8px;
    position: absolute;
  }
}
body.account main #accountTabContents #boxUser .logout::before {
  content: "";
  width: 15px;
  height: 15px;
  background-image: url(/build/images/logout.74b753c6.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-right: 10px;
}
body.account main #accountTabContents #boxUser h4 {
  text-transform: uppercase;
  font-size: 0.88rem;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--bs-border-color);
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  body.account main #accountTabContents #boxUser h4 {
    font-size: 1rem;
  }
}
body.account main #accountTabContents #boxUser .data-row {
  padding-top: 10px;
}
body.account main #accountTabContents #boxUser .data-row .middle-block {
  margin-top: 10px;
  margin-bottom: 5px;
}
body.account main #accountTabContents #boxUser .data-row .actions .btn {
  margin-top: 10px;
}
body.account main #accountTabContents #boxUser .data-row .actions .btn:not(:last-child) {
  margin-right: 10px;
}
body.account main #accountTabContents #boxUser .personal-data-row {
  margin-bottom: 40px;
}
body.account main #accountTabContents #boxUser .personal-data-row > div {
  margin-bottom: 30px;
}
body.account main #accountTabContents #boxUser .shipping-data-row > div {
  margin-bottom: 50px;
}
body.account main #accountTabContents .infoUser,
body.account main #accountTabContents .infoSped,
body.account main #accountTabContents .btn-sub {
  display: none;
}
body.account main #accountTabContents form.container-data h3 {
  text-transform: uppercase;
  font-size: 0.88rem;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  body.account main #accountTabContents form.container-data h3 {
    font-size: 1rem;
  }
}
body.account main #accountTabContents form.container-data .btn-sub {
  margin-top: 20px;
  margin-bottom: 50px;
}
body.account main #accountTabContents form.container-data .btn-sub .btn {
  margin-top: 10px;
  margin-right: 10px;
}
body.account main #accountTabContents form.container-data .form-select {
  margin: 10px 0;
  background-color: #F5F5F5;
  border: none;
}
body.account main #accountTabContents form.container-data .infoUser h3:first-child {
  margin-bottom: 60px;
}
body.account main #ordersTabContent h3 {
  text-transform: uppercase;
  font-size: 0.88rem;
  margin-bottom: 60px;
}
@media (min-width: 768px) {
  body.account main #ordersTabContent h3 {
    font-size: 1rem;
  }
}
body.account main #ordersTabContent .order-row {
  border-bottom: solid 1px #ced4da;
}
body.account main #ordersTabContent .order-row:not(.first) {
  margin-top: 50px;
}
body.account main #ordersTabContent .order-head-col {
  font-size: 0.88rem;
}
body.account main #ordersTabContent .order-head-col .code {
  font-weight: 700;
  text-transform: uppercase;
}
body.account main #ordersTabContent .order-head-col > .row {
  margin: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: #fff;
}
body.account main #ordersTabContent .order-head-col > .row > div:last-child {
  margin-top: 10px;
}
@media (min-width: 768px) {
  body.account main #ordersTabContent .order-head-col > .row > div:last-child {
    margin-top: 0;
  }
}
body.account main #ordersTabContent .order-head-col .tracking-url {
  display: block;
  margin-top: 10px;
  text-decoration: underline;
}
body.account main #ordersTabContent .order-product-col {
  font-size: 0.88rem;
  margin-top: 20px;
  margin-bottom: 20px;
}
body.account main #ordersTabContent .order-product-col > div {
  margin-left: auto;
  margin-right: auto;
}
body.account main #ordersTabContent .order-product-col .product-image {
  margin-left: 10px;
}
@media (max-width: 575.98px) {
  body.account main #ordersTabContent .order-product-col .product-image {
    margin-right: 20px;
  }
}
body.account main #ordersTabContent .order-product-col .product-image img {
  width: 100px;
}
body.account main #ordersTabContent .order-product-col .product-details {
  padding-right: 10px;
}
body.account main #ordersTabContent .order-product-col .product-details > div:first-child {
  text-transform: uppercase;
  font-weight: 700;
}
body.account main #ordersTabContent .order-product-col .product-details > div:first-child span {
  text-transform: none;
  font-weight: 400;
  font-size: 0.75rem;
}
body.account main #ordersTabContent .order-product-col .product-details .return {
  font-size: 0.75rem;
  margin-top: 10px;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1;
}
body.account main #ordersTabContent .order-product-col .product-details .return-action {
  font-size: 0.75rem;
}
body.account main #ordersTabContent .order-product-col .product-details .return-action:focus {
  text-decoration: underline;
}
body.account main #ordersTabContent .order-product-col .product-details .return-action:active {
  text-decoration: underline;
}
@media (hover: hover) {
  body.account main #ordersTabContent .order-product-col .product-details .return-action:hover {
    text-decoration: underline;
  }
}
body.account main #ordersTabContent .order-product-col .product-description {
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 15px;
  width: 100%;
}
body.account main #ordersTabContent .order-product-col .product-description span {
  display: block;
}
body.account main #ordersTabContent .order-product-col .product-description span:first-child {
  font-weight: 700;
  text-transform: uppercase;
}
body.account main #returnTabContent h3 {
  text-transform: uppercase;
  font-size: 0.88rem;
  margin-bottom: 60px;
}
@media (min-width: 768px) {
  body.account main #returnTabContent h3 {
    font-size: 1rem;
  }
}
body.account main #returnTabContent .return-row {
  border-bottom: solid 1px #ced4da;
}
body.account main #returnTabContent .return-row:not(.first) {
  margin-top: 50px;
}
body.account main #returnTabContent .return-head-col {
  font-size: 0.88rem;
}
body.account main #returnTabContent .return-head-col .code {
  font-weight: 700;
  text-transform: uppercase;
}
body.account main #returnTabContent .return-head-col > .row {
  margin: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: #fff;
}
body.account main #returnTabContent .return-head-col > .row > div:last-child {
  margin-top: 10px;
}
@media (min-width: 768px) {
  body.account main #returnTabContent .return-head-col > .row > div:last-child {
    margin-top: 0;
  }
}
body.account main #returnTabContent .return-product-col {
  font-size: 0.88rem;
  margin-top: 20px;
  margin-bottom: 20px;
}
body.account main #returnTabContent .return-product-col > div {
  margin-left: auto;
  margin-right: auto;
}
body.account main #returnTabContent .return-product-col .product-image {
  margin-left: 10px;
}
@media (max-width: 575.98px) {
  body.account main #returnTabContent .return-product-col .product-image {
    margin-right: 20px;
  }
}
body.account main #returnTabContent .return-product-col .product-image img {
  width: 100px;
}
body.account main #returnTabContent .return-product-col .product-details {
  padding-right: 10px;
}
body.account main #returnTabContent .return-product-col .product-details > div:first-child {
  text-transform: uppercase;
  font-weight: 700;
}
body.account main #returnTabContent .return-product-col .product-details > div:first-child span {
  text-transform: none;
  font-weight: 400;
  font-size: 0.75rem;
}
body.account main #returnTabContent .return-product-col > .product-details {
  padding-left: 10px;
  padding-right: 10px;
}
body.account main #returnTabContent .return-product-col .product-description {
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 15px;
  width: 100%;
}
body.account main #returnTabContent .return-product-col .product-description span {
  display: block;
}
body.account main #returnTabContent .return-product-col .product-description span:first-child {
  font-weight: 700;
  text-transform: uppercase;
}
body.account main #wishListTabContent h3 {
  text-transform: uppercase;
  font-size: 0.88rem;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  body.account main #wishListTabContent h3 {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  body.account main #wishListTabContent h3 {
    margin-bottom: 0px;
  }
}
body.account main #wishListTabContent .wish-row {
  margin-bottom: 40px;
}
body.account main #wishListTabContent article.product {
  margin-bottom: 30px;
}
@media (min-width: 576px) {
  body.account main #wishListTabContent article.product {
    margin-bottom: 50px;
  }
}
@media (min-width: 768px) {
  body.account main #wishListTabContent article.product {
    margin-bottom: 30px;
  }
}
@media (min-width: 992px) {
  body.account main #wishListTabContent article.product {
    margin-bottom: 30px;
  }
}
@media (min-width: 1400px) {
  body.account main #wishListTabContent article.product {
    margin-bottom: 40px;
  }
}
body.account main #wishListTabContent article.product .product-link {
  width: 100%;
}
body.account main #wishListTabContent article.product .product-image::after {
  background-color: transparent;
}
body.account main #wishListTabContent .product-info {
  margin-bottom: 20px;
}
body.account main #wishListTabContent .actions {
  margin-top: auto;
}
@media (min-width: 576px) {
  body.account main #wishListTabContent .actions .add-to-cart {
    margin-left: 36px;
  }
}
body.account main #wishListTabContent .actions .remove {
  padding-left: 20px;
  position: relative;
  top: -3px;
}
body.account main #wishListTabContent .actions .remove img {
  width: 16px;
  height: 16px;
}
body.account main #newsletterTabContent h3 {
  text-transform: uppercase;
  font-size: 0.88rem;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  body.account main #newsletterTabContent h3 {
    font-size: 1rem;
  }
}
body.account main #newsletterTabContent .remove-text {
  display: block;
  margin-bottom: 60px;
  font-size: 0.75rem;
}
@media (min-width: 768px) {
  body.account main #newsletterTabContent .remove-text {
    font-size: 0.88rem;
  }
}
body.account main #newsletterTabContent .remove {
  margin-bottom: 60px;
}

body.account.order-details main {
  /********************************************************
  * Single order details
  ********************************************************/
}
body.account.order-details main .step-menu {
  position: relative;
}
@media (min-width: 768px) {
  body.account.order-details main .step-menu .step {
    max-width: 200px;
    background-color: white;
  }
  body.account.order-details main .step-menu .step:last-child::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    width: 100%;
    bottom: 0;
    height: 1px;
    background-color: var(--bs-border-color);
    z-index: -1;
  }
}
body.account.order-details main #orderTabContent h3 {
  text-transform: uppercase;
  font-size: 0.88rem;
  margin-bottom: 60px;
}
@media (min-width: 768px) {
  body.account.order-details main #orderTabContent h3 {
    font-size: 1rem;
  }
}
body.account.order-details main #orderTabContent .order-row:not(.first) {
  margin-top: 50px;
}
body.account.order-details main #orderTabContent .order-head-col {
  font-size: 0.88rem;
}
body.account.order-details main #orderTabContent .order-head-col .code {
  font-weight: 700;
  text-transform: uppercase;
}
body.account.order-details main #orderTabContent .order-head-col > .row {
  margin: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: #fff;
}
body.account.order-details main #orderTabContent .order-head-col > .row > div:last-child {
  margin-top: 10px;
}
@media (min-width: 768px) {
  body.account.order-details main #orderTabContent .order-head-col > .row > div:last-child {
    margin-top: 0;
  }
}
body.account.order-details main #orderTabContent .order-head-col .tracking-url {
  display: block;
  margin-top: 10px;
  text-decoration: underline;
}
body.account.order-details main #orderTabContent .order-product-col {
  font-size: 0.88rem;
  margin-top: 20px;
  margin-bottom: 20px;
}
body.account.order-details main #orderTabContent .order-product-col > div {
  max-width: 340px;
  margin-left: auto;
  margin-right: auto;
}
body.account.order-details main #orderTabContent .order-product-col .product-image {
  margin-left: 10px;
}
@media (max-width: 575.98px) {
  body.account.order-details main #orderTabContent .order-product-col .product-image {
    margin-right: 20px;
  }
}
body.account.order-details main #orderTabContent .order-product-col .product-image img {
  width: 100px;
}
body.account.order-details main #orderTabContent .order-product-col .product-details {
  padding-right: 10px;
}
body.account.order-details main #orderTabContent .order-product-col .product-details > div:first-child {
  text-transform: uppercase;
  font-weight: 700;
}
body.account.order-details main #orderTabContent .order-product-col .product-details > div:first-child span {
  text-transform: none;
  font-weight: 400;
  font-size: 0.75rem;
}
body.account.order-details main #orderTabContent .order-product-col .product-details .return {
  font-size: 0.75rem;
  margin-top: 10px;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1;
}
body.account.order-details main #orderTabContent .order-product-col .product-details .return-action {
  font-size: 0.75rem;
}
body.account.order-details main #orderTabContent .order-product-col .product-details .return-action:focus {
  text-decoration: underline;
}
body.account.order-details main #orderTabContent .order-product-col .product-details .return-action:active {
  text-decoration: underline;
}
@media (hover: hover) {
  body.account.order-details main #orderTabContent .order-product-col .product-details .return-action:hover {
    text-decoration: underline;
  }
}
body.account.order-details main #orderTabContent .order-product-col .product-description {
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 15px;
  width: 100%;
}
body.account.order-details main #orderTabContent .order-product-col .product-description span {
  display: block;
}
body.account.order-details main #orderTabContent .order-product-col .product-description span:first-child {
  font-weight: 700;
  text-transform: uppercase;
}

.return-states-modal {
  height: auto !important;
}

.new-return-request-modal {
  height: auto !important;
}
.new-return-request-modal .swal2-title {
  font-size: 1.13rem;
}
@media (min-width: 576px) {
  .new-return-request-modal .swal2-title {
    font-size: 1.25rem;
  }
}
.new-return-request-modal p {
  font-size: 1rem;
}
.new-return-request-modal ul {
  font-size: 1rem;
}
.new-return-request-modal ul li {
  list-style: none;
  text-align: left;
}
.new-return-request-modal table {
  width: 100%;
  font-size: 1.1rem;
}
.new-return-request-modal table th, .new-return-request-modal table td {
  padding: 10px;
  border: solid 1px #dee2e6;
  font-size: 1rem;
}
.new-return-request-modal table th {
  font-size: 1.1rem;
}

.res-message {
  font-weight: 700;
  line-height: 25px;
  padding: 0 20px;
  color: #d9534f;
  text-align: center;
  text-transform: uppercase;
}
.res-message.failed {
  margin-top: 35px;
}
.res-message.failed .message-if-fail {
  display: block;
}
.res-message.failed .message-if-threshold {
  display: none;
}
.res-message.threshold .message-if-fail {
  display: none;
}
.res-message.threshold .message-if-threshold {
  display: block;
}

.return-ko button,
.return-ko a, .return-ok button,
.return-ok a {
  vertical-align: top;
  padding: 10px 32px;
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  font-weight: 800;
  margin: 10px;
  margin-bottom: 15px;
  line-height: 100%;
  /*
  &.btn-brown {
    &:hover {
      color: $black !important;
    }
  }
  */
}

/*
.return-ko {
  display: flex;
  justify-content: space-around;
}
*/
/********************************************************
* User step 2
********************************************************/
body.cart.step-2 main .common-heading .content h3 {
  text-transform: uppercase;
}
body.cart.step-2 main .box-col {
  display: flex;
}
body.cart.step-2 main .box-col .inner-box {
  width: 100%;
}
body.cart.step-2 main .box-col .inner-box .form-control {
  border: none;
  background-color: #F5F5F5;
  margin: 10px 0;
}
@media (min-width: 768px) {
  body.cart.step-2 main .box-col .inner-box .form-control {
    margin: 10px 0;
  }
}
body.cart.step-2 main .box-col:not(:last-child) {
  margin-bottom: 15px;
}
@media (min-width: 576px) {
  body.cart.step-2 main .box-col:not(:last-child) {
    margin-bottom: 25px;
  }
}
@media (min-width: 768px) {
  body.cart.step-2 main .box-col:not(:last-child) {
    margin-bottom: 0;
  }
}
body.cart.step-2 main .box-col h4 {
  font-size: 0.88rem;
  margin-bottom: 20px;
  color: #575757;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
}
body.cart.step-2 main .box-col .inner {
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 30px;
  padding-bottom: 30px;
  width: 100%;
  max-width: 100%;
  height: 100%;
}
@media (min-width: 576px) {
  body.cart.step-2 main .box-col .inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  body.cart.step-2 main .box-col .inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (min-width: 992px) {
  body.cart.step-2 main .box-col .inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 1400px) {
  body.cart.step-2 main .box-col .inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 576px) {
  body.cart.step-2 main .box-col .inner {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  body.cart.step-2 main .box-col .inner {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
@media (min-width: 992px) {
  body.cart.step-2 main .box-col .inner {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}
@media (min-width: 1400px) {
  body.cart.step-2 main .box-col .inner {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}
body.cart.step-2 main .box-col .inner .sign-in-details {
  flex: 1;
}
body.cart.step-2 main .box-col .inner ul {
  list-style-type: none;
  padding: 0;
}
body.cart.step-2 main .box-col .inner ul li::before {
  content: "-";
  margin-right: 5px;
}
body.cart.step-2 main .box-col .inner a,
body.cart.step-2 main .box-col .inner .btn-primary {
  width: 100%;
}
@media all and (-ms-high-contrast: none) {
  body.cart.step-2 main .box-col .inner {
    /* stylelint-disable-next-line selector-list-comma-newline-after, declaration-block-single-line-max-declarations */
    /* IE11 fix */
  }
  body.cart.step-2 main .box-col .inner *::-ms-backdrop, body.cart.step-2 main .box-col .inner p {
    max-width: 100%;
  }
}
@media (max-width: 575.98px) {
  body.cart.step-2 main .box-col > form {
    width: 100%;
  }
}
body.cart.step-2 main .box-col.box-login .inner-login {
  flex: 1;
}
@media (min-width: 768px) {
  body.cart.step-2 main .box-col.box-login .cta-group {
    position: relative;
    margin-bottom: 20px;
  }
}
body.cart.step-2 main .box-col.box-login .lost-password {
  font-size: 0.75rem;
  color: #000000;
  width: auto;
}
body.cart.step-2 main .box-col.box-login .lost-password-label {
  font-size: 0.75rem;
}
/********************************************************
* Forgot password
********************************************************/
body.user.user-forgot-password main h3 {
  text-transform: uppercase;
  font-size: 1rem;
  margin-bottom: 20px;
}
body.user.user-forgot-password main p {
  margin-bottom: 30px;
}
body.user.user-forgot-password main form button[type=submit] {
  margin-top: 20px;
}

/********************************************************
* User sign-in
********************************************************/
body.user.user-sign-in main .accountForm select,
body.cart.step-2 main .accountForm select {
  margin: 10px 0;
  background-color: #F5F5F5;
  border: none;
}
body.user.user-sign-in main form h4,
body.cart.step-2 main form h4 {
  margin-bottom: 20px;
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: 700;
}
body.user.user-sign-in main form button[type=submit],
body.cart.step-2 main form button[type=submit] {
  margin-top: 30px;
}
body.user.user-sign-in main form .form-check-privacy label,
body.cart.step-2 main form .form-check-privacy label {
  font-size: 0.75rem;
}

/********************************************************
* User login
********************************************************/
body.user.user-login main .common-heading .content h3 {
  text-transform: uppercase;
  font-weight: 700;
}
body.user.user-login main .box-returns,
body.user.user-login main .box-sign-in,
body.user.user-login main .box-login {
  margin-top: 20px;
}
@media (min-width: 768px) {
  body.user.user-login main .box-returns,
  body.user.user-login main .box-sign-in,
  body.user.user-login main .box-login {
    margin-top: 0px;
  }
}
body.user.user-login main .box-returns .inner-box,
body.user.user-login main .box-sign-in .inner-box,
body.user.user-login main .box-login .inner-box {
  display: flex;
  height: 100%;
  padding: 30px;
}
body.user.user-login main .box-returns .inner-box h4,
body.user.user-login main .box-sign-in .inner-box h4,
body.user.user-login main .box-login .inner-box h4 {
  font-size: 0.88rem;
  margin-bottom: 20px;
  color: #575757;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
}
body.user.user-login main .box-returns .inner-box .form-control,
body.user.user-login main .box-sign-in .inner-box .form-control,
body.user.user-login main .box-login .inner-box .form-control {
  border: none;
  background-color: #F5F5F5;
  margin: 10px 0;
}
@media (min-width: 768px) {
  body.user.user-login main .box-returns .inner-box .form-control,
  body.user.user-login main .box-sign-in .inner-box .form-control,
  body.user.user-login main .box-login .inner-box .form-control {
    margin: 10px 0;
  }
}
body.user.user-login main .box-returns .inner-box .btn-primary,
body.user.user-login main .box-sign-in .inner-box .btn-primary,
body.user.user-login main .box-login .inner-box .btn-primary {
  width: 100%;
}
body.user.user-login main .box-returns .lost-password,
body.user.user-login main .box-sign-in .lost-password,
body.user.user-login main .box-login .lost-password {
  color: #000000;
  text-decoration: none;
}
body.user.user-login main .box-login label {
  font-size: 0.75rem;
}
body.user.user-login main .accessTable {
  padding-top: 20px;
}
body.user.user-login main .accountTable {
  padding-top: 20px;
}
body.user.user-login main .accountTable h3 {
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 30px;
}
body.user.user-login main .main-margin {
  margin-bottom: 50px;
}
@media (min-width: 576px) {
  body.user.user-login main .main-margin {
    margin-bottom: 78.13px;
  }
}
@media (min-width: 768px) {
  body.user.user-login main .main-margin {
    margin-bottom: 106.25px;
  }
}
@media (min-width: 992px) {
  body.user.user-login main .main-margin {
    margin-bottom: 143.75px;
  }
}
@media (min-width: 1400px) {
  body.user.user-login main .main-margin {
    margin-bottom: 171.88px;
  }
}
@media (min-width: 1600px) {
  body.user.user-login main .main-margin {
    margin-bottom: 200px;
  }
}

body.static-page main.about-page .boxStaticPage {
  max-width: 1400px;
  padding: 0;
  padding-top: 116px;
}
@media (min-width: 992px) {
  body.static-page main.about-page .boxStaticPage {
    padding-top: 120px;
  }
}
body.static-page main.about-page .boxStaticPage .img1 {
  padding: 0;
  margin: 0;
}
body.static-page main.about-page .bottomBox {
  max-width: 1400px;
}
body.static-page main.about-page .bottomBox .img2,
body.static-page main.about-page .bottomBox .testo {
  padding: 0;
  margin: 0;
}
body.static-page main.about-page .bottomBox .testo {
  font-size: 1rem;
}
@media (min-width: 768px) {
  body.static-page main.about-page .bottomBox .testo {
    font-size: 1.13rem;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsZ0JBQWdCO0FDRWhCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QURJRjtBQ0ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QURJRjtBQ0ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QURJRjtBRXJCRTs7OztFQUFBO0FDREY7O0VBU0k7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBR0Y7RUFDQTtFQU1BO0VBQ0E7RUFDQTtFQU9BO0VDMk9JLHlCQUxJO0VEcE9SO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBTUE7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7QUhvQkY7O0FLcElJO0VGc0hBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUdFO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUdGO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7QUhvQko7O0FNNUxBOzs7RUFHRTtBTitMRjs7QU1oTEk7RUFOSjtJQU9NO0VOb0xKO0FBQ0Y7O0FNdktBO0VBQ0U7RUFDQTtFRjZPSSxtQ0FMSTtFRXRPUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTjBLRjs7QU1qS0E7RUFDRTtFQUNBLGNDbW5CNEI7RURsbkI1QjtFQUNBO0VBQ0EsYUN5bkI0QjtBUHJkOUI7O0FNMUpBO0VBQ0U7RUFDQSxtQkN3akI0QjtFRHRqQjVCLG1CRVFvQjtFRlBwQixnQkVRcUI7RUZQckIsY0VRcUI7RUZQckI7QU40SkY7O0FNekpBO0VGdU1RO0FKMUNSO0FJbEhJO0VFM0NKO0lGOE1RO0VKN0NOO0FBQ0Y7O0FNN0pBO0VGa01RO0FKakNSO0FJM0hJO0VFdENKO0lGeU1RO0VKcENOO0FBQ0Y7O0FNaktBO0VGNkxRO0FKeEJSO0FJcElJO0VFakNKO0lGb01RO0VKM0JOO0FBQ0Y7O0FNcktBO0VGd0xRO0FKZlI7QUk3SUk7RUU1Qko7SUYrTFE7RUpsQk47QUFDRjs7QU16S0E7RUYrS00sa0JBTEk7QUpHVjs7QU14S0E7RUYwS00sZUFMSTtBSk9WOztBTWpLQTtFQUNFO0VBQ0EsbUJDd1YwQjtBUHBMNUI7O0FNMUpBO0VBQ0U7RUFDQTtFQUNBO0FONkpGOztBTXZKQTtFQUNFO0VBQ0E7RUFDQTtBTjBKRjs7QU1wSkE7O0VBRUU7QU51SkY7O0FNcEpBOzs7RUFHRTtFQUNBO0FOdUpGOztBTXBKQTs7OztFQUlFO0FOdUpGOztBTXBKQTtFQUNFLGdCQzZiNEI7QVB0UzlCOztBTWxKQTtFQUNFO0VBQ0E7QU5xSkY7O0FNL0lBO0VBQ0U7QU5rSkY7O0FNMUlBOztFQUVFLG1CQ3NhNEI7QVB6UjlCOztBTXJJQTtFRjZFTSxrQkFMSTtBSmlFVjs7QU1sSUE7RUFDRSxpQkNxZjRCO0VEcGY1QjtFQUNBO0FOcUlGOztBTTVIQTs7RUFFRTtFRndESSxpQkFMSTtFRWpEUjtFQUNBO0FOK0hGOztBTTVIQTtFQUFNO0FOZ0lOOztBTS9IQTtFQUFNO0FObUlOOztBTTlIQTtFQUNFO0VBQ0EsMEJDZ053QztBUC9FMUM7QU0vSEU7RUFDRTtBTmlJSjs7QU10SEU7RUFFRTtFQUNBO0FOd0hKOztBTWpIQTs7OztFQUlFLHFDQ2dWNEI7RUhsVXhCLGNBTEk7QUo0R1Y7O0FNN0dBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUZFSSxrQkFMSTtBSm9IVjtBTTVHRTtFRkhJLGtCQUxJO0VFVU47RUFDQTtBTjhHSjs7QU0xR0E7RUZWTSxrQkFMSTtFRWlCUjtFQUNBO0FONkdGO0FNMUdFO0VBQ0U7QU40R0o7O0FNeEdBO0VBQ0U7RUZ0Qkksa0JBTEk7RUU2QlIsd0JDeTVDa0M7RUR4NUNsQyxzQ0N5NUNrQztFRTlyRGhDO0FUaVpKO0FNekdFO0VBQ0U7RUY3QkUsY0FMSTtBSjhJVjs7QU1qR0E7RUFDRTtBTm9HRjs7QU05RkE7O0VBRUU7QU5pR0Y7O0FNekZBO0VBQ0U7RUFDQTtBTjRGRjs7QU16RkE7RUFDRSxtQkM0WDRCO0VEM1g1QixzQkMyWDRCO0VEMVg1QixnQ0M0WjRCO0VEM1o1QjtBTjRGRjs7QU1yRkE7RUFFRTtFQUNBO0FOdUZGOztBTXBGQTs7Ozs7O0VBTUU7RUFDQTtFQUNBO0FOdUZGOztBTS9FQTtFQUNFO0FOa0ZGOztBTTVFQTtFQUVFO0FOOEVGOztBTXRFQTtFQUNFO0FOeUVGOztBTXBFQTs7Ozs7RUFLRTtFQUNBO0VGNUhJLGtCQUxJO0VFbUlSO0FOdUVGOztBTW5FQTs7RUFFRTtBTnNFRjs7QU1qRUE7RUFDRTtBTm9FRjs7QU1qRUE7RUFHRTtBTmtFRjtBTS9ERTtFQUNFO0FOaUVKOztBTTFEQTtFQUNFO0FONkRGOztBTXJEQTs7OztFQUlFO0FOd0RGO0FNckRJOzs7O0VBQ0U7QU4wRE47O0FNbkRBO0VBQ0U7RUFDQTtBTnNERjs7QU1qREE7RUFDRTtBTm9ERjs7QU0xQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBTjZDRjs7QU1yQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQSxxQkNtTjRCO0VIcGF0QjtFRW9OTjtBTnVDRjtBSXZaSTtFRXlXSjtJRnRNUTtFSndQTjtBQUNGO0FNMUNFO0VBQ0U7QU40Q0o7O0FNckNBOzs7Ozs7O0VBT0U7QU53Q0Y7O0FNckNBO0VBQ0U7QU53Q0Y7O0FNL0JBO0VBQ0U7RUFDQTtBTmtDRjs7QU0xQkE7Ozs7Ozs7Q0FBQTtBQVdBO0VBQ0U7QU4wQkY7O0FNckJBO0VBQ0U7QU53QkY7O0FNakJBO0VBQ0U7RUFDQTtBTm9CRjs7QU1mQTtFQUNFO0FOa0JGOztBTWJBO0VBQ0U7QU5nQkY7O0FNVEE7RUFDRTtFQUNBO0FOWUY7O0FNSkE7RUFDRTtBTk9GOztBTUNBO0VBQ0U7QU5FRjs7QVVqaUJRO0VBT0k7QVY4aEJaOztBVXJpQlE7RUFPSTtBVmtpQlo7O0FVemlCUTtFQU9JO0FWc2lCWjs7QVU3aUJRO0VBT0k7QVYwaUJaOztBVWpqQlE7RUFPSTtBVjhpQlo7O0FFdG5CRTs7OztFQUFBO0FTS0E7Ozs7Ozs7RUNIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWm1vQkY7O0FhN2tCSTtFRjVDRTtJQUNFLGdCSmtlZTtFUDJKckI7QUFDRjtBYW5sQkk7RUY1Q0U7SUFDRSxnQkprZWU7RVBnS3JCO0FBQ0Y7QWF4bEJJO0VGNUNFO0lBQ0UsZ0JKa2VlO0VQcUtyQjtBQUNGO0FhN2xCSTtFRjVDRTtJQUNFLGlCSmtlZTtFUDBLckI7QUFDRjtBYWxtQkk7RUY1Q0U7SUFDRSxpQkprZWU7RVArS3JCO0FBQ0Y7QWNscUJBO0VBRUk7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0Fkd3FCSjs7QWNucUJFO0VDTkE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QWY0cUJGO0FjMXFCSTtFQ0dGO0VBSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmdXFCRjs7QWV4bkJNO0VBQ0U7QWYybkJSOztBZXhuQk07RUFwQ0o7RUFDQTtBZmdxQkY7O0FlbHBCRTtFQUNFO0VBQ0E7QWZxcEJKOztBZXZwQkU7RUFDRTtFQUNBO0FmMHBCSjs7QWU1cEJFO0VBQ0U7RUFDQTtBZitwQko7O0FlanFCRTtFQUNFO0VBQ0E7QWZvcUJKOztBZXRxQkU7RUFDRTtFQUNBO0FmeXFCSjs7QWUzcUJFO0VBQ0U7RUFDQTtBZjhxQko7O0FlL29CTTtFQWhESjtFQUNBO0FmbXNCRjs7QWU5b0JVO0VBaEVOO0VBQ0E7QWZrdEJKOztBZW5wQlU7RUFoRU47RUFDQTtBZnV0Qko7O0FleHBCVTtFQWhFTjtFQUNBO0FmNHRCSjs7QWU3cEJVO0VBaEVOO0VBQ0E7QWZpdUJKOztBZWxxQlU7RUFoRU47RUFDQTtBZnN1Qko7O0FldnFCVTtFQWhFTjtFQUNBO0FmMnVCSjs7QWU1cUJVO0VBaEVOO0VBQ0E7QWZndkJKOztBZWpyQlU7RUFoRU47RUFDQTtBZnF2Qko7O0FldHJCVTtFQWhFTjtFQUNBO0FmMHZCSjs7QWUzckJVO0VBaEVOO0VBQ0E7QWYrdkJKOztBZWhzQlU7RUFoRU47RUFDQTtBZm93Qko7O0FlcnNCVTtFQWhFTjtFQUNBO0FmeXdCSjs7QWVsc0JZO0VBeERWO0FmOHZCRjs7QWV0c0JZO0VBeERWO0Fma3dCRjs7QWUxc0JZO0VBeERWO0Fmc3dCRjs7QWU5c0JZO0VBeERWO0FmMHdCRjs7QWVsdEJZO0VBeERWO0FmOHdCRjs7QWV0dEJZO0VBeERWO0Fma3hCRjs7QWUxdEJZO0VBeERWO0Fmc3hCRjs7QWU5dEJZO0VBeERWO0FmMHhCRjs7QWVsdUJZO0VBeERWO0FmOHhCRjs7QWV0dUJZO0VBeERWO0Fma3lCRjs7QWUxdUJZO0VBeERWO0Fmc3lCRjs7QWVudUJROztFQUVFO0Fmc3VCVjs7QWVudUJROztFQUVFO0Fmc3VCVjs7QWU3dUJROztFQUVFO0FmZ3ZCVjs7QWU3dUJROztFQUVFO0FmZ3ZCVjs7QWV2dkJROztFQUVFO0FmMHZCVjs7QWV2dkJROztFQUVFO0FmMHZCVjs7QWVqd0JROztFQUVFO0Fmb3dCVjs7QWVqd0JROztFQUVFO0Fmb3dCVjs7QWUzd0JROztFQUVFO0FmOHdCVjs7QWUzd0JROztFQUVFO0FmOHdCVjs7QWVyeEJROztFQUVFO0Fmd3hCVjs7QWVyeEJROztFQUVFO0Fmd3hCVjs7QWFsMUJJO0VFVUU7SUFDRTtFZjQwQk47RWV6MEJJO0lBcENKO0lBQ0E7RWZnM0JBO0VlbDJCQTtJQUNFO0lBQ0E7RWZvMkJGO0VldDJCQTtJQUNFO0lBQ0E7RWZ3MkJGO0VlMTJCQTtJQUNFO0lBQ0E7RWY0MkJGO0VlOTJCQTtJQUNFO0lBQ0E7RWZnM0JGO0VlbDNCQTtJQUNFO0lBQ0E7RWZvM0JGO0VldDNCQTtJQUNFO0lBQ0E7RWZ3M0JGO0VlejFCSTtJQWhESjtJQUNBO0VmNDRCQTtFZXYxQlE7SUFoRU47SUFDQTtFZjA1QkY7RWUzMUJRO0lBaEVOO0lBQ0E7RWY4NUJGO0VlLzFCUTtJQWhFTjtJQUNBO0VmazZCRjtFZW4yQlE7SUFoRU47SUFDQTtFZnM2QkY7RWV2MkJRO0lBaEVOO0lBQ0E7RWYwNkJGO0VlMzJCUTtJQWhFTjtJQUNBO0VmODZCRjtFZS8yQlE7SUFoRU47SUFDQTtFZms3QkY7RWVuM0JRO0lBaEVOO0lBQ0E7RWZzN0JGO0VldjNCUTtJQWhFTjtJQUNBO0VmMDdCRjtFZTMzQlE7SUFoRU47SUFDQTtFZjg3QkY7RWUvM0JRO0lBaEVOO0lBQ0E7RWZrOEJGO0VlbjRCUTtJQWhFTjtJQUNBO0VmczhCRjtFZS8zQlU7SUF4RFY7RWYwN0JBO0VlbDRCVTtJQXhEVjtFZjY3QkE7RWVyNEJVO0lBeERWO0VmZzhCQTtFZXg0QlU7SUF4RFY7RWZtOEJBO0VlMzRCVTtJQXhEVjtFZnM4QkE7RWU5NEJVO0lBeERWO0VmeThCQTtFZWo1QlU7SUF4RFY7RWY0OEJBO0VlcDVCVTtJQXhEVjtFZis4QkE7RWV2NUJVO0lBeERWO0VmazlCQTtFZTE1QlU7SUF4RFY7RWZxOUJBO0VlNzVCVTtJQXhEVjtFZnc5QkE7RWVoNkJVO0lBeERWO0VmMjlCQTtFZXg1Qk07O0lBRUU7RWYwNUJSO0VldjVCTTs7SUFFRTtFZnk1QlI7RWVoNkJNOztJQUVFO0VmazZCUjtFZS81Qk07O0lBRUU7RWZpNkJSO0VleDZCTTs7SUFFRTtFZjA2QlI7RWV2NkJNOztJQUVFO0VmeTZCUjtFZWg3Qk07O0lBRUU7RWZrN0JSO0VlLzZCTTs7SUFFRTtFZmk3QlI7RWV4N0JNOztJQUVFO0VmMDdCUjtFZXY3Qk07O0lBRUU7RWZ5N0JSO0VlaDhCTTs7SUFFRTtFZms4QlI7RWUvN0JNOztJQUVFO0VmaThCUjtBQUNGO0FhNS9CSTtFRVVFO0lBQ0U7RWZxL0JOO0VlbC9CSTtJQXBDSjtJQUNBO0VmeWhDQTtFZTNnQ0E7SUFDRTtJQUNBO0VmNmdDRjtFZS9nQ0E7SUFDRTtJQUNBO0VmaWhDRjtFZW5oQ0E7SUFDRTtJQUNBO0VmcWhDRjtFZXZoQ0E7SUFDRTtJQUNBO0VmeWhDRjtFZTNoQ0E7SUFDRTtJQUNBO0VmNmhDRjtFZS9oQ0E7SUFDRTtJQUNBO0VmaWlDRjtFZWxnQ0k7SUFoREo7SUFDQTtFZnFqQ0E7RWVoZ0NRO0lBaEVOO0lBQ0E7RWZta0NGO0VlcGdDUTtJQWhFTjtJQUNBO0VmdWtDRjtFZXhnQ1E7SUFoRU47SUFDQTtFZjJrQ0Y7RWU1Z0NRO0lBaEVOO0lBQ0E7RWYra0NGO0VlaGhDUTtJQWhFTjtJQUNBO0VmbWxDRjtFZXBoQ1E7SUFoRU47SUFDQTtFZnVsQ0Y7RWV4aENRO0lBaEVOO0lBQ0E7RWYybENGO0VlNWhDUTtJQWhFTjtJQUNBO0VmK2xDRjtFZWhpQ1E7SUFoRU47SUFDQTtFZm1tQ0Y7RWVwaUNRO0lBaEVOO0lBQ0E7RWZ1bUNGO0VleGlDUTtJQWhFTjtJQUNBO0VmMm1DRjtFZTVpQ1E7SUFoRU47SUFDQTtFZittQ0Y7RWV4aUNVO0lBeERWO0VmbW1DQTtFZTNpQ1U7SUF4RFY7RWZzbUNBO0VlOWlDVTtJQXhEVjtFZnltQ0E7RWVqakNVO0lBeERWO0VmNG1DQTtFZXBqQ1U7SUF4RFY7RWYrbUNBO0VldmpDVTtJQXhEVjtFZmtuQ0E7RWUxakNVO0lBeERWO0VmcW5DQTtFZTdqQ1U7SUF4RFY7RWZ3bkNBO0VlaGtDVTtJQXhEVjtFZjJuQ0E7RWVua0NVO0lBeERWO0VmOG5DQTtFZXRrQ1U7SUF4RFY7RWZpb0NBO0VlemtDVTtJQXhEVjtFZm9vQ0E7RWVqa0NNOztJQUVFO0VmbWtDUjtFZWhrQ007O0lBRUU7RWZra0NSO0VlemtDTTs7SUFFRTtFZjJrQ1I7RWV4a0NNOztJQUVFO0VmMGtDUjtFZWpsQ007O0lBRUU7RWZtbENSO0VlaGxDTTs7SUFFRTtFZmtsQ1I7RWV6bENNOztJQUVFO0VmMmxDUjtFZXhsQ007O0lBRUU7RWYwbENSO0Vlam1DTTs7SUFFRTtFZm1tQ1I7RWVobUNNOztJQUVFO0Vma21DUjtFZXptQ007O0lBRUU7RWYybUNSO0VleG1DTTs7SUFFRTtFZjBtQ1I7QUFDRjtBYXJxQ0k7RUVVRTtJQUNFO0VmOHBDTjtFZTNwQ0k7SUFwQ0o7SUFDQTtFZmtzQ0E7RWVwckNBO0lBQ0U7SUFDQTtFZnNyQ0Y7RWV4ckNBO0lBQ0U7SUFDQTtFZjByQ0Y7RWU1ckNBO0lBQ0U7SUFDQTtFZjhyQ0Y7RWVoc0NBO0lBQ0U7SUFDQTtFZmtzQ0Y7RWVwc0NBO0lBQ0U7SUFDQTtFZnNzQ0Y7RWV4c0NBO0lBQ0U7SUFDQTtFZjBzQ0Y7RWUzcUNJO0lBaERKO0lBQ0E7RWY4dENBO0VlenFDUTtJQWhFTjtJQUNBO0VmNHVDRjtFZTdxQ1E7SUFoRU47SUFDQTtFZmd2Q0Y7RWVqckNRO0lBaEVOO0lBQ0E7RWZvdkNGO0VlcnJDUTtJQWhFTjtJQUNBO0Vmd3ZDRjtFZXpyQ1E7SUFoRU47SUFDQTtFZjR2Q0Y7RWU3ckNRO0lBaEVOO0lBQ0E7RWZnd0NGO0VlanNDUTtJQWhFTjtJQUNBO0Vmb3dDRjtFZXJzQ1E7SUFoRU47SUFDQTtFZnd3Q0Y7RWV6c0NRO0lBaEVOO0lBQ0E7RWY0d0NGO0VlN3NDUTtJQWhFTjtJQUNBO0VmZ3hDRjtFZWp0Q1E7SUFoRU47SUFDQTtFZm94Q0Y7RWVydENRO0lBaEVOO0lBQ0E7RWZ3eENGO0VlanRDVTtJQXhEVjtFZjR3Q0E7RWVwdENVO0lBeERWO0VmK3dDQTtFZXZ0Q1U7SUF4RFY7RWZreENBO0VlMXRDVTtJQXhEVjtFZnF4Q0E7RWU3dENVO0lBeERWO0Vmd3hDQTtFZWh1Q1U7SUF4RFY7RWYyeENBO0VlbnVDVTtJQXhEVjtFZjh4Q0E7RWV0dUNVO0lBeERWO0VmaXlDQTtFZXp1Q1U7SUF4RFY7RWZveUNBO0VlNXVDVTtJQXhEVjtFZnV5Q0E7RWUvdUNVO0lBeERWO0VmMHlDQTtFZWx2Q1U7SUF4RFY7RWY2eUNBO0VlMXVDTTs7SUFFRTtFZjR1Q1I7RWV6dUNNOztJQUVFO0VmMnVDUjtFZWx2Q007O0lBRUU7RWZvdkNSO0VlanZDTTs7SUFFRTtFZm12Q1I7RWUxdkNNOztJQUVFO0VmNHZDUjtFZXp2Q007O0lBRUU7RWYydkNSO0VlbHdDTTs7SUFFRTtFZm93Q1I7RWVqd0NNOztJQUVFO0VmbXdDUjtFZTF3Q007O0lBRUU7RWY0d0NSO0VlendDTTs7SUFFRTtFZjJ3Q1I7RWVseENNOztJQUVFO0Vmb3hDUjtFZWp4Q007O0lBRUU7RWZteENSO0FBQ0Y7QWE5MENJO0VFVUU7SUFDRTtFZnUwQ047RWVwMENJO0lBcENKO0lBQ0E7RWYyMkNBO0VlNzFDQTtJQUNFO0lBQ0E7RWYrMUNGO0VlajJDQTtJQUNFO0lBQ0E7RWZtMkNGO0VlcjJDQTtJQUNFO0lBQ0E7RWZ1MkNGO0VlejJDQTtJQUNFO0lBQ0E7RWYyMkNGO0VlNzJDQTtJQUNFO0lBQ0E7RWYrMkNGO0VlajNDQTtJQUNFO0lBQ0E7RWZtM0NGO0VlcDFDSTtJQWhESjtJQUNBO0VmdTRDQTtFZWwxQ1E7SUFoRU47SUFDQTtFZnE1Q0Y7RWV0MUNRO0lBaEVOO0lBQ0E7RWZ5NUNGO0VlMTFDUTtJQWhFTjtJQUNBO0VmNjVDRjtFZTkxQ1E7SUFoRU47SUFDQTtFZmk2Q0Y7RWVsMkNRO0lBaEVOO0lBQ0E7RWZxNkNGO0VldDJDUTtJQWhFTjtJQUNBO0VmeTZDRjtFZTEyQ1E7SUFoRU47SUFDQTtFZjY2Q0Y7RWU5MkNRO0lBaEVOO0lBQ0E7RWZpN0NGO0VlbDNDUTtJQWhFTjtJQUNBO0VmcTdDRjtFZXQzQ1E7SUFoRU47SUFDQTtFZnk3Q0Y7RWUxM0NRO0lBaEVOO0lBQ0E7RWY2N0NGO0VlOTNDUTtJQWhFTjtJQUNBO0VmaThDRjtFZTEzQ1U7SUF4RFY7RWZxN0NBO0VlNzNDVTtJQXhEVjtFZnc3Q0E7RWVoNENVO0lBeERWO0VmMjdDQTtFZW40Q1U7SUF4RFY7RWY4N0NBO0VldDRDVTtJQXhEVjtFZmk4Q0E7RWV6NENVO0lBeERWO0VmbzhDQTtFZTU0Q1U7SUF4RFY7RWZ1OENBO0VlLzRDVTtJQXhEVjtFZjA4Q0E7RWVsNUNVO0lBeERWO0VmNjhDQTtFZXI1Q1U7SUF4RFY7RWZnOUNBO0VleDVDVTtJQXhEVjtFZm05Q0E7RWUzNUNVO0lBeERWO0VmczlDQTtFZW41Q007O0lBRUU7RWZxNUNSO0VlbDVDTTs7SUFFRTtFZm81Q1I7RWUzNUNNOztJQUVFO0VmNjVDUjtFZTE1Q007O0lBRUU7RWY0NUNSO0VlbjZDTTs7SUFFRTtFZnE2Q1I7RWVsNkNNOztJQUVFO0VmbzZDUjtFZTM2Q007O0lBRUU7RWY2NkNSO0VlMTZDTTs7SUFFRTtFZjQ2Q1I7RWVuN0NNOztJQUVFO0VmcTdDUjtFZWw3Q007O0lBRUU7RWZvN0NSO0VlMzdDTTs7SUFFRTtFZjY3Q1I7RWUxN0NNOztJQUVFO0VmNDdDUjtBQUNGO0Fhdi9DSTtFRVVFO0lBQ0U7RWZnL0NOO0VlNytDSTtJQXBDSjtJQUNBO0Vmb2hEQTtFZXRnREE7SUFDRTtJQUNBO0Vmd2dERjtFZTFnREE7SUFDRTtJQUNBO0VmNGdERjtFZTlnREE7SUFDRTtJQUNBO0VmZ2hERjtFZWxoREE7SUFDRTtJQUNBO0Vmb2hERjtFZXRoREE7SUFDRTtJQUNBO0Vmd2hERjtFZTFoREE7SUFDRTtJQUNBO0VmNGhERjtFZTcvQ0k7SUFoREo7SUFDQTtFZmdqREE7RWUzL0NRO0lBaEVOO0lBQ0E7RWY4akRGO0VlLy9DUTtJQWhFTjtJQUNBO0Vma2tERjtFZW5nRFE7SUFoRU47SUFDQTtFZnNrREY7RWV2Z0RRO0lBaEVOO0lBQ0E7RWYwa0RGO0VlM2dEUTtJQWhFTjtJQUNBO0VmOGtERjtFZS9nRFE7SUFoRU47SUFDQTtFZmtsREY7RWVuaERRO0lBaEVOO0lBQ0E7RWZzbERGO0VldmhEUTtJQWhFTjtJQUNBO0VmMGxERjtFZTNoRFE7SUFoRU47SUFDQTtFZjhsREY7RWUvaERRO0lBaEVOO0lBQ0E7RWZrbURGO0VlbmlEUTtJQWhFTjtJQUNBO0Vmc21ERjtFZXZpRFE7SUFoRU47SUFDQTtFZjBtREY7RWVuaURVO0lBeERWO0VmOGxEQTtFZXRpRFU7SUF4RFY7RWZpbURBO0VlemlEVTtJQXhEVjtFZm9tREE7RWU1aURVO0lBeERWO0VmdW1EQTtFZS9pRFU7SUF4RFY7RWYwbURBO0VlbGpEVTtJQXhEVjtFZjZtREE7RWVyakRVO0lBeERWO0VmZ25EQTtFZXhqRFU7SUF4RFY7RWZtbkRBO0VlM2pEVTtJQXhEVjtFZnNuREE7RWU5akRVO0lBeERWO0VmeW5EQTtFZWprRFU7SUF4RFY7RWY0bkRBO0VlcGtEVTtJQXhEVjtFZituREE7RWU1akRNOztJQUVFO0VmOGpEUjtFZTNqRE07O0lBRUU7RWY2akRSO0VlcGtETTs7SUFFRTtFZnNrRFI7RWVua0RNOztJQUVFO0VmcWtEUjtFZTVrRE07O0lBRUU7RWY4a0RSO0VlM2tETTs7SUFFRTtFZjZrRFI7RWVwbERNOztJQUVFO0Vmc2xEUjtFZW5sRE07O0lBRUU7RWZxbERSO0VlNWxETTs7SUFFRTtFZjhsRFI7RWUzbERNOztJQUVFO0VmNmxEUjtFZXBtRE07O0lBRUU7RWZzbURSO0Vlbm1ETTs7SUFFRTtFZnFtRFI7QUFDRjtBVTdwRFE7RUFPSTtBVnlwRFo7O0FVaHFEUTtFQU9JO0FWNnBEWjs7QVVwcURRO0VBT0k7QVZpcURaOztBVXhxRFE7RUFPSTtBVnFxRFo7O0FVNXFEUTtFQU9JO0FWeXFEWjs7QVVockRRO0VBT0k7QVY2cURaOztBVXByRFE7RUFPSTtBVmlyRFo7O0FVeHJEUTtFQU9JO0FWcXJEWjs7QVU1ckRRO0VBT0k7QVZ5ckRaOztBVWhzRFE7RUFPSTtBVjZyRFo7O0FVcHNEUTtFQU9JO0FWaXNEWjs7QVV4c0RRO0VBT0k7QVZxc0RaOztBVTVzRFE7RUFPSTtBVnlzRFo7O0FVaHREUTtFQU9JO0FWNnNEWjs7QVVwdERRO0VBT0k7QVZpdERaOztBVXh0RFE7RUFPSTtBVnF0RFo7O0FVNXREUTtFQU9JO0FWeXREWjs7QVVodURRO0VBT0k7QVY2dERaOztBVXB1RFE7RUFPSTtBVml1RFo7O0FVeHVEUTtFQU9JO0FWcXVEWjs7QVU1dURRO0VBT0k7QVZ5dURaOztBVWh2RFE7RUFPSTtBVjZ1RFo7O0FVcHZEUTtFQU9JO0FWaXZEWjs7QVV4dkRRO0VBT0k7QVZxdkRaOztBVTV2RFE7RUFPSTtBVnl2RFo7O0FVaHdEUTtFQU9JO0FWNnZEWjs7QVVwd0RRO0VBT0k7QVZpd0RaOztBVXh3RFE7RUFPSTtBVnF3RFo7O0FVNXdEUTtFQU9JO0FWeXdEWjs7QVVoeERRO0VBT0k7QVY2d0RaOztBVXB4RFE7RUFPSTtBVml4RFo7O0FVeHhEUTtFQU9JO0FWcXhEWjs7QVU1eERRO0VBT0k7QVZ5eERaOztBVWh5RFE7RUFPSTtBVjZ4RFo7O0FVcHlEUTtFQU9JO0FWaXlEWjs7QVV4eURRO0VBT0k7QVZxeURaOztBVTV5RFE7RUFPSTtBVnl5RFo7O0FVaHpEUTtFQU9JO0FWNnlEWjs7QVVwekRRO0VBT0k7QVZpekRaOztBVXh6RFE7RUFPSTtBVnF6RFo7O0FVNXpEUTtFQU9JO0FWeXpEWjs7QVVoMERRO0VBT0k7QVY2ekRaOztBVXAwRFE7RUFPSTtBVmkwRFo7O0FVeDBEUTtFQU9JO0FWcTBEWjs7QVU1MERRO0VBT0k7QVZ5MERaOztBVWgxRFE7RUFPSTtBVjYwRFo7O0FVcDFEUTtFQU9JO0FWaTFEWjs7QVV4MURRO0VBT0k7QVZxMURaOztBVTUxRFE7RUFPSTtBVnkxRFo7O0FVaDJEUTtFQU9JO0FWNjFEWjs7QVVwMkRRO0VBT0k7QVZpMkRaOztBVXgyRFE7RUFPSTtBVnEyRFo7O0FVNTJEUTtFQU9JO0FWeTJEWjs7QVVoM0RRO0VBT0k7QVY2MkRaOztBVXAzRFE7RUFPSTtBVmkzRFo7O0FVeDNEUTtFQU9JO0FWcTNEWjs7QVU1M0RRO0VBT0k7QVZ5M0RaOztBVWg0RFE7RUFPSTtBVjYzRFo7O0FVcDREUTtFQU9JO0FWaTREWjs7QVV4NERRO0VBT0k7QVZxNERaOztBVTU0RFE7RUFPSTtBVnk0RFo7O0FVaDVEUTtFQU9JO0VBQUE7QVY4NERaOztBVXI1RFE7RUFPSTtFQUFBO0FWbTVEWjs7QVUxNURRO0VBT0k7RUFBQTtBVnc1RFo7O0FVLzVEUTtFQU9JO0VBQUE7QVY2NURaOztBVXA2RFE7RUFPSTtFQUFBO0FWazZEWjs7QVV6NkRRO0VBT0k7RUFBQTtBVnU2RFo7O0FVOTZEUTtFQU9JO0VBQUE7QVY0NkRaOztBVW43RFE7RUFPSTtFQUFBO0FWaTdEWjs7QVV4N0RRO0VBT0k7RUFBQTtBVnM3RFo7O0FVNzdEUTtFQU9JO0VBQUE7QVYyN0RaOztBVWw4RFE7RUFPSTtFQUFBO0FWZzhEWjs7QVV2OERRO0VBT0k7RUFBQTtBVnE4RFo7O0FVNThEUTtFQU9JO0VBQUE7QVYwOERaOztBVWo5RFE7RUFPSTtFQUFBO0FWKzhEWjs7QVV0OURRO0VBT0k7QVZtOURaOztBVTE5RFE7RUFPSTtBVnU5RFo7O0FVOTlEUTtFQU9JO0FWMjlEWjs7QVVsK0RRO0VBT0k7QVYrOURaOztBVXQrRFE7RUFPSTtBVm0rRFo7O0FVMStEUTtFQU9JO0FWdStEWjs7QVU5K0RRO0VBT0k7QVYyK0RaOztBVWwvRFE7RUFPSTtBVisrRFo7O0FVdC9EUTtFQU9JO0FWbS9EWjs7QVUxL0RRO0VBT0k7QVZ1L0RaOztBVTkvRFE7RUFPSTtBVjIvRFo7O0FVbGdFUTtFQU9JO0FWKy9EWjs7QVV0Z0VRO0VBT0k7QVZtZ0VaOztBVTFnRVE7RUFPSTtBVnVnRVo7O0FVOWdFUTtFQU9JO0FWMmdFWjs7QVVsaEVRO0VBT0k7QVYrZ0VaOztBVXRoRVE7RUFPSTtBVm1oRVo7O0FVMWhFUTtFQU9JO0FWdWhFWjs7QVU5aEVRO0VBT0k7QVYyaEVaOztBVWxpRVE7RUFPSTtBVitoRVo7O0FVdGlFUTtFQU9JO0FWbWlFWjs7QVUxaUVRO0VBT0k7QVZ1aUVaOztBVTlpRVE7RUFPSTtBVjJpRVo7O0FVbGpFUTtFQU9JO0FWK2lFWjs7QVV0akVRO0VBT0k7QVZtakVaOztBVTFqRVE7RUFPSTtBVnVqRVo7O0FVOWpFUTtFQU9JO0FWMmpFWjs7QVVsa0VRO0VBT0k7QVYrakVaOztBVXRrRVE7RUFPSTtBVm1rRVo7O0FVMWtFUTtFQU9JO0FWdWtFWjs7QVU5a0VRO0VBT0k7QVYya0VaOztBVWxsRVE7RUFPSTtBVitrRVo7O0FVdGxFUTtFQU9JO0FWbWxFWjs7QVUxbEVRO0VBT0k7QVZ1bEVaOztBVTlsRVE7RUFPSTtFQUFBO0FWNGxFWjs7QVVubUVRO0VBT0k7RUFBQTtBVmltRVo7O0FVeG1FUTtFQU9JO0VBQUE7QVZzbUVaOztBVTdtRVE7RUFPSTtFQUFBO0FWMm1FWjs7QVVsbkVRO0VBT0k7RUFBQTtBVmduRVo7O0FVdm5FUTtFQU9JO0VBQUE7QVZxbkVaOztBVTVuRVE7RUFPSTtFQUFBO0FWMG5FWjs7QVVqb0VRO0VBT0k7RUFBQTtBVituRVo7O0FVdG9FUTtFQU9JO0VBQUE7QVZvb0VaOztBVTNvRVE7RUFPSTtFQUFBO0FWeW9FWjs7QVVocEVRO0VBT0k7RUFBQTtBVjhvRVo7O0FVcnBFUTtFQU9JO0VBQUE7QVZtcEVaOztBVTFwRVE7RUFPSTtBVnVwRVo7O0FVOXBFUTtFQU9JO0FWMnBFWjs7QVVscUVRO0VBT0k7QVYrcEVaOztBVXRxRVE7RUFPSTtBVm1xRVo7O0FVMXFFUTtFQU9JO0FWdXFFWjs7QVU5cUVRO0VBT0k7QVYycUVaOztBVWxyRVE7RUFPSTtBVitxRVo7O0FVdHJFUTtFQU9JO0FWbXJFWjs7QVUxckVRO0VBT0k7QVZ1ckVaOztBVTlyRVE7RUFPSTtBVjJyRVo7O0FVbHNFUTtFQU9JO0FWK3JFWjs7QVV0c0VRO0VBT0k7QVZtc0VaOztBVTFzRVE7RUFPSTtBVnVzRVo7O0FVOXNFUTtFQU9JO0FWMnNFWjs7QVVsdEVRO0VBT0k7QVYrc0VaOztBVXR0RVE7RUFPSTtBVm10RVo7O0FVMXRFUTtFQU9JO0FWdXRFWjs7QVU5dEVRO0VBT0k7QVYydEVaOztBVWx1RVE7RUFPSTtBVit0RVo7O0FVdHVFUTtFQU9JO0FWbXVFWjs7QVUxdUVRO0VBT0k7QVZ1dUVaOztBVTl1RVE7RUFPSTtBVjJ1RVo7O0FVbHZFUTtFQU9JO0FWK3VFWjs7QVV0dkVRO0VBT0k7QVZtdkVaOztBYTd2RUk7RUhHSTtJQU9JO0VWd3ZFVjtFVS92RU07SUFPSTtFVjJ2RVY7RVVsd0VNO0lBT0k7RVY4dkVWO0VVcndFTTtJQU9JO0VWaXdFVjtFVXh3RU07SUFPSTtFVm93RVY7RVUzd0VNO0lBT0k7RVZ1d0VWO0VVOXdFTTtJQU9JO0VWMHdFVjtFVWp4RU07SUFPSTtFVjZ3RVY7RVVweEVNO0lBT0k7RVZneEVWO0VVdnhFTTtJQU9JO0VWbXhFVjtFVTF4RU07SUFPSTtFVnN4RVY7RVU3eEVNO0lBT0k7RVZ5eEVWO0VVaHlFTTtJQU9JO0VWNHhFVjtFVW55RU07SUFPSTtFVit4RVY7RVV0eUVNO0lBT0k7RVZreUVWO0VVenlFTTtJQU9JO0VWcXlFVjtFVTV5RU07SUFPSTtFVnd5RVY7RVUveUVNO0lBT0k7RVYyeUVWO0VVbHpFTTtJQU9JO0VWOHlFVjtFVXJ6RU07SUFPSTtFVml6RVY7RVV4ekVNO0lBT0k7RVZvekVWO0VVM3pFTTtJQU9JO0VWdXpFVjtFVTl6RU07SUFPSTtFVjB6RVY7RVVqMEVNO0lBT0k7RVY2ekVWO0VVcDBFTTtJQU9JO0VWZzBFVjtFVXYwRU07SUFPSTtFVm0wRVY7RVUxMEVNO0lBT0k7RVZzMEVWO0VVNzBFTTtJQU9JO0VWeTBFVjtFVWgxRU07SUFPSTtFVjQwRVY7RVVuMUVNO0lBT0k7RVYrMEVWO0VVdDFFTTtJQU9JO0VWazFFVjtFVXoxRU07SUFPSTtFVnExRVY7RVU1MUVNO0lBT0k7RVZ3MUVWO0VVLzFFTTtJQU9JO0VWMjFFVjtFVWwyRU07SUFPSTtFVjgxRVY7RVVyMkVNO0lBT0k7RVZpMkVWO0VVeDJFTTtJQU9JO0VWbzJFVjtFVTMyRU07SUFPSTtFVnUyRVY7RVU5MkVNO0lBT0k7RVYwMkVWO0VVajNFTTtJQU9JO0VWNjJFVjtFVXAzRU07SUFPSTtFVmczRVY7RVV2M0VNO0lBT0k7RVZtM0VWO0VVMTNFTTtJQU9JO0VWczNFVjtFVTczRU07SUFPSTtFVnkzRVY7RVVoNEVNO0lBT0k7RVY0M0VWO0VVbjRFTTtJQU9JO0VWKzNFVjtFVXQ0RU07SUFPSTtFVms0RVY7RVV6NEVNO0lBT0k7RVZxNEVWO0VVNTRFTTtJQU9JO0VWdzRFVjtFVS80RU07SUFPSTtFVjI0RVY7RVVsNUVNO0lBT0k7RVY4NEVWO0VVcjVFTTtJQU9JO0VWaTVFVjtFVXg1RU07SUFPSTtFVm81RVY7RVUzNUVNO0lBT0k7RVZ1NUVWO0VVOTVFTTtJQU9JO0VWMDVFVjtFVWo2RU07SUFPSTtFVjY1RVY7RVVwNkVNO0lBT0k7RVZnNkVWO0VVdjZFTTtJQU9JO0VWbTZFVjtFVTE2RU07SUFPSTtFVnM2RVY7RVU3NkVNO0lBT0k7RVZ5NkVWO0VVaDdFTTtJQU9JO0VWNDZFVjtFVW43RU07SUFPSTtJQUFBO0VWZzdFVjtFVXY3RU07SUFPSTtJQUFBO0VWbzdFVjtFVTM3RU07SUFPSTtJQUFBO0VWdzdFVjtFVS83RU07SUFPSTtJQUFBO0VWNDdFVjtFVW44RU07SUFPSTtJQUFBO0VWZzhFVjtFVXY4RU07SUFPSTtJQUFBO0VWbzhFVjtFVTM4RU07SUFPSTtJQUFBO0VWdzhFVjtFVS84RU07SUFPSTtJQUFBO0VWNDhFVjtFVW45RU07SUFPSTtJQUFBO0VWZzlFVjtFVXY5RU07SUFPSTtJQUFBO0VWbzlFVjtFVTM5RU07SUFPSTtJQUFBO0VWdzlFVjtFVS85RU07SUFPSTtJQUFBO0VWNDlFVjtFVW4rRU07SUFPSTtJQUFBO0VWZytFVjtFVXYrRU07SUFPSTtJQUFBO0VWbytFVjtFVTMrRU07SUFPSTtFVnUrRVY7RVU5K0VNO0lBT0k7RVYwK0VWO0VVai9FTTtJQU9JO0VWNitFVjtFVXAvRU07SUFPSTtFVmcvRVY7RVV2L0VNO0lBT0k7RVZtL0VWO0VVMS9FTTtJQU9JO0VWcy9FVjtFVTcvRU07SUFPSTtFVnkvRVY7RVVoZ0ZNO0lBT0k7RVY0L0VWO0VVbmdGTTtJQU9JO0VWKy9FVjtFVXRnRk07SUFPSTtFVmtnRlY7RVV6Z0ZNO0lBT0k7RVZxZ0ZWO0VVNWdGTTtJQU9JO0VWd2dGVjtFVS9nRk07SUFPSTtFVjJnRlY7RVVsaEZNO0lBT0k7RVY4Z0ZWO0VVcmhGTTtJQU9JO0VWaWhGVjtFVXhoRk07SUFPSTtFVm9oRlY7RVUzaEZNO0lBT0k7RVZ1aEZWO0VVOWhGTTtJQU9JO0VWMGhGVjtFVWppRk07SUFPSTtFVjZoRlY7RVVwaUZNO0lBT0k7RVZnaUZWO0VVdmlGTTtJQU9JO0VWbWlGVjtFVTFpRk07SUFPSTtFVnNpRlY7RVU3aUZNO0lBT0k7RVZ5aUZWO0VVaGpGTTtJQU9JO0VWNGlGVjtFVW5qRk07SUFPSTtFVitpRlY7RVV0akZNO0lBT0k7RVZrakZWO0VVempGTTtJQU9JO0VWcWpGVjtFVTVqRk07SUFPSTtFVndqRlY7RVUvakZNO0lBT0k7RVYyakZWO0VVbGtGTTtJQU9JO0VWOGpGVjtFVXJrRk07SUFPSTtFVmlrRlY7RVV4a0ZNO0lBT0k7RVZva0ZWO0VVM2tGTTtJQU9JO0VWdWtGVjtFVTlrRk07SUFPSTtFVjBrRlY7RVVqbEZNO0lBT0k7SUFBQTtFVjhrRlY7RVVybEZNO0lBT0k7SUFBQTtFVmtsRlY7RVV6bEZNO0lBT0k7SUFBQTtFVnNsRlY7RVU3bEZNO0lBT0k7SUFBQTtFVjBsRlY7RVVqbUZNO0lBT0k7SUFBQTtFVjhsRlY7RVVybUZNO0lBT0k7SUFBQTtFVmttRlY7RVV6bUZNO0lBT0k7SUFBQTtFVnNtRlY7RVU3bUZNO0lBT0k7SUFBQTtFVjBtRlY7RVVqbkZNO0lBT0k7SUFBQTtFVjhtRlY7RVVybkZNO0lBT0k7SUFBQTtFVmtuRlY7RVV6bkZNO0lBT0k7SUFBQTtFVnNuRlY7RVU3bkZNO0lBT0k7SUFBQTtFVjBuRlY7RVVqb0ZNO0lBT0k7RVY2bkZWO0VVcG9GTTtJQU9JO0VWZ29GVjtFVXZvRk07SUFPSTtFVm1vRlY7RVUxb0ZNO0lBT0k7RVZzb0ZWO0VVN29GTTtJQU9JO0VWeW9GVjtFVWhwRk07SUFPSTtFVjRvRlY7RVVucEZNO0lBT0k7RVYrb0ZWO0VVdHBGTTtJQU9JO0VWa3BGVjtFVXpwRk07SUFPSTtFVnFwRlY7RVU1cEZNO0lBT0k7RVZ3cEZWO0VVL3BGTTtJQU9JO0VWMnBGVjtFVWxxRk07SUFPSTtFVjhwRlY7RVVycUZNO0lBT0k7RVZpcUZWO0VVeHFGTTtJQU9JO0VWb3FGVjtFVTNxRk07SUFPSTtFVnVxRlY7RVU5cUZNO0lBT0k7RVYwcUZWO0VVanJGTTtJQU9JO0VWNnFGVjtFVXByRk07SUFPSTtFVmdyRlY7RVV2ckZNO0lBT0k7RVZtckZWO0VVMXJGTTtJQU9JO0VWc3JGVjtFVTdyRk07SUFPSTtFVnlyRlY7RVVoc0ZNO0lBT0k7RVY0ckZWO0VVbnNGTTtJQU9JO0VWK3JGVjtFVXRzRk07SUFPSTtFVmtzRlY7QUFDRjtBYTdzRkk7RUhHSTtJQU9JO0VWdXNGVjtFVTlzRk07SUFPSTtFVjBzRlY7RVVqdEZNO0lBT0k7RVY2c0ZWO0VVcHRGTTtJQU9JO0VWZ3RGVjtFVXZ0Rk07SUFPSTtFVm10RlY7RVUxdEZNO0lBT0k7RVZzdEZWO0VVN3RGTTtJQU9JO0VWeXRGVjtFVWh1Rk07SUFPSTtFVjR0RlY7RVVudUZNO0lBT0k7RVYrdEZWO0VVdHVGTTtJQU9JO0VWa3VGVjtFVXp1Rk07SUFPSTtFVnF1RlY7RVU1dUZNO0lBT0k7RVZ3dUZWO0VVL3VGTTtJQU9JO0VWMnVGVjtFVWx2Rk07SUFPSTtFVjh1RlY7RVVydkZNO0lBT0k7RVZpdkZWO0VVeHZGTTtJQU9JO0VWb3ZGVjtFVTN2Rk07SUFPSTtFVnV2RlY7RVU5dkZNO0lBT0k7RVYwdkZWO0VVandGTTtJQU9JO0VWNnZGVjtFVXB3Rk07SUFPSTtFVmd3RlY7RVV2d0ZNO0lBT0k7RVZtd0ZWO0VVMXdGTTtJQU9JO0VWc3dGVjtFVTd3Rk07SUFPSTtFVnl3RlY7RVVoeEZNO0lBT0k7RVY0d0ZWO0VVbnhGTTtJQU9JO0VWK3dGVjtFVXR4Rk07SUFPSTtFVmt4RlY7RVV6eEZNO0lBT0k7RVZxeEZWO0VVNXhGTTtJQU9JO0VWd3hGVjtFVS94Rk07SUFPSTtFVjJ4RlY7RVVseUZNO0lBT0k7RVY4eEZWO0VVcnlGTTtJQU9JO0VWaXlGVjtFVXh5Rk07SUFPSTtFVm95RlY7RVUzeUZNO0lBT0k7RVZ1eUZWO0VVOXlGTTtJQU9JO0VWMHlGVjtFVWp6Rk07SUFPSTtFVjZ5RlY7RVVwekZNO0lBT0k7RVZnekZWO0VVdnpGTTtJQU9JO0VWbXpGVjtFVTF6Rk07SUFPSTtFVnN6RlY7RVU3ekZNO0lBT0k7RVZ5ekZWO0VVaDBGTTtJQU9JO0VWNHpGVjtFVW4wRk07SUFPSTtFVit6RlY7RVV0MEZNO0lBT0k7RVZrMEZWO0VVejBGTTtJQU9JO0VWcTBGVjtFVTUwRk07SUFPSTtFVncwRlY7RVUvMEZNO0lBT0k7RVYyMEZWO0VVbDFGTTtJQU9JO0VWODBGVjtFVXIxRk07SUFPSTtFVmkxRlY7RVV4MUZNO0lBT0k7RVZvMUZWO0VVMzFGTTtJQU9JO0VWdTFGVjtFVTkxRk07SUFPSTtFVjAxRlY7RVVqMkZNO0lBT0k7RVY2MUZWO0VVcDJGTTtJQU9JO0VWZzJGVjtFVXYyRk07SUFPSTtFVm0yRlY7RVUxMkZNO0lBT0k7RVZzMkZWO0VVNzJGTTtJQU9JO0VWeTJGVjtFVWgzRk07SUFPSTtFVjQyRlY7RVVuM0ZNO0lBT0k7RVYrMkZWO0VVdDNGTTtJQU9JO0VWazNGVjtFVXozRk07SUFPSTtFVnEzRlY7RVU1M0ZNO0lBT0k7RVZ3M0ZWO0VVLzNGTTtJQU9JO0VWMjNGVjtFVWw0Rk07SUFPSTtJQUFBO0VWKzNGVjtFVXQ0Rk07SUFPSTtJQUFBO0VWbTRGVjtFVTE0Rk07SUFPSTtJQUFBO0VWdTRGVjtFVTk0Rk07SUFPSTtJQUFBO0VWMjRGVjtFVWw1Rk07SUFPSTtJQUFBO0VWKzRGVjtFVXQ1Rk07SUFPSTtJQUFBO0VWbTVGVjtFVTE1Rk07SUFPSTtJQUFBO0VWdTVGVjtFVTk1Rk07SUFPSTtJQUFBO0VWMjVGVjtFVWw2Rk07SUFPSTtJQUFBO0VWKzVGVjtFVXQ2Rk07SUFPSTtJQUFBO0VWbTZGVjtFVTE2Rk07SUFPSTtJQUFBO0VWdTZGVjtFVTk2Rk07SUFPSTtJQUFBO0VWMjZGVjtFVWw3Rk07SUFPSTtJQUFBO0VWKzZGVjtFVXQ3Rk07SUFPSTtJQUFBO0VWbTdGVjtFVTE3Rk07SUFPSTtFVnM3RlY7RVU3N0ZNO0lBT0k7RVZ5N0ZWO0VVaDhGTTtJQU9JO0VWNDdGVjtFVW44Rk07SUFPSTtFVis3RlY7RVV0OEZNO0lBT0k7RVZrOEZWO0VVejhGTTtJQU9JO0VWcThGVjtFVTU4Rk07SUFPSTtFVnc4RlY7RVUvOEZNO0lBT0k7RVYyOEZWO0VVbDlGTTtJQU9JO0VWODhGVjtFVXI5Rk07SUFPSTtFVmk5RlY7RVV4OUZNO0lBT0k7RVZvOUZWO0VVMzlGTTtJQU9JO0VWdTlGVjtFVTk5Rk07SUFPSTtFVjA5RlY7RVVqK0ZNO0lBT0k7RVY2OUZWO0VVcCtGTTtJQU9JO0VWZytGVjtFVXYrRk07SUFPSTtFVm0rRlY7RVUxK0ZNO0lBT0k7RVZzK0ZWO0VVNytGTTtJQU9JO0VWeStGVjtFVWgvRk07SUFPSTtFVjQrRlY7RVVuL0ZNO0lBT0k7RVYrK0ZWO0VVdC9GTTtJQU9JO0VWay9GVjtFVXovRk07SUFPSTtFVnEvRlY7RVU1L0ZNO0lBT0k7RVZ3L0ZWO0VVLy9GTTtJQU9JO0VWMi9GVjtFVWxnR007SUFPSTtFVjgvRlY7RVVyZ0dNO0lBT0k7RVZpZ0dWO0VVeGdHTTtJQU9JO0VWb2dHVjtFVTNnR007SUFPSTtFVnVnR1Y7RVU5Z0dNO0lBT0k7RVYwZ0dWO0VVamhHTTtJQU9JO0VWNmdHVjtFVXBoR007SUFPSTtFVmdoR1Y7RVV2aEdNO0lBT0k7RVZtaEdWO0VVMWhHTTtJQU9JO0VWc2hHVjtFVTdoR007SUFPSTtFVnloR1Y7RVVoaUdNO0lBT0k7SUFBQTtFVjZoR1Y7RVVwaUdNO0lBT0k7SUFBQTtFVmlpR1Y7RVV4aUdNO0lBT0k7SUFBQTtFVnFpR1Y7RVU1aUdNO0lBT0k7SUFBQTtFVnlpR1Y7RVVoakdNO0lBT0k7SUFBQTtFVjZpR1Y7RVVwakdNO0lBT0k7SUFBQTtFVmlqR1Y7RVV4akdNO0lBT0k7SUFBQTtFVnFqR1Y7RVU1akdNO0lBT0k7SUFBQTtFVnlqR1Y7RVVoa0dNO0lBT0k7SUFBQTtFVjZqR1Y7RVVwa0dNO0lBT0k7SUFBQTtFVmlrR1Y7RVV4a0dNO0lBT0k7SUFBQTtFVnFrR1Y7RVU1a0dNO0lBT0k7SUFBQTtFVnlrR1Y7RVVobEdNO0lBT0k7RVY0a0dWO0VVbmxHTTtJQU9JO0VWK2tHVjtFVXRsR007SUFPSTtFVmtsR1Y7RVV6bEdNO0lBT0k7RVZxbEdWO0VVNWxHTTtJQU9JO0VWd2xHVjtFVS9sR007SUFPSTtFVjJsR1Y7RVVsbUdNO0lBT0k7RVY4bEdWO0VVcm1HTTtJQU9JO0VWaW1HVjtFVXhtR007SUFPSTtFVm9tR1Y7RVUzbUdNO0lBT0k7RVZ1bUdWO0VVOW1HTTtJQU9JO0VWMG1HVjtFVWpuR007SUFPSTtFVjZtR1Y7RVVwbkdNO0lBT0k7RVZnbkdWO0VVdm5HTTtJQU9JO0VWbW5HVjtFVTFuR007SUFPSTtFVnNuR1Y7RVU3bkdNO0lBT0k7RVZ5bkdWO0VVaG9HTTtJQU9JO0VWNG5HVjtFVW5vR007SUFPSTtFVituR1Y7RVV0b0dNO0lBT0k7RVZrb0dWO0VVem9HTTtJQU9JO0VWcW9HVjtFVTVvR007SUFPSTtFVndvR1Y7RVUvb0dNO0lBT0k7RVYyb0dWO0VVbHBHTTtJQU9JO0VWOG9HVjtFVXJwR007SUFPSTtFVmlwR1Y7QUFDRjtBYTVwR0k7RUhHSTtJQU9JO0VWc3BHVjtFVTdwR007SUFPSTtFVnlwR1Y7RVVocUdNO0lBT0k7RVY0cEdWO0VVbnFHTTtJQU9JO0VWK3BHVjtFVXRxR007SUFPSTtFVmtxR1Y7RVV6cUdNO0lBT0k7RVZxcUdWO0VVNXFHTTtJQU9JO0VWd3FHVjtFVS9xR007SUFPSTtFVjJxR1Y7RVVsckdNO0lBT0k7RVY4cUdWO0VVcnJHTTtJQU9JO0VWaXJHVjtFVXhyR007SUFPSTtFVm9yR1Y7RVUzckdNO0lBT0k7RVZ1ckdWO0VVOXJHTTtJQU9JO0VWMHJHVjtFVWpzR007SUFPSTtFVjZyR1Y7RVVwc0dNO0lBT0k7RVZnc0dWO0VVdnNHTTtJQU9JO0VWbXNHVjtFVTFzR007SUFPSTtFVnNzR1Y7RVU3c0dNO0lBT0k7RVZ5c0dWO0VVaHRHTTtJQU9JO0VWNHNHVjtFVW50R007SUFPSTtFVitzR1Y7RVV0dEdNO0lBT0k7RVZrdEdWO0VVenRHTTtJQU9JO0VWcXRHVjtFVTV0R007SUFPSTtFVnd0R1Y7RVUvdEdNO0lBT0k7RVYydEdWO0VVbHVHTTtJQU9JO0VWOHRHVjtFVXJ1R007SUFPSTtFVml1R1Y7RVV4dUdNO0lBT0k7RVZvdUdWO0VVM3VHTTtJQU9JO0VWdXVHVjtFVTl1R007SUFPSTtFVjB1R1Y7RVVqdkdNO0lBT0k7RVY2dUdWO0VVcHZHTTtJQU9JO0VWZ3ZHVjtFVXZ2R007SUFPSTtFVm12R1Y7RVUxdkdNO0lBT0k7RVZzdkdWO0VVN3ZHTTtJQU9JO0VWeXZHVjtFVWh3R007SUFPSTtFVjR2R1Y7RVVud0dNO0lBT0k7RVYrdkdWO0VVdHdHTTtJQU9JO0VWa3dHVjtFVXp3R007SUFPSTtFVnF3R1Y7RVU1d0dNO0lBT0k7RVZ3d0dWO0VVL3dHTTtJQU9JO0VWMndHVjtFVWx4R007SUFPSTtFVjh3R1Y7RVVyeEdNO0lBT0k7RVZpeEdWO0VVeHhHTTtJQU9JO0VWb3hHVjtFVTN4R007SUFPSTtFVnV4R1Y7RVU5eEdNO0lBT0k7RVYweEdWO0VVanlHTTtJQU9JO0VWNnhHVjtFVXB5R007SUFPSTtFVmd5R1Y7RVV2eUdNO0lBT0k7RVZteUdWO0VVMXlHTTtJQU9JO0VWc3lHVjtFVTd5R007SUFPSTtFVnl5R1Y7RVVoekdNO0lBT0k7RVY0eUdWO0VVbnpHTTtJQU9JO0VWK3lHVjtFVXR6R007SUFPSTtFVmt6R1Y7RVV6ekdNO0lBT0k7RVZxekdWO0VVNXpHTTtJQU9JO0VWd3pHVjtFVS96R007SUFPSTtFVjJ6R1Y7RVVsMEdNO0lBT0k7RVY4ekdWO0VVcjBHTTtJQU9JO0VWaTBHVjtFVXgwR007SUFPSTtFVm8wR1Y7RVUzMEdNO0lBT0k7RVZ1MEdWO0VVOTBHTTtJQU9JO0VWMDBHVjtFVWoxR007SUFPSTtJQUFBO0VWODBHVjtFVXIxR007SUFPSTtJQUFBO0VWazFHVjtFVXoxR007SUFPSTtJQUFBO0VWczFHVjtFVTcxR007SUFPSTtJQUFBO0VWMDFHVjtFVWoyR007SUFPSTtJQUFBO0VWODFHVjtFVXIyR007SUFPSTtJQUFBO0VWazJHVjtFVXoyR007SUFPSTtJQUFBO0VWczJHVjtFVTcyR007SUFPSTtJQUFBO0VWMDJHVjtFVWozR007SUFPSTtJQUFBO0VWODJHVjtFVXIzR007SUFPSTtJQUFBO0VWazNHVjtFVXozR007SUFPSTtJQUFBO0VWczNHVjtFVTczR007SUFPSTtJQUFBO0VWMDNHVjtFVWo0R007SUFPSTtJQUFBO0VWODNHVjtFVXI0R007SUFPSTtJQUFBO0VWazRHVjtFVXo0R007SUFPSTtFVnE0R1Y7RVU1NEdNO0lBT0k7RVZ3NEdWO0VVLzRHTTtJQU9JO0VWMjRHVjtFVWw1R007SUFPSTtFVjg0R1Y7RVVyNUdNO0lBT0k7RVZpNUdWO0VVeDVHTTtJQU9JO0VWbzVHVjtFVTM1R007SUFPSTtFVnU1R1Y7RVU5NUdNO0lBT0k7RVYwNUdWO0VVajZHTTtJQU9JO0VWNjVHVjtFVXA2R007SUFPSTtFVmc2R1Y7RVV2NkdNO0lBT0k7RVZtNkdWO0VVMTZHTTtJQU9JO0VWczZHVjtFVTc2R007SUFPSTtFVnk2R1Y7RVVoN0dNO0lBT0k7RVY0NkdWO0VVbjdHTTtJQU9JO0VWKzZHVjtFVXQ3R007SUFPSTtFVms3R1Y7RVV6N0dNO0lBT0k7RVZxN0dWO0VVNTdHTTtJQU9JO0VWdzdHVjtFVS83R007SUFPSTtFVjI3R1Y7RVVsOEdNO0lBT0k7RVY4N0dWO0VVcjhHTTtJQU9JO0VWaThHVjtFVXg4R007SUFPSTtFVm84R1Y7RVUzOEdNO0lBT0k7RVZ1OEdWO0VVOThHTTtJQU9JO0VWMDhHVjtFVWo5R007SUFPSTtFVjY4R1Y7RVVwOUdNO0lBT0k7RVZnOUdWO0VVdjlHTTtJQU9JO0VWbTlHVjtFVTE5R007SUFPSTtFVnM5R1Y7RVU3OUdNO0lBT0k7RVZ5OUdWO0VVaCtHTTtJQU9JO0VWNDlHVjtFVW4rR007SUFPSTtFVis5R1Y7RVV0K0dNO0lBT0k7RVZrK0dWO0VVeitHTTtJQU9JO0VWcStHVjtFVTUrR007SUFPSTtFVncrR1Y7RVUvK0dNO0lBT0k7SUFBQTtFVjQrR1Y7RVVuL0dNO0lBT0k7SUFBQTtFVmcvR1Y7RVV2L0dNO0lBT0k7SUFBQTtFVm8vR1Y7RVUzL0dNO0lBT0k7SUFBQTtFVncvR1Y7RVUvL0dNO0lBT0k7SUFBQTtFVjQvR1Y7RVVuZ0hNO0lBT0k7SUFBQTtFVmdnSFY7RVV2Z0hNO0lBT0k7SUFBQTtFVm9nSFY7RVUzZ0hNO0lBT0k7SUFBQTtFVndnSFY7RVUvZ0hNO0lBT0k7SUFBQTtFVjRnSFY7RVVuaEhNO0lBT0k7SUFBQTtFVmdoSFY7RVV2aEhNO0lBT0k7SUFBQTtFVm9oSFY7RVUzaEhNO0lBT0k7SUFBQTtFVndoSFY7RVUvaEhNO0lBT0k7RVYyaEhWO0VVbGlITTtJQU9JO0VWOGhIVjtFVXJpSE07SUFPSTtFVmlpSFY7RVV4aUhNO0lBT0k7RVZvaUhWO0VVM2lITTtJQU9JO0VWdWlIVjtFVTlpSE07SUFPSTtFVjBpSFY7RVVqakhNO0lBT0k7RVY2aUhWO0VVcGpITTtJQU9JO0VWZ2pIVjtFVXZqSE07SUFPSTtFVm1qSFY7RVUxakhNO0lBT0k7RVZzakhWO0VVN2pITTtJQU9JO0VWeWpIVjtFVWhrSE07SUFPSTtFVjRqSFY7RVVua0hNO0lBT0k7RVYrakhWO0VVdGtITTtJQU9JO0VWa2tIVjtFVXprSE07SUFPSTtFVnFrSFY7RVU1a0hNO0lBT0k7RVZ3a0hWO0VVL2tITTtJQU9JO0VWMmtIVjtFVWxsSE07SUFPSTtFVjhrSFY7RVVybEhNO0lBT0k7RVZpbEhWO0VVeGxITTtJQU9JO0VWb2xIVjtFVTNsSE07SUFPSTtFVnVsSFY7RVU5bEhNO0lBT0k7RVYwbEhWO0VVam1ITTtJQU9JO0VWNmxIVjtFVXBtSE07SUFPSTtFVmdtSFY7QUFDRjtBYTNtSEk7RUhHSTtJQU9JO0VWcW1IVjtFVTVtSE07SUFPSTtFVndtSFY7RVUvbUhNO0lBT0k7RVYybUhWO0VVbG5ITTtJQU9JO0VWOG1IVjtFVXJuSE07SUFPSTtFVmluSFY7RVV4bkhNO0lBT0k7RVZvbkhWO0VVM25ITTtJQU9JO0VWdW5IVjtFVTluSE07SUFPSTtFVjBuSFY7RVVqb0hNO0lBT0k7RVY2bkhWO0VVcG9ITTtJQU9JO0VWZ29IVjtFVXZvSE07SUFPSTtFVm1vSFY7RVUxb0hNO0lBT0k7RVZzb0hWO0VVN29ITTtJQU9JO0VWeW9IVjtFVWhwSE07SUFPSTtFVjRvSFY7RVVucEhNO0lBT0k7RVYrb0hWO0VVdHBITTtJQU9JO0VWa3BIVjtFVXpwSE07SUFPSTtFVnFwSFY7RVU1cEhNO0lBT0k7RVZ3cEhWO0VVL3BITTtJQU9JO0VWMnBIVjtFVWxxSE07SUFPSTtFVjhwSFY7RVVycUhNO0lBT0k7RVZpcUhWO0VVeHFITTtJQU9JO0VWb3FIVjtFVTNxSE07SUFPSTtFVnVxSFY7RVU5cUhNO0lBT0k7RVYwcUhWO0VVanJITTtJQU9JO0VWNnFIVjtFVXBySE07SUFPSTtFVmdySFY7RVV2ckhNO0lBT0k7RVZtckhWO0VVMXJITTtJQU9JO0VWc3JIVjtFVTdySE07SUFPSTtFVnlySFY7RVVoc0hNO0lBT0k7RVY0ckhWO0VVbnNITTtJQU9JO0VWK3JIVjtFVXRzSE07SUFPSTtFVmtzSFY7RVV6c0hNO0lBT0k7RVZxc0hWO0VVNXNITTtJQU9JO0VWd3NIVjtFVS9zSE07SUFPSTtFVjJzSFY7RVVsdEhNO0lBT0k7RVY4c0hWO0VVcnRITTtJQU9JO0VWaXRIVjtFVXh0SE07SUFPSTtFVm90SFY7RVUzdEhNO0lBT0k7RVZ1dEhWO0VVOXRITTtJQU9JO0VWMHRIVjtFVWp1SE07SUFPSTtFVjZ0SFY7RVVwdUhNO0lBT0k7RVZndUhWO0VVdnVITTtJQU9JO0VWbXVIVjtFVTF1SE07SUFPSTtFVnN1SFY7RVU3dUhNO0lBT0k7RVZ5dUhWO0VVaHZITTtJQU9JO0VWNHVIVjtFVW52SE07SUFPSTtFVit1SFY7RVV0dkhNO0lBT0k7RVZrdkhWO0VVenZITTtJQU9JO0VWcXZIVjtFVTV2SE07SUFPSTtFVnd2SFY7RVUvdkhNO0lBT0k7RVYydkhWO0VVbHdITTtJQU9JO0VWOHZIVjtFVXJ3SE07SUFPSTtFVml3SFY7RVV4d0hNO0lBT0k7RVZvd0hWO0VVM3dITTtJQU9JO0VWdXdIVjtFVTl3SE07SUFPSTtFVjB3SFY7RVVqeEhNO0lBT0k7RVY2d0hWO0VVcHhITTtJQU9JO0VWZ3hIVjtFVXZ4SE07SUFPSTtFVm14SFY7RVUxeEhNO0lBT0k7RVZzeEhWO0VVN3hITTtJQU9JO0VWeXhIVjtFVWh5SE07SUFPSTtJQUFBO0VWNnhIVjtFVXB5SE07SUFPSTtJQUFBO0VWaXlIVjtFVXh5SE07SUFPSTtJQUFBO0VWcXlIVjtFVTV5SE07SUFPSTtJQUFBO0VWeXlIVjtFVWh6SE07SUFPSTtJQUFBO0VWNnlIVjtFVXB6SE07SUFPSTtJQUFBO0VWaXpIVjtFVXh6SE07SUFPSTtJQUFBO0VWcXpIVjtFVTV6SE07SUFPSTtJQUFBO0VWeXpIVjtFVWgwSE07SUFPSTtJQUFBO0VWNnpIVjtFVXAwSE07SUFPSTtJQUFBO0VWaTBIVjtFVXgwSE07SUFPSTtJQUFBO0VWcTBIVjtFVTUwSE07SUFPSTtJQUFBO0VWeTBIVjtFVWgxSE07SUFPSTtJQUFBO0VWNjBIVjtFVXAxSE07SUFPSTtJQUFBO0VWaTFIVjtFVXgxSE07SUFPSTtFVm8xSFY7RVUzMUhNO0lBT0k7RVZ1MUhWO0VVOTFITTtJQU9JO0VWMDFIVjtFVWoySE07SUFPSTtFVjYxSFY7RVVwMkhNO0lBT0k7RVZnMkhWO0VVdjJITTtJQU9JO0VWbTJIVjtFVTEySE07SUFPSTtFVnMySFY7RVU3MkhNO0lBT0k7RVZ5MkhWO0VVaDNITTtJQU9JO0VWNDJIVjtFVW4zSE07SUFPSTtFVisySFY7RVV0M0hNO0lBT0k7RVZrM0hWO0VVejNITTtJQU9JO0VWcTNIVjtFVTUzSE07SUFPSTtFVnczSFY7RVUvM0hNO0lBT0k7RVYyM0hWO0VVbDRITTtJQU9JO0VWODNIVjtFVXI0SE07SUFPSTtFVmk0SFY7RVV4NEhNO0lBT0k7RVZvNEhWO0VVMzRITTtJQU9JO0VWdTRIVjtFVTk0SE07SUFPSTtFVjA0SFY7RVVqNUhNO0lBT0k7RVY2NEhWO0VVcDVITTtJQU9JO0VWZzVIVjtFVXY1SE07SUFPSTtFVm01SFY7RVUxNUhNO0lBT0k7RVZzNUhWO0VVNzVITTtJQU9JO0VWeTVIVjtFVWg2SE07SUFPSTtFVjQ1SFY7RVVuNkhNO0lBT0k7RVYrNUhWO0VVdDZITTtJQU9JO0VWazZIVjtFVXo2SE07SUFPSTtFVnE2SFY7RVU1NkhNO0lBT0k7RVZ3NkhWO0VVLzZITTtJQU9JO0VWMjZIVjtFVWw3SE07SUFPSTtFVjg2SFY7RVVyN0hNO0lBT0k7RVZpN0hWO0VVeDdITTtJQU9JO0VWbzdIVjtFVTM3SE07SUFPSTtFVnU3SFY7RVU5N0hNO0lBT0k7SUFBQTtFVjI3SFY7RVVsOEhNO0lBT0k7SUFBQTtFVis3SFY7RVV0OEhNO0lBT0k7SUFBQTtFVm04SFY7RVUxOEhNO0lBT0k7SUFBQTtFVnU4SFY7RVU5OEhNO0lBT0k7SUFBQTtFVjI4SFY7RVVsOUhNO0lBT0k7SUFBQTtFVis4SFY7RVV0OUhNO0lBT0k7SUFBQTtFVm05SFY7RVUxOUhNO0lBT0k7SUFBQTtFVnU5SFY7RVU5OUhNO0lBT0k7SUFBQTtFVjI5SFY7RVVsK0hNO0lBT0k7SUFBQTtFVis5SFY7RVV0K0hNO0lBT0k7SUFBQTtFVm0rSFY7RVUxK0hNO0lBT0k7SUFBQTtFVnUrSFY7RVU5K0hNO0lBT0k7RVYwK0hWO0VVai9ITTtJQU9JO0VWNitIVjtFVXAvSE07SUFPSTtFVmcvSFY7RVV2L0hNO0lBT0k7RVZtL0hWO0VVMS9ITTtJQU9JO0VWcy9IVjtFVTcvSE07SUFPSTtFVnkvSFY7RVVoZ0lNO0lBT0k7RVY0L0hWO0VVbmdJTTtJQU9JO0VWKy9IVjtFVXRnSU07SUFPSTtFVmtnSVY7RVV6Z0lNO0lBT0k7RVZxZ0lWO0VVNWdJTTtJQU9JO0VWd2dJVjtFVS9nSU07SUFPSTtFVjJnSVY7RVVsaElNO0lBT0k7RVY4Z0lWO0VVcmhJTTtJQU9JO0VWaWhJVjtFVXhoSU07SUFPSTtFVm9oSVY7RVUzaElNO0lBT0k7RVZ1aElWO0VVOWhJTTtJQU9JO0VWMGhJVjtFVWppSU07SUFPSTtFVjZoSVY7RVVwaUlNO0lBT0k7RVZnaUlWO0VVdmlJTTtJQU9JO0VWbWlJVjtFVTFpSU07SUFPSTtFVnNpSVY7RVU3aUlNO0lBT0k7RVZ5aUlWO0VVaGpJTTtJQU9JO0VWNGlJVjtFVW5qSU07SUFPSTtFVitpSVY7QUFDRjtBYTFqSUk7RUhHSTtJQU9JO0VWb2pJVjtFVTNqSU07SUFPSTtFVnVqSVY7RVU5aklNO0lBT0k7RVYwaklWO0VVamtJTTtJQU9JO0VWNmpJVjtFVXBrSU07SUFPSTtFVmdrSVY7RVV2a0lNO0lBT0k7RVZta0lWO0VVMWtJTTtJQU9JO0VWc2tJVjtFVTdrSU07SUFPSTtFVnlrSVY7RVVobElNO0lBT0k7RVY0a0lWO0VVbmxJTTtJQU9JO0VWK2tJVjtFVXRsSU07SUFPSTtFVmtsSVY7RVV6bElNO0lBT0k7RVZxbElWO0VVNWxJTTtJQU9JO0VWd2xJVjtFVS9sSU07SUFPSTtFVjJsSVY7RVVsbUlNO0lBT0k7RVY4bElWO0VVcm1JTTtJQU9JO0VWaW1JVjtFVXhtSU07SUFPSTtFVm9tSVY7RVUzbUlNO0lBT0k7RVZ1bUlWO0VVOW1JTTtJQU9JO0VWMG1JVjtFVWpuSU07SUFPSTtFVjZtSVY7RVVwbklNO0lBT0k7RVZnbklWO0VVdm5JTTtJQU9JO0VWbW5JVjtFVTFuSU07SUFPSTtFVnNuSVY7RVU3bklNO0lBT0k7RVZ5bklWO0VVaG9JTTtJQU9JO0VWNG5JVjtFVW5vSU07SUFPSTtFVituSVY7RVV0b0lNO0lBT0k7RVZrb0lWO0VVem9JTTtJQU9JO0VWcW9JVjtFVTVvSU07SUFPSTtFVndvSVY7RVUvb0lNO0lBT0k7RVYyb0lWO0VVbHBJTTtJQU9JO0VWOG9JVjtFVXJwSU07SUFPSTtFVmlwSVY7RVV4cElNO0lBT0k7RVZvcElWO0VVM3BJTTtJQU9JO0VWdXBJVjtFVTlwSU07SUFPSTtFVjBwSVY7RVVqcUlNO0lBT0k7RVY2cElWO0VVcHFJTTtJQU9JO0VWZ3FJVjtFVXZxSU07SUFPSTtFVm1xSVY7RVUxcUlNO0lBT0k7RVZzcUlWO0VVN3FJTTtJQU9JO0VWeXFJVjtFVWhySU07SUFPSTtFVjRxSVY7RVVucklNO0lBT0k7RVYrcUlWO0VVdHJJTTtJQU9JO0VWa3JJVjtFVXpySU07SUFPSTtFVnFySVY7RVU1cklNO0lBT0k7RVZ3cklWO0VVL3JJTTtJQU9JO0VWMnJJVjtFVWxzSU07SUFPSTtFVjhySVY7RVVyc0lNO0lBT0k7RVZpc0lWO0VVeHNJTTtJQU9JO0VWb3NJVjtFVTNzSU07SUFPSTtFVnVzSVY7RVU5c0lNO0lBT0k7RVYwc0lWO0VVanRJTTtJQU9JO0VWNnNJVjtFVXB0SU07SUFPSTtFVmd0SVY7RVV2dElNO0lBT0k7RVZtdElWO0VVMXRJTTtJQU9JO0VWc3RJVjtFVTd0SU07SUFPSTtFVnl0SVY7RVVodUlNO0lBT0k7RVY0dElWO0VVbnVJTTtJQU9JO0VWK3RJVjtFVXR1SU07SUFPSTtFVmt1SVY7RVV6dUlNO0lBT0k7RVZxdUlWO0VVNXVJTTtJQU9JO0VWd3VJVjtFVS91SU07SUFPSTtJQUFBO0VWNHVJVjtFVW52SU07SUFPSTtJQUFBO0VWZ3ZJVjtFVXZ2SU07SUFPSTtJQUFBO0VWb3ZJVjtFVTN2SU07SUFPSTtJQUFBO0VWd3ZJVjtFVS92SU07SUFPSTtJQUFBO0VWNHZJVjtFVW53SU07SUFPSTtJQUFBO0VWZ3dJVjtFVXZ3SU07SUFPSTtJQUFBO0VWb3dJVjtFVTN3SU07SUFPSTtJQUFBO0VWd3dJVjtFVS93SU07SUFPSTtJQUFBO0VWNHdJVjtFVW54SU07SUFPSTtJQUFBO0VWZ3hJVjtFVXZ4SU07SUFPSTtJQUFBO0VWb3hJVjtFVTN4SU07SUFPSTtJQUFBO0VWd3hJVjtFVS94SU07SUFPSTtJQUFBO0VWNHhJVjtFVW55SU07SUFPSTtJQUFBO0VWZ3lJVjtFVXZ5SU07SUFPSTtFVm15SVY7RVUxeUlNO0lBT0k7RVZzeUlWO0VVN3lJTTtJQU9JO0VWeXlJVjtFVWh6SU07SUFPSTtFVjR5SVY7RVVueklNO0lBT0k7RVYreUlWO0VVdHpJTTtJQU9JO0VWa3pJVjtFVXp6SU07SUFPSTtFVnF6SVY7RVU1eklNO0lBT0k7RVZ3eklWO0VVL3pJTTtJQU9JO0VWMnpJVjtFVWwwSU07SUFPSTtFVjh6SVY7RVVyMElNO0lBT0k7RVZpMElWO0VVeDBJTTtJQU9JO0VWbzBJVjtFVTMwSU07SUFPSTtFVnUwSVY7RVU5MElNO0lBT0k7RVYwMElWO0VVajFJTTtJQU9JO0VWNjBJVjtFVXAxSU07SUFPSTtFVmcxSVY7RVV2MUlNO0lBT0k7RVZtMUlWO0VVMTFJTTtJQU9JO0VWczFJVjtFVTcxSU07SUFPSTtFVnkxSVY7RVVoMklNO0lBT0k7RVY0MUlWO0VVbjJJTTtJQU9JO0VWKzFJVjtFVXQySU07SUFPSTtFVmsySVY7RVV6MklNO0lBT0k7RVZxMklWO0VVNTJJTTtJQU9JO0VWdzJJVjtFVS8ySU07SUFPSTtFVjIySVY7RVVsM0lNO0lBT0k7RVY4MklWO0VVcjNJTTtJQU9JO0VWaTNJVjtFVXgzSU07SUFPSTtFVm8zSVY7RVUzM0lNO0lBT0k7RVZ1M0lWO0VVOTNJTTtJQU9JO0VWMDNJVjtFVWo0SU07SUFPSTtFVjYzSVY7RVVwNElNO0lBT0k7RVZnNElWO0VVdjRJTTtJQU9JO0VWbTRJVjtFVTE0SU07SUFPSTtFVnM0SVY7RVU3NElNO0lBT0k7SUFBQTtFVjA0SVY7RVVqNUlNO0lBT0k7SUFBQTtFVjg0SVY7RVVyNUlNO0lBT0k7SUFBQTtFVms1SVY7RVV6NUlNO0lBT0k7SUFBQTtFVnM1SVY7RVU3NUlNO0lBT0k7SUFBQTtFVjA1SVY7RVVqNklNO0lBT0k7SUFBQTtFVjg1SVY7RVVyNklNO0lBT0k7SUFBQTtFVms2SVY7RVV6NklNO0lBT0k7SUFBQTtFVnM2SVY7RVU3NklNO0lBT0k7SUFBQTtFVjA2SVY7RVVqN0lNO0lBT0k7SUFBQTtFVjg2SVY7RVVyN0lNO0lBT0k7SUFBQTtFVms3SVY7RVV6N0lNO0lBT0k7SUFBQTtFVnM3SVY7RVU3N0lNO0lBT0k7RVZ5N0lWO0VVaDhJTTtJQU9JO0VWNDdJVjtFVW44SU07SUFPSTtFVis3SVY7RVV0OElNO0lBT0k7RVZrOElWO0VVejhJTTtJQU9JO0VWcThJVjtFVTU4SU07SUFPSTtFVnc4SVY7RVUvOElNO0lBT0k7RVYyOElWO0VVbDlJTTtJQU9JO0VWODhJVjtFVXI5SU07SUFPSTtFVmk5SVY7RVV4OUlNO0lBT0k7RVZvOUlWO0VVMzlJTTtJQU9JO0VWdTlJVjtFVTk5SU07SUFPSTtFVjA5SVY7RVVqK0lNO0lBT0k7RVY2OUlWO0VVcCtJTTtJQU9JO0VWZytJVjtFVXYrSU07SUFPSTtFVm0rSVY7RVUxK0lNO0lBT0k7RVZzK0lWO0VVNytJTTtJQU9JO0VWeStJVjtFVWgvSU07SUFPSTtFVjQrSVY7RVVuL0lNO0lBT0k7RVYrK0lWO0VVdC9JTTtJQU9JO0VWay9JVjtFVXovSU07SUFPSTtFVnEvSVY7RVU1L0lNO0lBT0k7RVZ3L0lWO0VVLy9JTTtJQU9JO0VWMi9JVjtFVWxnSk07SUFPSTtFVjgvSVY7QUFDRjtBZ0JsaUpBO0VONEJRO0lBT0k7RVZtZ0pWO0VVMWdKTTtJQU9JO0VWc2dKVjtFVTdnSk07SUFPSTtFVnlnSlY7RVVoaEpNO0lBT0k7RVY0Z0pWO0VVbmhKTTtJQU9JO0VWK2dKVjtFVXRoSk07SUFPSTtFVmtoSlY7RVV6aEpNO0lBT0k7RVZxaEpWO0VVNWhKTTtJQU9JO0VWd2hKVjtFVS9oSk07SUFPSTtFVjJoSlY7RVVsaUpNO0lBT0k7RVY4aEpWO0VVcmlKTTtJQU9JO0VWaWlKVjtBQUNGO0FpQnZtSkE7RUFFRTtFQUNBO0VBQ0E7RWJ1UkksNkJBTEk7RWFoUlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFYnNRSSxrQ0FMSTtFYS9QUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RVJqQkU7RVNmRixrQ0RrQ3FCO0VFdEJqQixxSUZ3Qko7QWpCb21KRjtBbUJ4bkpNO0VGaEJOO0lFaUJRO0VuQjJuSk47QUFDRjtBaUJ2bUpFO0VBQ0U7RUFFQTtFQUNBO0FqQndtSko7QWlCcm1KRTtFQUVFO0VBQ0E7RUFDQTtBakJzbUpKO0FpQm5tSkU7RUFDRTtFQ3JERix3Q0RzRHVCO0VBQ3JCO0VBQ0E7RUFLRTtBakJpbUpOO0FpQjdsSkU7RUFDRTtFQUNBO0VBS0U7QWpCMmxKTjtBaUJ2bEpFO0VBS0U7RUFDQTtFQUdBO0FqQm1sSko7QWlCaGxKSTtFQUtJO0FqQjhrSlI7QWlCemtKRTtFQUtJO0FqQnVrSk47QWlCbmtKRTtFQUdFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QWpCa2tKSjs7QWlCdGpKRTtFRy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQnlxSkY7O0FpQnZrSkU7RUcvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEIwckpGOztBaUJ4bEpFO0VHL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCMnNKRjs7QWlCem1KRTtFRy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQjR0SkY7O0FpQjFuSkU7RUcvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEI2dUpGOztBaUIzb0pFO0VHL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCOHZKRjs7QWlCNXBKRTtFRy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQit3SkY7O0FpQjdxSkU7RUcvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJneUpGOztBaUJwcUpFO0VHaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCd3hKRjs7QWlCcnJKRTtFR2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQnl5SkY7O0FpQnRzSkU7RUdoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEIwekpGOztBaUJ2dEpFO0VHaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCMjBKRjs7QWlCeHVKRTtFR2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQjQxSkY7O0FpQnp2SkU7RUdoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEI2MkpGOztBaUIxd0pFO0VHaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCODNKRjs7QWlCM3hKRTtFR2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQis0SkY7O0FpQmh5SkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSwwQlY4UXdDO0FQb2hKMUM7QWlCeHhKRTtFQUNFO0FqQjB4Sko7QWlCdnhKRTtFQUNFO0FqQnl4Sko7O0FpQjl3SkE7RUdqSkU7RUFDQTtFaEI4TkksMkJBTEk7RWdCdk5SO0FwQm02SkY7O0FpQmp4SkE7RUdySkU7RUFDQTtFaEI4TkksNEJBTEk7RWdCdk5SO0FwQjA2SkY7O0FxQnorSkE7RUFDRSxxQmR1MkJzQztBUHFvSXhDOztBcUJuK0pBO0VBQ0U7RUFDQTtFQUNBO0VqQjhRSSxrQkFMSTtFaUJyUVIsaUJiaUZpQjtBUm01Sm5COztBcUJoK0pBO0VBQ0U7RUFDQTtFakJvUUksa0JBTEk7QUpxdUpWOztBcUJoK0pBO0VBQ0U7RUFDQTtFakI4UEksbUJBTEk7QUoydUpWOztBc0JqZ0tBO0VBQ0UsbUJmKzFCc0M7RUhya0JsQyxrQkFMSTtFa0JqUlIsZ0NmKzFCc0M7QVBtcUl4Qzs7QXVCdmdLQTtFQUNFO0VBQ0E7RUFDQTtFbkJ3Ukksb0JBTEk7RW1CaFJSLGdCaEJrbUI0QjtFZ0JqbUI1QixpQmYyRmlCO0VlMUZqQiwyQmhCNDNCc0M7RWdCMzNCdEM7RUFDQSxtQ2hCcTNCc0M7RWdCcDNCdEM7RUFDQTtFZEdFO0VVSEUsd0VJTUo7QXZCcWdLRjtBbUJ2Z0tNO0VJaEJOO0lKaUJRO0VuQjBnS047QUFDRjtBdUJ4Z0tFO0VBQ0U7QXZCMGdLSjtBdUJ4Z0tJO0VBQ0U7QXZCMGdLTjtBdUJyZ0tFO0VBQ0UsMkJoQnMyQm9DO0VnQnIyQnBDLG1DaEJnMkJvQztFZ0IvMUJwQyxrQmhCODJCb0M7RWdCNzJCcEM7RUFLRSw2Q2hCa2hCa0I7QVBpL0l4QjtBdUIvL0pFO0VBTUU7RUFNQTtFQUtBO0F2Qm0vSko7QXVCOStKRTtFQUNFO0VBQ0E7QXZCZy9KSjtBdUI1K0pFO0VBQ0UsZ0NoQjQwQm9DO0VnQjEwQnBDO0F2QjYrSko7QXVCcitKRTtFQUVFLHdDaEI4eUJvQztFZ0IzeUJwQztBdkJvK0pKO0F1QmgrSkU7RUFDRTtFQUNBO0VBQ0EsdUJmVGM7RWVVZCwyQmhCc3lCb0M7RVdwNEJ0Qyx1Q1hxaUNnQztFZ0JyOEI5QjtFQUNBO0VBQ0E7RUFDQTtFQUNBLCtDaEJnc0IwQjtFZ0IvckIxQjtFSnpGRSxxSUkwRkY7QXZCaytKSjtBbUJ4aktNO0VJMEVKO0lKekVNO0VuQjJqS047QUFDRjtBdUJwK0pFO0VBQ0Usd0NoQjQ3QjhCO0FQMGlJbEM7O0F1Qjc5SkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGlCZnRCaUI7RWV1QmpCLDJCaEIyeEJzQztFZ0IxeEJ0QztFQUNBO0VBQ0E7QXZCZytKRjtBdUI5OUpFO0VBQ0U7QXZCZytKSjtBdUI3OUpFO0VBRUU7RUFDQTtBdkI4OUpKOztBdUJuOUpBO0VBQ0Usb0VoQjR3QnNDO0VnQjN3QnRDO0VuQnlJSSxtQkFMSTtFS3ZRTjtBVDJsS0o7QXVCcDlKRTtFQUNFO0VBQ0E7RUFDQSx5QmhCb29CMEI7QVBrMUk5Qjs7QXVCbDlKQTtFQUNFLGtFaEJnd0JzQztFZ0IvdkJ0QztFbkI0SEksa0JBTEk7RUt2UU47QVR1bUtKO0F1Qm45SkU7RUFDRTtFQUNBO0VBQ0EsdUJoQjJuQjBCO0FQMDFJOUI7O0F1Qjc4SkU7RUFDRSxrRWhCNnVCb0M7QVBtdUl4QztBdUI3OEpFO0VBQ0Usb0VoQjB1Qm9DO0FQcXVJeEM7QXVCNThKRTtFQUNFLGtFaEJ1dUJvQztBUHV1SXhDOztBdUJ6OEpBO0VBQ0UsV2hCcXVCc0M7RWdCcHVCdEMsOERoQjh0QnNDO0VnQjd0QnRDLGFmL0dvQjtBUjJqS3RCO0F1QjE4SkU7RUFDRTtBdkI0OEpKO0F1Qno4SkU7RUFDRTtFZHZMQTtBVG1vS0o7QXVCeDhKRTtFQUNFO0VkNUxBO0FUdW9LSjtBdUJ2OEpFO0VBQW9CLGdFaEI4c0JrQjtBUDR2SXhDO0F1Qno4SkU7RUFBb0IsOERoQjhzQmtCO0FQOHZJeEM7O0F3QjNwS0E7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFcEJxUkksb0JBTEk7RW9CN1FSLGdCakIrbEI0QjtFaUI5bEI1QixpQmhCd0ZpQjtFZ0J2RmpCLDJCakJ5M0JzQztFaUJ4M0J0QztFQUNBLG1DakJrM0JzQztFaUJqM0J0QztFQUNBO0VBQ0Esc0NqQis5QmtDO0VpQjk5QmxDLDBCakIrOUJrQztFaUI5OUJsQztFZkhFO0VVSEUsd0VLU0o7QXhCMnBLRjtBbUJocUtNO0VLZk47SUxnQlE7RW5CbXFLTjtBQUNGO0F3QjlwS0U7RUFDRSxrQmpCczNCb0M7RWlCcjNCcEM7RUFLRSw2Q2pCaStCNEI7QVAycklsQztBd0J4cEtFO0VBRUUsbUJoQmdEYztFZ0IvQ2Q7QXhCeXBLSjtBd0J0cEtFO0VBRUUsd0NqQnUxQm9DO0FQZzBJeEM7QXdCbHBLRTtFQUNFO0VBQ0E7QXhCb3BLSjs7QXdCaHBLQTtFQUNFLG9CakJzdUI0QjtFaUJydUI1Qix1QmpCcXVCNEI7RWlCcHVCNUIsb0JqQnF1QjRCO0VIbGdCeEIsbUJBTEk7RUt2UU47QVQ4cktKOztBd0JocEtBO0VBQ0UsbUJqQmt1QjRCO0VpQmp1QjVCLHNCakJpdUI0QjtFaUJodUI1QixrQmpCaXVCNEI7RUh0Z0J4QixrQkFMSTtFS3ZRTjtBVHNzS0o7O0F3QjlvS0k7RUFDRTtBeEJpcEtOOztBeUJ6dEtBO0VBQ0U7RUFDQSxtQmxCcTZCd0M7RWtCcDZCeEMsb0JsQnE2QndDO0VrQnA2QnhDLHVCbEJxNkJ3QztBUHV6STFDO0F5QjF0S0U7RUFDRTtFQUNBO0F6QjR0S0o7O0F5Qnh0S0E7RUFDRSxxQmxCMjVCd0M7RWtCMTVCeEM7RUFDQTtBekIydEtGO0F5Qnp0S0U7RUFDRTtFQUNBO0VBQ0E7QXpCMnRLSjs7QXlCdnRLQTtFQUNFO0VBRUE7RUFDQSxhakIwRHVCO0VpQnpEdkIsY2pCeUR1QjtFaUJ4RHZCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSwyRGxCMjRCd0M7RWtCMTRCeEM7QXpCeXRLRjtBeUJ0dEtFO0VoQjNCRTtBVG92S0o7QXlCcnRLRTtFQUVFLGtCbEJtNEJzQztBUG0xSTFDO0F5Qm50S0U7RUFDRSx1QmxCMDNCc0M7QVAyMUkxQztBeUJsdEtFO0VBQ0Usa0JsQnMxQm9DO0VrQnIxQnBDO0VBQ0EsNkNsQjhmb0I7QVBzdEp4QjtBeUJqdEtFO0VBQ0UseUJqQnZEa0I7RWlCd0RsQixxQmpCeERrQjtBUjJ3S3RCO0F5Qmp0S0k7RUFJSTtBekJndEtSO0F5QjVzS0k7RUFJSTtBekIyc0tSO0F5QnRzS0U7RUFDRSx5QmpCNUVrQjtFaUI2RWxCLHFCakI3RWtCO0VpQmtGaEI7QXpCb3NLTjtBeUJoc0tFO0VBQ0U7RUFDQTtFQUNBLFlsQmsyQnVDO0FQZzJJM0M7QXlCM3JLSTtFQUNFO0VBQ0EsWWxCeTFCcUM7QVBvMkkzQzs7QXlCL3FLQTtFQUNFLG1CbEJvMUJnQztBUDgxSWxDO0F5QmhyS0U7RUFDRTtFQUVBLFVsQjgwQjhCO0VrQjcwQjlCO0VBQ0E7RUFDQTtFaEJqSEE7RVVIRSxpRE1zSEY7QXpCaXJLSjtBbUJueUtNO0VNMEdKO0lOekdNO0VuQnN5S047QUFDRjtBeUJwcktJO0VBQ0U7QXpCc3JLTjtBeUJucktJO0VBQ0UsaUNsQjYwQjRCO0VrQngwQjFCO0F6QmlyS1I7QXlCNXFLRTtFQUNFLG9CbEJ3ekI4QjtFa0J2ekI5QjtBekI4cUtKO0F5QjVxS0k7RUFDRTtFQUNBO0F6QjhxS047O0F5QnpxS0E7RUFDRTtFQUNBLGtCbEJzeUJnQztBUHM0SWxDOztBeUJ6cUtBO0VBQ0U7RUFDQTtFQUNBO0F6QjRxS0Y7QXlCeHFLSTtFQUNFO0VBQ0E7RUFDQSxhbEJzcEJ3QjtBUG9oSjlCOztBeUJucUtJO0VBQ0U7QXpCc3FLTjs7QTBCejFLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCNDFLRjtBMEIxMUtFO0VBQ0U7QTFCNDFLSjtBMEJ4MUtJO0VBQTBCLDZEbkI4Z0NhO0FQNjBJM0M7QTBCMTFLSTtFQUEwQiw2RG5CNmdDYTtBUGcxSTNDO0EwQjExS0U7RUFDRTtBMUI0MUtKO0EwQnoxS0U7RUFDRSxXbkIrL0J1QztFbUI5L0J2QyxZbkI4L0J1QztFbUI3L0J2QztFQUNBO0VSMUJGLHlCVk9vQjtFa0JxQmxCLFNuQjYvQnVDO0VFMWdDdkM7RVVIRSw0R09tQkY7QTFCMDFLSjtBbUJ6MktNO0VPTUo7SVBMTTtFbkI0MktOO0FBQ0Y7QTBCNzFLSTtFUmpDRix5Qlg4aEN5QztBUG0ySTNDO0EwQjMxS0U7RUFDRSxXbkJ3K0I4QjtFbUJ2K0I5QixjbkJ3K0I4QjtFbUJ2K0I5QjtFQUNBLGVuQnUrQjhCO0VtQnQrQjlCLHdDbkJ1K0I4QjtFbUJ0K0I5QjtFakI3QkE7QVQyM0tKO0EwQnoxS0U7RUFDRSxXbkJvK0J1QztFbUJuK0J2QyxZbkJtK0J1QztFbUJsK0J2QztFUnBERix5QlZPb0I7RWtCK0NsQixTbkJtK0J1QztFRTFnQ3ZDO0VVSEUsNEdPNkNGO0ExQjAxS0o7QW1CbjRLTTtFT2lDSjtJUGhDTTtFbkJzNEtOO0FBQ0Y7QTBCNzFLSTtFUjNERix5Qlg4aEN5QztBUDYzSTNDO0EwQjMxS0U7RUFDRSxXbkI4OEI4QjtFbUI3OEI5QixjbkI4OEI4QjtFbUI3OEI5QjtFQUNBLGVuQjY4QjhCO0VtQjU4QjlCLHdDbkI2OEI4QjtFbUI1OEI5QjtFakJ2REE7QVRxNUtKO0EwQnoxS0U7RUFDRTtBMUIyMUtKO0EwQnoxS0k7RUFDRSwyQ25CZzlCcUM7QVAyNEkzQztBMEJ4MUtJO0VBQ0UsMkNuQjQ4QnFDO0FQODRJM0M7O0EyQmo3S0E7RUFDRTtBM0JvN0tGO0EyQmw3S0U7OztFQUdFLHVEcEJ3aUNvQztFb0J2aUNwQywyRHBCdWlDb0M7RW9CdGlDcEMsaUJwQnVpQ29DO0FQNjRJeEM7QTJCajdLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VSUkUsZ0VRU0Y7QTNCbTdLSjtBbUJ4N0tNO0VRVEo7SVJVTTtFbkIyN0tOO0FBQ0Y7QTJCcjdLRTs7RUFFRTtBM0J1N0tKO0EyQnI3S0k7O0VBQ0U7QTNCdzdLTjtBMkJyN0tJOzs7RUFFRSxxQnBCNGdDa0M7RW9CM2dDbEMsd0JwQjRnQ2tDO0FQNDZJeEM7QTJCcjdLSTs7RUFDRSxxQnBCdWdDa0M7RW9CdGdDbEMsd0JwQnVnQ2tDO0FQaTdJeEM7QTJCcDdLRTtFQUNFLHFCcEJpZ0NvQztFb0JoZ0NwQyx3QnBCaWdDb0M7QVBxN0l4QztBMkIvNktJOzs7O0VBQ0U7RUFDQSw4RHBCMi9Ca0M7QVB5N0l4QztBMkJsN0tNOzs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0EsYXBCbS9CZ0M7RW9CbC9CaEM7RUFDQSxtQ3BCZzBCZ0M7RUVoM0JwQztBVHcrS0o7QTJCajdLSTtFQUNFO0VBQ0EsOERwQjArQmtDO0FQeThJeEM7QTJCOTZLSTtFQUNFO0EzQmc3S047QTJCNTZLRTs7RUFFRSxjcEIxRU87QVB3L0tYO0EyQjU2S0k7O0VBQ0Usd0NwQjB5QmtDO0FQcW9KeEM7O0E0QnRnTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1QnlnTEY7QTRCdmdMRTs7O0VBR0U7RUFDQTtFQUNBO0VBQ0E7QTVCeWdMSjtBNEJyZ0xFOzs7RUFHRTtBNUJ1Z0xKO0E0QmpnTEU7RUFDRTtFQUNBO0E1Qm1nTEo7QTRCamdMSTtFQUNFO0E1Qm1nTE47O0E0QngvS0E7RUFDRTtFQUNBO0VBQ0E7RXhCOE9JLG9CQUxJO0V3QnZPUixnQnJCeWpCNEI7RXFCeGpCNUIsaUJwQmtEaUI7RW9CakRqQiwyQnJCbTFCc0M7RXFCbDFCdEM7RUFDQTtFQUNBLHVDckIwNkJzQztFcUJ6NkJ0QztFbkJ0Q0U7QVRraUxKOztBNEJsL0tBOzs7O0VBSUU7RXhCd05JLGtCQUxJO0VLdlFOO0FUMmlMSjs7QTRCbC9LQTs7OztFQUlFO0V4QitNSSxtQkFMSTtFS3ZRTjtBVG9qTEo7O0E0QmwvS0E7O0VBRUU7QTVCcS9LRjs7QTRCeCtLSTs7OztFbkJqRUE7RUFDQTtBVGdqTEo7QTRCditLSTs7OztFbkIxRUE7RUFDQTtBVHVqTEo7QTRCaitLRTtFQUNFO0VuQjFFQTtFQUNBO0FUOGlMSjtBNEJqK0tFOztFbkI5RUU7RUFDQTtBVG1qTEo7O0E2QjNrTEU7RUFDRTtFQUNBO0VBQ0EsbUJ0QnUwQm9DO0VIcmtCbEMsa0JBTEk7RXlCMVBOLGlDdEJrakNxQjtBUDJoSnpCOztBNkIxa0xFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXpCcVBFLG1CQUxJO0V5QjdPTixXdEJxaUNxQjtFc0JwaUNyQixtQ3RCb2lDcUI7RUUvakNyQjtBVHdtTEo7O0E2QnhrTEk7Ozs7RUFFRTtBN0I2a0xOOztBNkI1bkxJO0VBcURFLCtDdEJ1aENtQjtFc0JwaENqQixrQ3RCODFCZ0M7RXNCNzFCaEM7RUFDQTtFQUNBO0VBQ0E7QTdCeWtMUjtBNkJ0a0xNO0VBQ0UsK0N0QjRnQ2lCO0VzQnZnQ2YsMkR0QnVnQ2U7QVA2akp6Qjs7QTZCem9MSTtFQStFSSxrQ3RCdTBCZ0M7RXNCdDBCaEM7QTdCOGpMUjs7QTZCOW9MSTtFQXVGRSwrQ3RCcS9CbUI7QVBza0p6QjtBNkJ4akxRO0VBRUU7RUFDQSxxQnRCcTVCOEI7RXNCcDVCOUI7RUFDQTtBN0J5akxWO0E2QnJqTE07RUFDRSwrQ3RCdytCaUI7RXNCbitCZiwyRHRCbStCZTtBUGdsSnpCOztBNkI1cExJO0VBa0hJO0E3QjhpTFI7O0E2QmhxTEk7RUF5SEUsK0N0Qm05Qm1CO0FQd2xKekI7QTZCemlMTTtFQUNFLDRDdEJnOUJpQjtBUDJsSnpCO0E2QnhpTE07RUFDRSwyRHRCNDhCaUI7QVA4bEp6QjtBNkJ2aUxNO0VBQ0UsaUN0Qnc4QmlCO0FQaW1KekI7O0E2QnBpTEk7RUFDRTtBN0J1aUxOOztBNkJqckxJOzs7OztFQW9KTTtBN0JxaUxWOztBNkJycUxFO0VBQ0U7RUFDQTtFQUNBLG1CdEJ1MEJvQztFSHJrQmxDLGtCQUxJO0V5QjFQTixtQ3RCa2pDcUI7QVBxbkp6Qjs7QTZCcHFMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V6QnFQRSxtQkFMSTtFeUI3T04sV3RCcWlDcUI7RXNCcGlDckIsa0N0Qm9pQ3FCO0VFL2pDckI7QVRrc0xKOztBNkJscUxJOzs7O0VBRUU7QTdCdXFMTjs7QTZCdHRMSTtFQXFERSxpRHRCdWhDbUI7RXNCcGhDakIsa0N0QjgxQmdDO0VzQjcxQmhDO0VBQ0E7RUFDQTtFQUNBO0E3Qm1xTFI7QTZCaHFMTTtFQUNFLGlEdEI0Z0NpQjtFc0J2Z0NmLDBEdEJ1Z0NlO0FQdXBKekI7O0E2Qm51TEk7RUErRUksa0N0QnUwQmdDO0VzQnQwQmhDO0E3QndwTFI7O0E2Qnh1TEk7RUF1RkUsaUR0QnEvQm1CO0FQZ3FKekI7QTZCbHBMUTtFQUVFO0VBQ0EscUJ0QnE1QjhCO0VzQnA1QjlCO0VBQ0E7QTdCbXBMVjtBNkIvb0xNO0VBQ0UsaUR0QncrQmlCO0VzQm4rQmYsMER0Qm0rQmU7QVAwcUp6Qjs7QTZCdHZMSTtFQWtISTtBN0J3b0xSOztBNkIxdkxJO0VBeUhFLGlEdEJtOUJtQjtBUGtySnpCO0E2Qm5vTE07RUFDRSw4Q3RCZzlCaUI7QVBxckp6QjtBNkJsb0xNO0VBQ0UsMER0QjQ4QmlCO0FQd3JKekI7QTZCam9MTTtFQUNFLG1DdEJ3OEJpQjtBUDJySnpCOztBNkI5bkxJO0VBQ0U7QTdCaW9MTjs7QTZCM3dMSTs7Ozs7RUFzSk07QTdCNm5MVjs7QThCaHhMQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0E5Qjh3TEY7O0E4QnZ3TEE7RUFDRTtFQUNBO0VBQ0E7RUFFQTtBOUJ5d0xGO0E4QnR3TEU7RVg1Q0ksbUNXNkNGO0VBQ0EsOEJ2Qms4Q2dDO0FQczBJcEM7QW1CbHpMTTtFV3dDSjtJWHZDTTtFbkJxekxOO0FBQ0Y7QThCM3dMRTtFQUNFLGV2Qmc4Q2dDO0FQNjBJcEM7QThCendMRTtFQUNFLHNCdkI2N0NnQztBUDgwSXBDOztBOEJ2d0xBO0VBQ0U7QTlCMHdMRjtBOEJ4d0xFO0VBQ0U7RUFDQTtBOUIwd0xKO0E4QnZ3TEU7RUFDRTtBOUJ5d0xKOztBOEJyd0xBO0VBQ0U7RUFDQTtFQUNBO0E5Qnd3TEY7O0E4QnB3TEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXJCckZFO0VxQnlGRjtBOUJvd0xGOztBOEJod0xBO0VBRUU7RUFDQTtFQUNBO0VDbEhBO0VBQ0E7RUFDQTtFQUNBLGtDRGtIMEI7RUNqSDFCO0VBQ0E7RUFDQSx1Q0QrRzREO0E5QnN3TDlEO0ErQmwzTEU7RUFBUztBL0JxM0xYO0ErQnAzTEU7RUFBUyxtQ0QyR2lGO0E5QjR3TDVGOztBOEJ2d0xBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFckJyR0U7RUFDQTtBVGczTEo7QThCendMRTtFQUNFO0VBQ0E7QTlCMndMSjs7QThCdHdMQTtFQUNFO0VBQ0E7QTlCeXdMRjs7QThCcHdMQTtFQUNFO0VBR0E7RUFDQTtBOUJxd0xGOztBOEJqd0xBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFckJ6SEU7RUFDQTtBVDgzTEo7QThCaHdMRTtFQUNFO0E5Qmt3TEo7O0FhNzJMSTtFaUJpSEY7SUFDRTtJQUNBO0U5Qmd3TEY7RThCNXZMQTtJQUNFO0lBQ0E7SUFDQTtFOUI4dkxGO0U4QjN2TEE7SUFDRTtFOUI2dkxGO0FBQ0Y7QWE1M0xJO0VpQm1JRjs7SUFFRTtFOUI0dkxGO0FBQ0Y7QWFsNExJO0VpQjBJRjtJQUNFO0U5QjJ2TEY7QUFDRjtBOEJsdkxJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTlCb3ZMTjtBOEJsdkxNO0VBQ0U7RUFDQTtFckJ6TUo7QVQ4N0xKO0E4Qmp2TE07O0VyQjdNRjtBVGs4TEo7QThCaHZMTTtFQUNFO0E5Qmt2TFI7O0FhNTRMSTtFaUJ3SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFOUJ3d0xKO0U4QnR3TEk7SUFDRTtJQUNBO0lyQnpNSjtFVGs5TEY7RThCcndMSTs7SXJCN01GO0VUczlMRjtFOEJwd0xJO0lBQ0U7RTlCc3dMTjtBQUNGO0FhajZMSTtFaUJ3SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFOUI0eExKO0U4QjF4TEk7SUFDRTtJQUNBO0lyQnpNSjtFVHMrTEY7RThCenhMSTs7SXJCN01GO0VUMCtMRjtFOEJ4eExJO0lBQ0U7RTlCMHhMTjtBQUNGO0FhcjdMSTtFaUJ3SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFOUJnekxKO0U4Qjl5TEk7SUFDRTtJQUNBO0lyQnpNSjtFVDAvTEY7RThCN3lMSTs7SXJCN01GO0VUOC9MRjtFOEI1eUxJO0lBQ0U7RTlCOHlMTjtBQUNGO0FhejhMSTtFaUJ3SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFOUJvMExKO0U4QmwwTEk7SUFDRTtJQUNBO0lyQnpNSjtFVDhnTUY7RThCajBMSTs7SXJCN01GO0VUa2hNRjtFOEJoMExJO0lBQ0U7RTlCazBMTjtBQUNGO0FhNzlMSTtFaUJ3SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFOUJ3MUxKO0U4QnQxTEk7SUFDRTtJQUNBO0lyQnpNSjtFVGtpTUY7RThCcjFMSTs7SXJCN01GO0VUc2lNRjtFOEJwMUxJO0lBQ0U7RTlCczFMTjtBQUNGO0FnQzdqTUE7RUFFRTtFQUNBO0U1QjRSSSwrQkFMSTtFNEJyUlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VDcEJBO0VBQ0E7QWpDaWxNRjs7QWdDMWpNQTtFQUNFO0VBQ0E7RUFDQTtFNUJnUUkseUNBTEk7RTRCelBSO0VBQ0E7RUFDQTtFQUNBO0VicEJJLHFJYXFCSjtBaEM2ak1GO0FtQjlrTU07RWFRTjtJYlBRO0VuQmlsTU47QUFDRjtBZ0Noa01FO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7QWhDaWtNSjtBZ0M5ak1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsVXpCMnVDZ0M7RXlCMXVDaEM7QWhDZ2tNSjtBZ0M3ak1FO0VBRUU7RUFDQTtFZHRERixnRGN1RHVCO0VBQ3JCO0FoQzhqTUo7QWdDM2pNRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0FoQzRqTUo7O0FnQ3ZqTUU7RUFDRSw4Q3pCOHNDZ0M7QVA0MkpwQztBZ0Nyak1NO0V2QjlCRjtFQUNBO0FUc2xNSjtBZ0Nuak1NO0V2QmxERjtFQUNBO0FUd21NSjs7QWdDdGlNQTtFRWxHRTtFQUNBO0U5QjBSSSxrQ0FMSTtFOEJuUlI7QWxDNG9NRjs7QWdDemlNQTtFRXRHRTtFQUNBO0U5QjBSSSxtQ0FMSTtFOEJuUlI7QWxDbXBNRjs7QW1DMXBNQTtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFL0IrUUkseUNBTEk7RStCeFFSO0VBQ0E7RTFCQUU7QVQwcE1KOztBbUNwcE1FO0VBQ0U7QW5DdXBNSjtBbUNycE1JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5DdXBNTjtBbUNucE1FO0VBQ0U7QW5DcXBNSjs7QW9DenJNQTs7Ozs7O0VBTUU7QXBDNHJNRjs7QW9DenJNQTtFQUNFO0FwQzRyTUY7QXFDcHFNSTtFQUNFO0VBQ0Esb0I5QjZoQndCO0U4QjVoQnhCLHVCOUIyaEJ3QjtFOEIxaEJ4QjtFQXJDSjtFQUNBO0VBQ0E7RUFDQTtBckM0c01GO0FxQ2xwTUk7RUFDRTtBckNvcE1OOztBb0Nsc01BO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFaEN1UUksNkJBTEk7RWdDaFFSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWhDME9JLHVDQUxJO0VnQ25PUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNCekNFO0FUNHVNSjtBb0Mvck1FO0VBQ0U7RUFDQTtFQUNBO0FwQ2lzTUo7O0FvQ3pxTUk7RUFDRTtBcEM0cU1OO0FvQzFxTU07RUFDRTtFQUNBO0FwQzRxTVI7O0FvQ3hxTUk7RUFDRTtBcEMycU1OO0FvQ3pxTU07RUFDRTtFQUNBO0FwQzJxTVI7O0FhcnRNSTtFdUI0QkE7SUFDRTtFcEM2ck1KO0VvQzNyTUk7SUFDRTtJQUNBO0VwQzZyTU47RW9DenJNRTtJQUNFO0VwQzJyTUo7RW9DenJNSTtJQUNFO0lBQ0E7RXBDMnJNTjtBQUNGO0FhdHVNSTtFdUI0QkE7SUFDRTtFcEM2c01KO0VvQzNzTUk7SUFDRTtJQUNBO0VwQzZzTU47RW9DenNNRTtJQUNFO0VwQzJzTUo7RW9DenNNSTtJQUNFO0lBQ0E7RXBDMnNNTjtBQUNGO0FhdHZNSTtFdUI0QkE7SUFDRTtFcEM2dE1KO0VvQzN0TUk7SUFDRTtJQUNBO0VwQzZ0TU47RW9DenRNRTtJQUNFO0VwQzJ0TUo7RW9DenRNSTtJQUNFO0lBQ0E7RXBDMnRNTjtBQUNGO0FhdHdNSTtFdUI0QkE7SUFDRTtFcEM2dU1KO0VvQzN1TUk7SUFDRTtJQUNBO0VwQzZ1TU47RW9DenVNRTtJQUNFO0VwQzJ1TUo7RW9DenVNSTtJQUNFO0lBQ0E7RXBDMnVNTjtBQUNGO0FhdHhNSTtFdUI0QkE7SUFDRTtFcEM2dk1KO0VvQzN2TUk7SUFDRTtJQUNBO0VwQzZ2TU47RW9DenZNRTtJQUNFO0VwQzJ2TUo7RW9DenZNSTtJQUNFO0lBQ0E7RXBDMnZNTjtBQUNGO0FvQ2x2TUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcENvdk1KO0FxQ3gwTUk7RUFDRTtFQUNBLG9COUI2aEJ3QjtFOEI1aEJ4Qix1QjlCMmhCd0I7RThCMWhCeEI7RUE5Qko7RUFDQTtFQUNBO0VBQ0E7QXJDeTJNRjtBcUN0ek1JO0VBQ0U7QXJDd3pNTjs7QW9DeHZNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBDMnZNSjtBcUM3MU1JO0VBQ0U7RUFDQSxvQjlCNmhCd0I7RThCNWhCeEIsdUI5QjJoQndCO0U4QjFoQnhCO0VBdkJKO0VBQ0E7RUFDQTtFQUNBO0FyQ3UzTUY7QXFDMzBNSTtFQUNFO0FyQzYwTU47QW9DbndNSTtFQUNFO0FwQ3F3TU47O0FvQy92TUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQ2t3TUo7QXFDcjNNSTtFQUNFO0VBQ0Esb0I5QjZoQndCO0U4QjVoQnhCLHVCOUIyaEJ3QjtFOEIxaEJ4QjtBckN1M01OO0FxQzUyTU07RUFDRTtBckM4Mk1SO0FxQzMyTU07RUFDRTtFQUNBLHFCOUIwZ0JzQjtFOEJ6Z0J0Qix1QjlCd2dCc0I7RThCdmdCdEI7RUFuQ047RUFDQTtFQUNBO0FyQ2k1TUY7QXFDMzJNSTtFQUNFO0FyQzYyTU47QW9DbHhNSTtFQUNFO0FwQ294TU47O0FvQzd3TUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQ2d4TUY7O0FvQzF3TUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCN0J5YjRCO0U2QnhiNUI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UzQnRLRTtBVG83TUo7QW9DM3dNRTtFQUVFO0VsQjFMRixrRGtCNEx1QjtBcEMyd016QjtBb0N4d01FO0VBRUU7RUFDQTtFbEJsTUYsbURrQm1NdUI7QXBDeXdNekI7QW9DdHdNRTtFQUVFO0VBQ0E7RUFDQTtBcEN1d01KOztBb0Nqd01BO0VBQ0U7QXBDb3dNRjs7QW9DaHdNQTtFQUNFO0VBQ0E7RUFDQTtFaENtRUksbUJBTEk7RWdDNURSO0VBQ0E7QXBDbXdNRjs7QW9DL3ZNQTtFQUNFO0VBQ0E7RUFDQTtBcENrd01GOztBb0M5dk1BO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQ2d3TUY7O0FzQ24vTUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDcS9NRjs7QXNDai9NQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWxDNFBJLGVBTEk7RWtDclBSO0VBQ0E7RUFDQTtFQUNBO0U3QnJCRTtFNkJ1QkY7RW5CMUJJLDBDbUIyQko7QXRDby9NRjtBbUIzZ05NO0VtQlVOO0luQlRRO0VuQjhnTk47QUFDRjtBc0N2L01FO0VBQ0U7RUFDQTtFQUNBO0F0Q3kvTUo7QXNDdi9NSTtFQUNFO0VBQ0E7QXRDeS9NTjtBc0NwL01FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbkJqREUsbURtQmtERjtBdENzL01KO0FtQnBpTk07RW1CcUNKO0luQnBDTTtFbkJ1aU5OO0FBQ0Y7QXNDeC9NRTtFQUNFO0F0QzAvTUo7QXNDdi9NRTtFQUNFO0VBQ0E7RUFDQTtBdEN5L01KOztBc0NyL01BO0VBQ0U7QXRDdy9NRjs7QXNDci9NQTtFQUNFO0VBQ0E7RUFDQTtBdEN3L01GO0FzQ3QvTUU7RTdCN0RFO0VBQ0E7QVRzak5KO0FzQ3YvTUk7RTdCaEVBO0VBQ0E7QVQwak5KO0FzQ3QvTUU7RUFDRTtBdEN3L01KO0FzQ3AvTUU7RTdCNURFO0VBQ0E7QVRtak5KO0FzQ3AvTU07RTdCaEVGO0VBQ0E7QVR1ak5KO0FzQ24vTUk7RTdCckVBO0VBQ0E7QVQyak5KOztBc0NqL01BO0VBQ0U7QXRDby9NRjs7QXNDMytNRTtFQUNFO0VBQ0E7RTdCOUdBO0FUNmxOSjtBc0M1K01JO0VBQWdCO0F0QysrTXBCO0FzQzkrTUk7RUFBZTtBdENpL01uQjtBc0M3K01NO0U3QnRIRjtBVHNtTko7QXNDeitNSTtFN0I3SEE7QVR5bU5KOztBc0NwK01JO0VBQ0U7RUFDQTtBdEN1K01OOztBdUNqb05BO0VwQmdCTSxnQ29CZko7QXZDb29ORjtBbUJqbk5NO0VvQnBCTjtJcEJxQlE7RW5Cb25OTjtBQUNGO0F1Q3ZvTkU7RUFDRTtBdkN5b05KOztBdUNub05FO0VBQ0U7QXZDc29OSjs7QXVDbG9OQTtFQUNFO0VBQ0E7RXBCREksNkJvQkVKO0F2Q3FvTkY7QW1Cbm9OTTtFb0JMTjtJcEJNUTtFbkJzb05OO0FBQ0Y7QXVDeG9ORTtFQUNFO0VBQ0E7RXBCTkUsNEJvQk9GO0F2QzBvTko7QW1CN29OTTtFb0JBSjtJcEJDTTtFbkJncE5OO0FBQ0Y7O0F3Q2xxTkE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RS9CSEU7QVRzcU5KOztBd0M5cE5BO0VBRUU7QXhDZ3FORjs7QXdDNXBOQTtFQUNFLGdCakM2a0I0QjtFaUM1a0I1QjtBeEMrcE5GOztBd0N2cE5BO0VBQ0UsbUJqQ3MrQzhCO0FQb3JLaEM7QXdDdnBORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhDeXBOSjs7QXdDanBORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4Q29wTko7O0F3Q3hwTkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEMycE5KOztBd0MvcE5FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhDa3FOSjs7QXdDdHFORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4Q3lxTko7O0F3QzdxTkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeENnck5KOztBd0Nwck5FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhDdXJOSjs7QXdDM3JORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4QzhyTko7O0F3Q2xzTkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeENxc05KOztBeUNod05BO0VBRUU7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekMrdk5GOztBeUM1dk5BO0VBQ0U7RUFDQTtFckNzUUksdUNBTEk7RXFDL1BSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXRCZkksdUdzQmdCSjtBekMrdk5GO0FtQjN3Tk07RXNCR047SXRCRlE7RW5COHdOTjtBQUNGO0F5Q2x3TkU7RUFFRTtBekNtd05KO0F5Qy92TkU7RUFDRTtFQUNBLDZDbENraEJvQjtBUCt1TXhCO0F5Qzd2TkU7RUFFRTtFQUNBO0VBQ0E7QXpDOHZOSjs7QXlDdHZOQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QXpDc3ZORjtBeUNwdk5FO0VBQ0U7RUFDQTtFaEM3Q0E7RUFDQTtBVG95Tko7QXlDcnZOSTtFQUdFO0VBQ0E7QXpDcXZOTjtBeUNqdk5FOztFQUVFO0VBQ0E7RUFDQTtBekNtdk5KO0F5Q2h2TkU7RUFFRTtFaENqRUE7RUFDQTtBVG16Tko7O0F5Q3h1TkE7RUFFRTtFQUNBO0VBQ0E7QXpDMHVORjtBeUN2dU5FO0VoQzVGRTtBVHMwTko7QXlDdHVORTs7RUFFRTtFdkJqSEYsb0R1QmtIdUI7QXpDd3VOekI7O0F5Qy90TkE7RUFFRTtFQUNBO0VBQ0E7RUFHQTtBekMrdE5GO0F5Qzd0TkU7RUFDRTtFQUNBO0VBQ0E7QXpDK3ROSjtBeUM3dE5JO0VBRUU7QXpDOHROTjtBeUMxdE5FOztFQUVFLGdCbEMwZDBCO0VrQ3pkMUI7RUFDQTtBekM0dE5KOztBeUNsdE5FOztFQUVFO0VBQ0E7QXpDcXROSjs7QXlDaHRORTs7RUFFRTtFQUNBO0VBQ0E7QXpDbXROSjs7QXlDN3NORTs7RUFDRTtBekNpdE5KOztBeUN2c05FO0VBQ0U7QXpDMHNOSjtBeUN4c05FO0VBQ0U7QXpDMHNOSjs7QTBDeDROQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBLG1CbENtRk87RWtDbEZQLG1CbkN1c0I0QjtFbUN0c0I1QjtBMUN3NE5GO0EwQ2o0TkU7RUFDRTtFQUVBO0VBQ0E7RUFDQSwyQ25DK3NCMEI7RW1DOXNCMUI7QTFDazROSjtBMEMvM05FO0VBQ0U7QTFDaTROSjtBMEM5M05FO0VBQ0U7QTFDZzROSjs7QTBDNTNOQTtFQUNFO0ExQyszTkY7O0EwQ3gzTkE7RUFDRTtBMUMyM05GOztBMENqM05FO0VBQ0U7QTFDbzNOSjs7QTBDcjJORTtFQUNFO0ExQ3cyTko7QTBDcjJOSTtFQUNFO0ExQ3UyTk47O0EwQ2gyTkU7RUFDRTtBMUNtMk5KO0EwQ2gyTkU7RUFDRTtBMUNrMk5KOztBMEN4MU5FO0VBQ0U7RUFDQTtBMUMyMU5KOztBMENyMU5FO0VBQ0U7RUFDQTtBMUN3MU5KOztBMENoMU5BO0VBQ0U7RUFDQTtBMUNtMU5GOztBMEMzME5FO0VBQ0U7RUFDQTtBMUM4ME5KOztBMkMxOU5FO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBM0NzOU5KOztBMkN4K05FO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBM0NvK05KOztBMkN0L05FO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBM0NrL05KOztBMkNwZ09FO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBM0NnZ09KOztBMkNsaE9FO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBM0M4Z09KOztBMkNoaU9FO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBM0M0aE9KOztBMkM5aU9FO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBM0MwaU9KOztBMkM1ak9FO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBM0N3ak9KOztBMEN2Nk5JO0VBQ0U7RUFDQTtBMUMwNk5OOztBYXJnT0k7RTZCeUZBO0lBQ0U7SUFDQTtFMUNnN05KO0FBQ0Y7QWE1Z09JO0U2QnlGQTtJQUNFO0lBQ0E7RTFDczdOSjtBQUNGO0FhbGhPSTtFNkJ5RkE7SUFDRTtJQUNBO0UxQzQ3Tko7QUFDRjtBYXhoT0k7RTZCeUZBO0lBQ0U7SUFDQTtFMUNrOE5KO0FBQ0Y7QWE5aE9JO0U2QnlGQTtJQUNFO0lBQ0E7RTFDdzhOSjtBQUNGO0FFL21PRTs7OztFQUFBO0FDREY7O0VBU0k7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBR0Y7RUFDQTtFQU1BO0VBQ0E7RUFDQTtFQU9BO0VDMk9JLHlCQUxJO0VEcE9SO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBTUE7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7QUg4bU9GOztBSzl0T0k7RUZzSEE7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0U7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBR0Y7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtBSDhtT0o7O0E0Q255T0U7RUFDRTtFQUNBO0VBQ0E7QTVDc3lPSjs7QTZDenlPRTtFQUNFO0VBQ0E7QTdDNHlPSjs7QTZDOXlPRTtFQUNFO0VBQ0E7QTdDaXpPSjs7QTZDbnpPRTtFQUNFO0VBQ0E7QTdDc3pPSjs7QTZDeHpPRTtFQUNFO0VBQ0E7QTdDMnpPSjs7QTZDN3pPRTtFQUNFO0VBQ0E7QTdDZzBPSjs7QTZDbDBPRTtFQUNFO0VBQ0E7QTdDcTBPSjs7QTZDdjBPRTtFQUNFO0VBQ0E7QTdDMDBPSjs7QTZDNTBPRTtFQUNFO0VBQ0E7QTdDKzBPSjs7QThDajFPRTtFQUNFO0VBQ0E7QTlDbzFPSjtBOENqMU9NO0VBR0U7RUFDQTtBOUNpMU9SOztBOEMxMU9FO0VBQ0U7RUFDQTtBOUM2MU9KO0E4QzExT007RUFHRTtFQUNBO0E5QzAxT1I7O0E4Q24yT0U7RUFDRTtFQUNBO0E5Q3MyT0o7QThDbjJPTTtFQUdFO0VBQ0E7QTlDbTJPUjs7QThDNTJPRTtFQUNFO0VBQ0E7QTlDKzJPSjtBOEM1Mk9NO0VBR0U7RUFDQTtBOUM0Mk9SOztBOENyM09FO0VBQ0U7RUFDQTtBOUN3M09KO0E4Q3IzT007RUFHRTtFQUNBO0E5Q3EzT1I7O0E4QzkzT0U7RUFDRTtFQUNBO0E5Q2k0T0o7QThDOTNPTTtFQUdFO0VBQ0E7QTlDODNPUjs7QThDdjRPRTtFQUNFO0VBQ0E7QTlDMDRPSjtBOEN2NE9NO0VBR0U7RUFDQTtBOUN1NE9SOztBOENoNU9FO0VBQ0U7RUFDQTtBOUNtNU9KO0E4Q2g1T007RUFHRTtFQUNBO0E5Q2c1T1I7O0E4Q3o0T0E7RUFDRTtFQUNBO0E5QzQ0T0Y7QThDejRPSTtFQUVFO0VBQ0E7QTlDMDRPTjs7QStDcDZPQTtFQUNFO0VBRUE7QS9DczZPRjs7QWdEejZPQTtFQUNFO0VBQ0EsYXpDNmM0QjtFeUM1YzVCO0VBQ0E7RUFDQSw2QnpDMmM0QjtFeUMxYzVCO0FoRDQ2T0Y7QWdEMTZPRTtFQUNFO0VBQ0EsVXpDdWMwQjtFeUN0YzFCLFd6Q3NjMEI7RXlDcmMxQjtFN0JJRSxzQzZCSEY7QWhENDZPSjtBbUJyNk9NO0U2QlpKO0k3QmFNO0VuQnc2T047QUFDRjs7QWdEMTZPSTtFQUNFO0FoRDY2T047O0FpRGg4T0E7RUFDRTtFQUNBO0FqRG04T0Y7QWlEajhPRTtFQUNFO0VBQ0E7RUFDQTtBakRtOE9KO0FpRGg4T0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRGs4T0o7O0FpRDc3T0U7RUFDRTtBakRnOE9KOztBaURqOE9FO0VBQ0U7QWpEbzhPSjs7QWlEcjhPRTtFQUNFO0FqRHc4T0o7O0FpRHo4T0U7RUFDRTtBakQ0OE9KOztBa0RqK09BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhM0N1bUNrQztBUDYzTXBDOztBa0RqK09BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhM0MrbENrQztBUHE0TXBDOztBa0Q1OU9JO0VBQ0U7RUFDQTtFQUNBLGEzQ21sQzhCO0FQNDRNcEM7O0FrRDU5T0k7RUFDRTtFQUNBO0VBQ0EsYTNDNmtDOEI7QVBrNU1wQzs7QWFoOE9JO0VxQ3hDQTtJQUNFO0lBQ0E7SUFDQSxhM0NtbEM4QjtFUHk1TWxDO0VrRHorT0U7SUFDRTtJQUNBO0lBQ0EsYTNDNmtDOEI7RVA4NU1sQztBQUNGO0FhNzhPSTtFcUN4Q0E7SUFDRTtJQUNBO0lBQ0EsYTNDbWxDOEI7RVBxNk1sQztFa0RyL09FO0lBQ0U7SUFDQTtJQUNBLGEzQzZrQzhCO0VQMDZNbEM7QUFDRjtBYXo5T0k7RXFDeENBO0lBQ0U7SUFDQTtJQUNBLGEzQ21sQzhCO0VQaTdNbEM7RWtEamdQRTtJQUNFO0lBQ0E7SUFDQSxhM0M2a0M4QjtFUHM3TWxDO0FBQ0Y7QWFyK09JO0VxQ3hDQTtJQUNFO0lBQ0E7SUFDQSxhM0NtbEM4QjtFUDY3TWxDO0VrRDdnUEU7SUFDRTtJQUNBO0lBQ0EsYTNDNmtDOEI7RVBrOE1sQztBQUNGO0Fhai9PSTtFcUN4Q0E7SUFDRTtJQUNBO0lBQ0EsYTNDbWxDOEI7RVB5OE1sQztFa0R6aFBFO0lBQ0U7SUFDQTtJQUNBLGEzQzZrQzhCO0VQODhNbEM7QUFDRjtBbUQzalBBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5ENmpQRjs7QW1EMWpQQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FuRDZqUEY7O0FvRHJrUEE7O0VDSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckRza1BGO0FxRG5rUEU7O0VBQ0U7QXJEc2tQSjs7QXNEcGxQRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxVL0NnY3NDO0UrQy9idEM7QXREdWxQSjs7QXVEL2xQQTtFQ0FFO0VBQ0E7RUFDQTtBeERtbVBGOztBeUR6bVBBO0VBQ0U7RUFDQTtFQUNBLDZCbERpc0I0QjtFa0Roc0I1QjtFQUNBO0VBQ0EsYWxEMnJCNEI7QVBpN045Qjs7QVVoalBRO0VBT0k7QVY2aVBaOztBVXBqUFE7RUFPSTtBVmlqUFo7O0FVeGpQUTtFQU9JO0FWcWpQWjs7QVU1alBRO0VBT0k7QVZ5alBaOztBVWhrUFE7RUFPSTtBVjZqUFo7O0FVcGtQUTtFQU9JO0FWaWtQWjs7QVV4a1BRO0VBT0k7QVZxa1BaOztBVTVrUFE7RUFPSTtBVnlrUFo7O0FVaGxQUTtFQU9JO0FWNmtQWjs7QVVwbFBRO0VBT0k7QVZpbFBaOztBVXhsUFE7RUFPSTtBVnFsUFo7O0FVNWxQUTtFQU9JO0FWeWxQWjs7QVVobVBRO0VBT0k7QVY2bFBaOztBVXBtUFE7RUFPSTtBVmltUFo7O0FVeG1QUTtFQU9JO0FWcW1QWjs7QVU1bVBRO0VBT0k7QVZ5bVBaOztBVWhuUFE7RUFPSTtBVjZtUFo7O0FVcG5QUTtFQU9JO0FWaW5QWjs7QVV4blBRO0VBT0k7QVZxblBaOztBVTVuUFE7RUFPSTtBVnluUFo7O0FVaG9QUTtFQU9JO0FWNm5QWjs7QVVwb1BRO0VBT0k7QVZpb1BaOztBVXhvUFE7RUFPSTtBVnFvUFo7O0FVNW9QUTtFQU9JO0FWeW9QWjs7QVVocFBRO0VBT0k7QVY2b1BaOztBVXBwUFE7RUFPSTtBVmlwUFo7O0FVeHBQUTtFQU9JO0FWcXBQWjs7QVU1cFBRO0VBT0k7QVZ5cFBaOztBVWhxUFE7RUFPSTtBVjZwUFo7O0FVcHFQUTtFQU9JO0FWaXFQWjs7QVV4cVBRO0VBT0k7QVZxcVBaOztBVTVxUFE7RUFPSTtBVnlxUFo7O0FVaHJQUTtFQU9JO0FWNnFQWjs7QVVwclBRO0VBT0k7QVZpclBaOztBVXhyUFE7RUFPSTtBVnFyUFo7O0FVNXJQUTtFQU9JO0FWeXJQWjs7QVVoc1BRO0VBT0k7QVY2clBaOztBVXBzUFE7RUFPSTtBVmlzUFo7O0FVeHNQUTtFQU9JO0FWcXNQWjs7QVU1c1BRO0VBT0k7QVZ5c1BaOztBVWh0UFE7RUFPSTtBVjZzUFo7O0FVcHRQUTtFQU9JO0FWaXRQWjs7QVV4dFBRO0VBT0k7QVZxdFBaOztBVTV0UFE7RUFPSTtBVnl0UFo7O0FVaHVQUTtFQU9JO0FWNnRQWjs7QVVwdVBRO0VBT0k7QVZpdVBaOztBVWx2UFE7RUFDRTtBVnF2UFY7O0FVdHZQUTtFQUNFO0FWeXZQVjs7QVUxdlBRO0VBQ0U7QVY2dlBWOztBVTl2UFE7RUFDRTtBVml3UFY7O0FVbHdQUTtFQUNFO0FWcXdQVjs7QVV0d1BRO0VBQ0U7QVZ5d1BWOztBVTF3UFE7RUFDRTtBVjZ3UFY7O0FVOXdQUTtFQUNFO0FWaXhQVjs7QVV4d1BRO0VBT0k7QVZxd1BaOztBVTV3UFE7RUFPSTtBVnl3UFo7O0FVaHhQUTtFQU9JO0FWNndQWjs7QVVweFBRO0VBT0k7QVZpeFBaOztBVXh4UFE7RUFPSTtBVnF4UFo7O0FVNXhQUTtFQU9JO0FWeXhQWjs7QVVoeVBRO0VBT0k7QVY2eFBaOztBVXB5UFE7RUFPSTtBVml5UFo7O0FVeHlQUTtFQU9JO0FWcXlQWjs7QVU1eVBRO0VBT0k7QVZ5eVBaOztBVWh6UFE7RUFPSTtBVjZ5UFo7O0FVcHpQUTtFQU9JO0FWaXpQWjs7QVV4elBRO0VBT0k7QVZxelBaOztBVTV6UFE7RUFPSTtBVnl6UFo7O0FVaDBQUTtFQU9JO0FWNnpQWjs7QVVwMFBRO0VBT0k7QVZpMFBaOztBVXgwUFE7RUFPSTtBVnEwUFo7O0FVNTBQUTtFQU9JO0FWeTBQWjs7QVVoMVBRO0VBT0k7QVY2MFBaOztBVXAxUFE7RUFPSTtBVmkxUFo7O0FVeDFQUTtFQU9JO0FWcTFQWjs7QVU1MVBRO0VBT0k7QVZ5MVBaOztBVWgyUFE7RUFPSTtBVjYxUFo7O0FVcDJQUTtFQU9JO0FWaTJQWjs7QVV4MlBRO0VBT0k7QVZxMlBaOztBVTUyUFE7RUFPSTtBVnkyUFo7O0FVaDNQUTtFQU9JO0FWNjJQWjs7QVVwM1BRO0VBT0k7QVZpM1BaOztBVXgzUFE7RUFPSTtBVnEzUFo7O0FVNTNQUTtFQU9JO0FWeTNQWjs7QVVoNFBRO0VBSVE7RUFHSjtBVjgzUFo7O0FVcjRQUTtFQUlRO0VBR0o7QVZtNFBaOztBVTE0UFE7RUFJUTtFQUdKO0FWdzRQWjs7QVUvNFBRO0VBSVE7RUFHSjtBVjY0UFo7O0FVcDVQUTtFQUlRO0VBR0o7QVZrNVBaOztBVXo1UFE7RUFJUTtFQUdKO0FWdTVQWjs7QVU5NVBRO0VBSVE7RUFHSjtBVjQ1UFo7O0FVbjZQUTtFQUlRO0VBR0o7QVZpNlBaOztBVXg2UFE7RUFJUTtFQUdKO0FWczZQWjs7QVU3NlBRO0VBSVE7RUFHSjtBVjI2UFo7O0FVbDdQUTtFQU9JO0FWKzZQWjs7QVV0N1BRO0VBT0k7QVZtN1BaOztBVTE3UFE7RUFPSTtBVnU3UFo7O0FVOTdQUTtFQU9JO0FWMjdQWjs7QVVsOFBRO0VBT0k7QVYrN1BaOztBVXQ4UFE7RUFPSTtBVm04UFo7O0FVMThQUTtFQU9JO0FWdThQWjs7QVU5OFBRO0VBT0k7QVYyOFBaOztBVWw5UFE7RUFPSTtBVis4UFo7O0FVdDlQUTtFQU9JO0FWbTlQWjs7QVUxOVBRO0VBT0k7QVZ1OVBaOztBVTk5UFE7RUFPSTtBVjI5UFo7O0FVbCtQUTtFQU9JO0FWKzlQWjs7QVVoL1BRO0VBQ0U7QVZtL1BWOztBVXAvUFE7RUFDRTtBVnUvUFY7O0FVeC9QUTtFQUNFO0FWMi9QVjs7QVU1L1BRO0VBQ0U7QVYrL1BWOztBVWhnUVE7RUFDRTtBVm1nUVY7O0FVMS9QUTtFQU9JO0FWdS9QWjs7QVU5L1BRO0VBT0k7QVYyL1BaOztBVWxnUVE7RUFPSTtBVisvUFo7O0FVdGdRUTtFQU9JO0FWbWdRWjs7QVUxZ1FRO0VBT0k7QVZ1Z1FaOztBVTlnUVE7RUFPSTtBVjJnUVo7O0FVbGhRUTtFQU9JO0FWK2dRWjs7QVV0aFFRO0VBT0k7QVZtaFFaOztBVTFoUVE7RUFPSTtBVnVoUVo7O0FVOWhRUTtFQU9JO0FWMmhRWjs7QVVsaVFRO0VBT0k7QVYraFFaOztBVXRpUVE7RUFPSTtBVm1pUVo7O0FVMWlRUTtFQU9JO0FWdWlRWjs7QVU5aVFRO0VBT0k7QVYyaVFaOztBVWxqUVE7RUFPSTtBVitpUVo7O0FVdGpRUTtFQU9JO0FWbWpRWjs7QVUxalFRO0VBT0k7QVZ1alFaOztBVTlqUVE7RUFPSTtBVjJqUVo7O0FVbGtRUTtFQU9JO0FWK2pRWjs7QVV0a1FRO0VBT0k7QVZta1FaOztBVTFrUVE7RUFPSTtBVnVrUVo7O0FVOWtRUTtFQU9JO0FWMmtRWjs7QVVsbFFRO0VBT0k7QVYra1FaOztBVXRsUVE7RUFPSTtBVm1sUVo7O0FVMWxRUTtFQU9JO0FWdWxRWjs7QVU5bFFRO0VBT0k7QVYybFFaOztBVWxtUVE7RUFPSTtBVitsUVo7O0FVdG1RUTtFQU9JO0FWbW1RWjs7QVUxbVFRO0VBT0k7QVZ1bVFaOztBVTltUVE7RUFPSTtBVjJtUVo7O0FVbG5RUTtFQU9JO0FWK21RWjs7QVV0blFRO0VBT0k7QVZtblFaOztBVTFuUVE7RUFPSTtBVnVuUVo7O0FVOW5RUTtFQU9JO0FWMm5RWjs7QVVsb1FRO0VBT0k7QVYrblFaOztBVXRvUVE7RUFPSTtBVm1vUVo7O0FVMW9RUTtFQU9JO0FWdW9RWjs7QVU5b1FRO0VBT0k7QVYyb1FaOztBVWxwUVE7RUFPSTtBVitvUVo7O0FVdHBRUTtFQU9JO0FWbXBRWjs7QVUxcFFRO0VBT0k7QVZ1cFFaOztBVTlwUVE7RUFPSTtBVjJwUVo7O0FVbHFRUTtFQU9JO0FWK3BRWjs7QVV0cVFRO0VBT0k7QVZtcVFaOztBVTFxUVE7RUFPSTtBVnVxUVo7O0FVOXFRUTtFQU9JO0FWMnFRWjs7QVVsclFRO0VBT0k7QVYrcVFaOztBVXRyUVE7RUFPSTtBVm1yUVo7O0FVMXJRUTtFQU9JO0FWdXJRWjs7QVU5clFRO0VBT0k7QVYyclFaOztBVWxzUVE7RUFPSTtBVityUVo7O0FVdHNRUTtFQU9JO0FWbXNRWjs7QVUxc1FRO0VBT0k7QVZ1c1FaOztBVTlzUVE7RUFPSTtBVjJzUVo7O0FVbHRRUTtFQU9JO0FWK3NRWjs7QVV0dFFRO0VBT0k7QVZtdFFaOztBVTF0UVE7RUFPSTtBVnV0UVo7O0FVOXRRUTtFQU9JO0FWMnRRWjs7QVVsdVFRO0VBT0k7QVYrdFFaOztBVXR1UVE7RUFPSTtBVm11UVo7O0FVMXVRUTtFQU9JO0FWdXVRWjs7QVU5dVFRO0VBT0k7QVYydVFaOztBVWx2UVE7RUFPSTtBVit1UVo7O0FVdHZRUTtFQU9JO0FWbXZRWjs7QVUxdlFRO0VBT0k7QVZ1dlFaOztBVTl2UVE7RUFPSTtBVjJ2UVo7O0FVbHdRUTtFQU9JO0VBQUE7QVZnd1FaOztBVXZ3UVE7RUFPSTtFQUFBO0FWcXdRWjs7QVU1d1FRO0VBT0k7RUFBQTtBVjB3UVo7O0FVanhRUTtFQU9JO0VBQUE7QVYrd1FaOztBVXR4UVE7RUFPSTtFQUFBO0FWb3hRWjs7QVUzeFFRO0VBT0k7RUFBQTtBVnl4UVo7O0FVaHlRUTtFQU9JO0VBQUE7QVY4eFFaOztBVXJ5UVE7RUFPSTtFQUFBO0FWbXlRWjs7QVUxeVFRO0VBT0k7RUFBQTtBVnd5UVo7O0FVL3lRUTtFQU9JO0VBQUE7QVY2eVFaOztBVXB6UVE7RUFPSTtFQUFBO0FWa3pRWjs7QVV6elFRO0VBT0k7RUFBQTtBVnV6UVo7O0FVOXpRUTtFQU9JO0VBQUE7QVY0elFaOztBVW4wUVE7RUFPSTtFQUFBO0FWaTBRWjs7QVV4MFFRO0VBT0k7QVZxMFFaOztBVTUwUVE7RUFPSTtBVnkwUVo7O0FVaDFRUTtFQU9JO0FWNjBRWjs7QVVwMVFRO0VBT0k7QVZpMVFaOztBVXgxUVE7RUFPSTtBVnExUVo7O0FVNTFRUTtFQU9JO0FWeTFRWjs7QVVoMlFRO0VBT0k7QVY2MVFaOztBVXAyUVE7RUFPSTtBVmkyUVo7O0FVeDJRUTtFQU9JO0FWcTJRWjs7QVU1MlFRO0VBT0k7QVZ5MlFaOztBVWgzUVE7RUFPSTtBVjYyUVo7O0FVcDNRUTtFQU9JO0FWaTNRWjs7QVV4M1FRO0VBT0k7QVZxM1FaOztBVTUzUVE7RUFPSTtBVnkzUVo7O0FVaDRRUTtFQU9JO0FWNjNRWjs7QVVwNFFRO0VBT0k7QVZpNFFaOztBVXg0UVE7RUFPSTtBVnE0UVo7O0FVNTRRUTtFQU9JO0FWeTRRWjs7QVVoNVFRO0VBT0k7QVY2NFFaOztBVXA1UVE7RUFPSTtBVmk1UVo7O0FVeDVRUTtFQU9JO0FWcTVRWjs7QVU1NVFRO0VBT0k7QVZ5NVFaOztBVWg2UVE7RUFPSTtBVjY1UVo7O0FVcDZRUTtFQU9JO0FWaTZRWjs7QVV4NlFRO0VBT0k7QVZxNlFaOztBVTU2UVE7RUFPSTtBVnk2UVo7O0FVaDdRUTtFQU9JO0FWNjZRWjs7QVVwN1FRO0VBT0k7QVZpN1FaOztBVXg3UVE7RUFPSTtBVnE3UVo7O0FVNTdRUTtFQU9JO0FWeTdRWjs7QVVoOFFRO0VBT0k7QVY2N1FaOztBVXA4UVE7RUFPSTtBVmk4UVo7O0FVeDhRUTtFQU9JO0FWcThRWjs7QVU1OFFRO0VBT0k7QVZ5OFFaOztBVWg5UVE7RUFPSTtFQUFBO0FWODhRWjs7QVVyOVFRO0VBT0k7RUFBQTtBVm05UVo7O0FVMTlRUTtFQU9JO0VBQUE7QVZ3OVFaOztBVS85UVE7RUFPSTtFQUFBO0FWNjlRWjs7QVVwK1FRO0VBT0k7RUFBQTtBVmsrUVo7O0FVeitRUTtFQU9JO0VBQUE7QVZ1K1FaOztBVTkrUVE7RUFPSTtFQUFBO0FWNCtRWjs7QVVuL1FRO0VBT0k7RUFBQTtBVmkvUVo7O0FVeC9RUTtFQU9JO0VBQUE7QVZzL1FaOztBVTcvUVE7RUFPSTtFQUFBO0FWMi9RWjs7QVVsZ1JRO0VBT0k7RUFBQTtBVmdnUlo7O0FVdmdSUTtFQU9JO0VBQUE7QVZxZ1JaOztBVTVnUlE7RUFPSTtBVnlnUlo7O0FVaGhSUTtFQU9JO0FWNmdSWjs7QVVwaFJRO0VBT0k7QVZpaFJaOztBVXhoUlE7RUFPSTtBVnFoUlo7O0FVNWhSUTtFQU9JO0FWeWhSWjs7QVVoaVJRO0VBT0k7QVY2aFJaOztBVXBpUlE7RUFPSTtBVmlpUlo7O0FVeGlSUTtFQU9JO0FWcWlSWjs7QVU1aVJRO0VBT0k7QVZ5aVJaOztBVWhqUlE7RUFPSTtBVjZpUlo7O0FVcGpSUTtFQU9JO0FWaWpSWjs7QVV4alJRO0VBT0k7QVZxalJaOztBVTVqUlE7RUFPSTtBVnlqUlo7O0FVaGtSUTtFQU9JO0FWNmpSWjs7QVVwa1JRO0VBT0k7QVZpa1JaOztBVXhrUlE7RUFPSTtBVnFrUlo7O0FVNWtSUTtFQU9JO0FWeWtSWjs7QVVobFJRO0VBT0k7QVY2a1JaOztBVXBsUlE7RUFPSTtBVmlsUlo7O0FVeGxSUTtFQU9JO0FWcWxSWjs7QVU1bFJRO0VBT0k7QVZ5bFJaOztBVWhtUlE7RUFPSTtBVjZsUlo7O0FVcG1SUTtFQU9JO0FWaW1SWjs7QVV4bVJRO0VBT0k7QVZxbVJaOztBVTVtUlE7RUFPSTtBVnltUlo7O0FVaG5SUTtFQU9JO0FWNm1SWjs7QVVwblJRO0VBT0k7QVZpblJaOztBVXhuUlE7RUFPSTtBVnFuUlo7O0FVNW5SUTtFQU9JO0FWeW5SWjs7QVVob1JRO0VBT0k7QVY2blJaOztBVXBvUlE7RUFPSTtBVmlvUlo7O0FVeG9SUTtFQU9JO0FWcW9SWjs7QVU1b1JRO0VBT0k7QVZ5b1JaOztBVWhwUlE7RUFPSTtBVjZvUlo7O0FVcHBSUTtFQU9JO0FWaXBSWjs7QVV4cFJRO0VBT0k7QVZxcFJaOztBVTVwUlE7RUFPSTtBVnlwUlo7O0FVaHFSUTtFQU9JO0FWNnBSWjs7QVVwcVJRO0VBT0k7QVZpcVJaOztBVXhxUlE7RUFPSTtBVnFxUlo7O0FVNXFSUTtFQU9JO0FWeXFSWjs7QVVoclJRO0VBT0k7QVY2cVJaOztBVXByUlE7RUFPSTtBVmlyUlo7O0FVeHJSUTtFQU9JO0FWcXJSWjs7QVU1clJRO0VBT0k7QVZ5clJaOztBVWhzUlE7RUFPSTtBVjZyUlo7O0FVcHNSUTtFQU9JO0FWaXNSWjs7QVV4c1JRO0VBT0k7QVZxc1JaOztBVTVzUlE7RUFPSTtBVnlzUlo7O0FVaHRSUTtFQU9JO0FWNnNSWjs7QVVwdFJRO0VBT0k7QVZpdFJaOztBVXh0UlE7RUFPSTtBVnF0Ulo7O0FVNXRSUTtFQU9JO0FWeXRSWjs7QVVodVJRO0VBT0k7QVY2dFJaOztBVXB1UlE7RUFPSTtBVml1Ulo7O0FVeHVSUTtFQU9JO0FWcXVSWjs7QVU1dVJRO0VBT0k7QVZ5dVJaOztBVWh2UlE7RUFPSTtBVjZ1Ulo7O0FVcHZSUTtFQU9JO0FWaXZSWjs7QVV4dlJRO0VBT0k7QVZxdlJaOztBVTV2UlE7RUFPSTtBVnl2Ulo7O0FVaHdSUTtFQU9JO0FWNnZSWjs7QVVwd1JRO0VBT0k7QVZpd1JaOztBVXh3UlE7RUFPSTtBVnF3Ulo7O0FVNXdSUTtFQU9JO0FWeXdSWjs7QVVoeFJRO0VBT0k7QVY2d1JaOztBVXB4UlE7RUFPSTtBVml4Ulo7O0FVeHhSUTtFQU9JO0FWcXhSWjs7QVU1eFJRO0VBT0k7QVZ5eFJaOztBVWh5UlE7RUFPSTtBVjZ4Ulo7O0FVcHlSUTtFQU9JO0FWaXlSWjs7QVV4eVJRO0VBT0k7QVZxeVJaOztBVTV5UlE7RUFPSTtBVnl5Ulo7O0FVOXpSUTtBQWNBO0VBT0k7RUFBQTtBVit5Ulo7O0FVNXhSUTtBQTFCQTtFQUlRO0VBR0o7QVZxelJaOztBVTV6UlE7RUFJUTtFQUdKO0FWMHpSWjs7QVVqMFJRO0VBSVE7RUFHSjtBVit6Ulo7O0FVdDBSUTtFQUlRO0VBR0o7QVZvMFJaOztBVTMwUlE7RUFJUTtFQUdKO0FWeTBSWjs7QVVoMVJRO0VBSVE7RUFHSjtBVjgwUlo7O0FVcjFSUTtFQUlRO0VBR0o7QVZtMVJaOztBVTExUlE7RUFJUTtFQUdKO0FWdzFSWjs7QVUvMVJRO0VBSVE7RUFHSjtBVjYxUlo7O0FVcDJSUTtFQUlRO0VBR0o7QVZrMlJaOztBVXoyUlE7RUFJUTtFQUdKO0FWdTJSWjs7QVU5MlJRO0VBSVE7RUFHSjtBVjQyUlo7O0FVbjNSUTtFQUlRO0VBR0o7QVZpM1JaOztBVXgzUlE7RUFJUTtFQUdKO0FWczNSWjs7QVU3M1JRO0VBSVE7RUFHSjtBVjIzUlo7O0FVbDRSUTtFQUlRO0VBR0o7QVZnNFJaOztBVXY0UlE7RUFJUTtFQUdKO0FWcTRSWjs7QVU1NFJRO0VBSVE7RUFHSjtBVjA0Ulo7O0FVMzVSUTtFQUNFO0FWODVSVjs7QVUvNVJRO0VBQ0U7QVZrNlJWOztBVW42UlE7RUFDRTtBVnM2UlY7O0FVdjZSUTtFQUNFO0FWMDZSVjs7QVVqNlJRO0VBT0k7QVY4NVJaOztBVXI2UlE7RUFPSTtBVms2Ulo7O0FVejZSUTtFQU9JO0FWczZSWjs7QVU3NlJRO0VBT0k7QVYwNlJaOztBVWo3UlE7RUFPSTtBVjg2Ulo7O0FVcjdSUTtFQU9JO0FWazdSWjs7QVV6N1JRO0VBT0k7QVZzN1JaOztBVTc3UlE7RUFPSTtBVjA3Ulo7O0FVMzhSUTtFQUNFO0FWODhSVjs7QVUxOFJVO0VBQ0U7QVY2OFJaOztBVW45UlE7RUFDRTtBVnM5UlY7O0FVbDlSVTtFQUNFO0FWcTlSWjs7QVUzOVJRO0VBQ0U7QVY4OVJWOztBVTE5UlU7RUFDRTtBVjY5Ulo7O0FVbitSUTtFQUNFO0FWcytSVjs7QVVsK1JVO0VBQ0U7QVZxK1JaOztBVTMrUlE7RUFDRTtBVjgrUlY7O0FVMStSVTtFQUNFO0FWNitSWjs7QVV6K1JRO0VBT0k7QVZzK1JaOztBVWorUlU7RUFPSTtBVjg5UmQ7O0FVai9SUTtFQU9JO0FWOCtSWjs7QVV6K1JVO0VBT0k7QVZzK1JkOztBVXovUlE7RUFPSTtBVnMvUlo7O0FVai9SVTtFQU9JO0FWOCtSZDs7QVVqZ1NRO0VBSVE7RUFHSjtBVisvUlo7O0FVdGdTUTtFQUlRO0VBR0o7QVZvZ1NaOztBVTNnU1E7RUFJUTtFQUdKO0FWeWdTWjs7QVVoaFNRO0VBSVE7RUFHSjtBVjhnU1o7O0FVcmhTUTtFQUlRO0VBR0o7QVZtaFNaOztBVTFoU1E7RUFJUTtFQUdKO0FWd2hTWjs7QVUvaFNRO0VBSVE7RUFHSjtBVjZoU1o7O0FVcGlTUTtFQUlRO0VBR0o7QVZraVNaOztBVXppU1E7RUFJUTtFQUdKO0FWdWlTWjs7QVV4alNRO0VBQ0U7QVYyalNWOztBVXZqU1U7RUFDRTtBVjBqU1o7O0FVaGtTUTtFQUNFO0FWbWtTVjs7QVUvalNVO0VBQ0U7QVZra1NaOztBVXhrU1E7RUFDRTtBVjJrU1Y7O0FVdmtTVTtFQUNFO0FWMGtTWjs7QVVobFNRO0VBQ0U7QVZtbFNWOztBVS9rU1U7RUFDRTtBVmtsU1o7O0FVeGxTUTtFQUNFO0FWMmxTVjs7QVV2bFNVO0VBQ0U7QVYwbFNaOztBVWhtU1E7RUFDRTtBVm1tU1Y7O0FVL2xTVTtFQUNFO0FWa21TWjs7QVU5bFNRO0VBSVE7RUFHSjtBVjRsU1o7O0FVbm1TUTtFQUlRO0VBR0o7QVZpbVNaOztBVXhtU1E7RUFJUTtFQUdKO0FWc21TWjs7QVU3bVNRO0VBSVE7RUFHSjtBVjJtU1o7O0FVbG5TUTtFQUlRO0VBR0o7QVZnblNaOztBVXZuU1E7RUFJUTtFQUdKO0FWcW5TWjs7QVU1blNRO0VBSVE7RUFHSjtBVjBuU1o7O0FVam9TUTtFQUlRO0VBR0o7QVYrblNaOztBVXRvU1E7RUFJUTtFQUdKO0FWb29TWjs7QVUzb1NRO0VBSVE7RUFHSjtBVnlvU1o7O0FVaHBTUTtFQUlRO0VBR0o7QVY4b1NaOztBVXJwU1E7RUFJUTtFQUdKO0FWbXBTWjs7QVUxcFNRO0VBSVE7RUFHSjtBVndwU1o7O0FVL3BTUTtFQUlRO0VBR0o7QVY2cFNaOztBVTlxU1E7RUFDRTtBVmlyU1Y7O0FVbHJTUTtFQUNFO0FWcXJTVjs7QVV0clNRO0VBQ0U7QVZ5clNWOztBVTFyU1E7RUFDRTtBVjZyU1Y7O0FVOXJTUTtFQUNFO0FWaXNTVjs7QVV4clNRO0VBT0k7QVZxclNaOztBVTVyU1E7RUFPSTtBVnlyU1o7O0FVaHNTUTtFQU9JO0FWNnJTWjs7QVVwc1NRO0VBT0k7QVZpc1NaOztBVXhzU1E7RUFPSTtBVnFzU1o7O0FVNXNTUTtFQU9JO0FWeXNTWjs7QVVodFNRO0VBT0k7QVY2c1NaOztBVXB0U1E7RUFPSTtBVml0U1o7O0FVeHRTUTtFQU9JO0FWcXRTWjs7QVU1dFNRO0VBT0k7QVZ5dFNaOztBVWh1U1E7RUFPSTtBVjZ0U1o7O0FVcHVTUTtFQU9JO0FWaXVTWjs7QVV4dVNRO0VBT0k7QVZxdVNaOztBVTV1U1E7RUFPSTtBVnl1U1o7O0FVaHZTUTtFQU9JO0FWNnVTWjs7QVVwdlNRO0VBT0k7QVZpdlNaOztBVXh2U1E7RUFPSTtBVnF2U1o7O0FVNXZTUTtFQU9JO0FWeXZTWjs7QVVod1NRO0VBT0k7QVY2dlNaOztBVXB3U1E7RUFPSTtBVml3U1o7O0FVeHdTUTtFQU9JO0FWcXdTWjs7QVU1d1NRO0VBT0k7QVZ5d1NaOztBVWh4U1E7RUFPSTtBVjZ3U1o7O0FVcHhTUTtFQU9JO0VBQUE7QVZreFNaOztBVXp4U1E7RUFPSTtFQUFBO0FWdXhTWjs7QVU5eFNRO0VBT0k7RUFBQTtBVjR4U1o7O0FVbnlTUTtFQU9JO0VBQUE7QVZpeVNaOztBVXh5U1E7RUFPSTtFQUFBO0FWc3lTWjs7QVU3eVNRO0VBT0k7RUFBQTtBVjJ5U1o7O0FVbHpTUTtFQU9JO0VBQUE7QVZnelNaOztBVXZ6U1E7RUFPSTtFQUFBO0FWcXpTWjs7QVU1elNRO0VBT0k7RUFBQTtBVjB6U1o7O0FVajBTUTtFQU9JO0VBQUE7QVYrelNaOztBVXQwU1E7RUFPSTtFQUFBO0FWbzBTWjs7QVUzMFNRO0VBT0k7RUFBQTtBVnkwU1o7O0FVaDFTUTtFQU9JO0VBQUE7QVY4MFNaOztBVXIxU1E7RUFPSTtFQUFBO0FWbTFTWjs7QVUxMVNRO0VBT0k7RUFBQTtBVncxU1o7O0FVLzFTUTtFQU9JO0VBQUE7QVY2MVNaOztBVXAyU1E7RUFPSTtFQUFBO0FWazJTWjs7QVV6MlNRO0VBT0k7RUFBQTtBVnUyU1o7O0FVOTJTUTtFQU9JO0VBQUE7QVY0MlNaOztBVW4zU1E7RUFPSTtFQUFBO0FWaTNTWjs7QVV4M1NRO0VBT0k7RUFBQTtBVnMzU1o7O0FVNzNTUTtFQU9JO0VBQUE7QVYyM1NaOztBVWw0U1E7RUFPSTtFQUFBO0FWZzRTWjs7QVV2NFNRO0VBT0k7RUFBQTtBVnE0U1o7O0FVNTRTUTtFQU9JO0VBQUE7QVYwNFNaOztBVWo1U1E7RUFPSTtFQUFBO0FWKzRTWjs7QVV0NVNRO0VBT0k7RUFBQTtBVm81U1o7O0FVMzVTUTtFQU9JO0VBQUE7QVZ5NVNaOztBVWg2U1E7RUFPSTtFQUFBO0FWODVTWjs7QVVyNlNRO0VBT0k7RUFBQTtBVm02U1o7O0FVMTZTUTtFQU9JO0VBQUE7QVZ3NlNaOztBVS82U1E7RUFPSTtFQUFBO0FWNjZTWjs7QVVwN1NRO0VBT0k7RUFBQTtBVms3U1o7O0FVejdTUTtFQU9JO0VBQUE7QVZ1N1NaOztBVTk3U1E7RUFPSTtFQUFBO0FWNDdTWjs7QVVuOFNRO0VBT0k7RUFBQTtBVmk4U1o7O0FVeDhTUTtFQU9JO0FWcThTWjs7QVU1OFNRO0VBT0k7QVZ5OFNaOztBVWg5U1E7RUFPSTtBVjY4U1o7O0FVcDlTUTtFQU9JO0FWaTlTWjs7QVV4OVNRO0VBT0k7QVZxOVNaOztBVTU5U1E7RUFPSTtBVnk5U1o7O0FVaCtTUTtFQU9JO0FWNjlTWjs7QWF2K1NJO0VIR0k7SUFPSTtFVmsrU1Y7RVV6K1NNO0lBT0k7RVZxK1NWO0VVNStTTTtJQU9JO0VWdytTVjtFVS8rU007SUFPSTtFVjIrU1Y7RVVsL1NNO0lBT0k7RVY4K1NWO0VVci9TTTtJQU9JO0VWaS9TVjtFVXgvU007SUFPSTtFVm8vU1Y7RVUzL1NNO0lBT0k7RVZ1L1NWO0VVOS9TTTtJQU9JO0VWMC9TVjtFVWpnVE07SUFPSTtFVjYvU1Y7RVVwZ1RNO0lBT0k7RVZnZ1RWO0VVdmdUTTtJQU9JO0VWbWdUVjtFVTFnVE07SUFPSTtFVnNnVFY7RVU3Z1RNO0lBT0k7RVZ5Z1RWO0VVaGhUTTtJQU9JO0VWNGdUVjtFVW5oVE07SUFPSTtFVitnVFY7RVV0aFRNO0lBT0k7RVZraFRWO0VVemhUTTtJQU9JO0VWcWhUVjtFVTVoVE07SUFPSTtFVndoVFY7RVUvaFRNO0lBT0k7RVYyaFRWO0VVbGlUTTtJQU9JO0VWOGhUVjtFVXJpVE07SUFPSTtFVmlpVFY7RVV4aVRNO0lBT0k7RVZvaVRWO0VVM2lUTTtJQU9JO0VWdWlUVjtFVTlpVE07SUFPSTtFVjBpVFY7RVVqalRNO0lBT0k7RVY2aVRWO0VVcGpUTTtJQU9JO0VWZ2pUVjtFVXZqVE07SUFPSTtFVm1qVFY7RVUxalRNO0lBT0k7RVZzalRWO0VVN2pUTTtJQU9JO0VWeWpUVjtFVWhrVE07SUFPSTtFVjRqVFY7RVVua1RNO0lBT0k7RVYralRWO0VVdGtUTTtJQU9JO0VWa2tUVjtFVXprVE07SUFPSTtFVnFrVFY7RVU1a1RNO0lBT0k7RVZ3a1RWO0VVL2tUTTtJQU9JO0VWMmtUVjtFVWxsVE07SUFPSTtFVjhrVFY7RVVybFRNO0lBT0k7RVZpbFRWO0VVeGxUTTtJQU9JO0VWb2xUVjtFVTNsVE07SUFPSTtFVnVsVFY7RVU5bFRNO0lBT0k7RVYwbFRWO0VVam1UTTtJQU9JO0VWNmxUVjtFVXBtVE07SUFPSTtFVmdtVFY7RVV2bVRNO0lBT0k7RVZtbVRWO0VVMW1UTTtJQU9JO0VWc21UVjtFVTdtVE07SUFPSTtFVnltVFY7RVVoblRNO0lBT0k7RVY0bVRWO0VVbm5UTTtJQU9JO0VWK21UVjtFVXRuVE07SUFPSTtFVmtuVFY7RVV6blRNO0lBT0k7RVZxblRWO0VVNW5UTTtJQU9JO0VWd25UVjtFVS9uVE07SUFPSTtFVjJuVFY7RVVsb1RNO0lBT0k7RVY4blRWO0VVcm9UTTtJQU9JO0VWaW9UVjtFVXhvVE07SUFPSTtFVm9vVFY7RVUzb1RNO0lBT0k7RVZ1b1RWO0VVOW9UTTtJQU9JO0VWMG9UVjtFVWpwVE07SUFPSTtFVjZvVFY7RVVwcFRNO0lBT0k7RVZncFRWO0VVdnBUTTtJQU9JO0VWbXBUVjtFVTFwVE07SUFPSTtFVnNwVFY7RVU3cFRNO0lBT0k7RVZ5cFRWO0VVaHFUTTtJQU9JO0VWNHBUVjtFVW5xVE07SUFPSTtFVitwVFY7RVV0cVRNO0lBT0k7RVZrcVRWO0VVenFUTTtJQU9JO0VWcXFUVjtFVTVxVE07SUFPSTtFVndxVFY7RVUvcVRNO0lBT0k7RVYycVRWO0VVbHJUTTtJQU9JO0VWOHFUVjtFVXJyVE07SUFPSTtJQUFBO0VWa3JUVjtFVXpyVE07SUFPSTtJQUFBO0VWc3JUVjtFVTdyVE07SUFPSTtJQUFBO0VWMHJUVjtFVWpzVE07SUFPSTtJQUFBO0VWOHJUVjtFVXJzVE07SUFPSTtJQUFBO0VWa3NUVjtFVXpzVE07SUFPSTtJQUFBO0VWc3NUVjtFVTdzVE07SUFPSTtJQUFBO0VWMHNUVjtFVWp0VE07SUFPSTtJQUFBO0VWOHNUVjtFVXJ0VE07SUFPSTtJQUFBO0VWa3RUVjtFVXp0VE07SUFPSTtJQUFBO0VWc3RUVjtFVTd0VE07SUFPSTtJQUFBO0VWMHRUVjtFVWp1VE07SUFPSTtJQUFBO0VWOHRUVjtFVXJ1VE07SUFPSTtJQUFBO0VWa3VUVjtFVXp1VE07SUFPSTtJQUFBO0VWc3VUVjtFVTd1VE07SUFPSTtFVnl1VFY7RVVodlRNO0lBT0k7RVY0dVRWO0VVbnZUTTtJQU9JO0VWK3VUVjtFVXR2VE07SUFPSTtFVmt2VFY7RVV6dlRNO0lBT0k7RVZxdlRWO0VVNXZUTTtJQU9JO0VWd3ZUVjtFVS92VE07SUFPSTtFVjJ2VFY7RVVsd1RNO0lBT0k7RVY4dlRWO0VVcndUTTtJQU9JO0VWaXdUVjtFVXh3VE07SUFPSTtFVm93VFY7RVUzd1RNO0lBT0k7RVZ1d1RWO0VVOXdUTTtJQU9JO0VWMHdUVjtFVWp4VE07SUFPSTtFVjZ3VFY7RVVweFRNO0lBT0k7RVZneFRWO0VVdnhUTTtJQU9JO0VWbXhUVjtFVTF4VE07SUFPSTtFVnN4VFY7RVU3eFRNO0lBT0k7RVZ5eFRWO0VVaHlUTTtJQU9JO0VWNHhUVjtFVW55VE07SUFPSTtFVit4VFY7RVV0eVRNO0lBT0k7RVZreVRWO0VVenlUTTtJQU9JO0VWcXlUVjtFVTV5VE07SUFPSTtFVnd5VFY7RVUveVRNO0lBT0k7RVYyeVRWO0VVbHpUTTtJQU9JO0VWOHlUVjtFVXJ6VE07SUFPSTtFVml6VFY7RVV4elRNO0lBT0k7RVZvelRWO0VVM3pUTTtJQU9JO0VWdXpUVjtFVTl6VE07SUFPSTtFVjB6VFY7RVVqMFRNO0lBT0k7RVY2elRWO0VVcDBUTTtJQU9JO0VWZzBUVjtFVXYwVE07SUFPSTtFVm0wVFY7RVUxMFRNO0lBT0k7RVZzMFRWO0VVNzBUTTtJQU9JO0VWeTBUVjtFVWgxVE07SUFPSTtFVjQwVFY7RVVuMVRNO0lBT0k7SUFBQTtFVmcxVFY7RVV2MVRNO0lBT0k7SUFBQTtFVm8xVFY7RVUzMVRNO0lBT0k7SUFBQTtFVncxVFY7RVUvMVRNO0lBT0k7SUFBQTtFVjQxVFY7RVVuMlRNO0lBT0k7SUFBQTtFVmcyVFY7RVV2MlRNO0lBT0k7SUFBQTtFVm8yVFY7RVUzMlRNO0lBT0k7SUFBQTtFVncyVFY7RVUvMlRNO0lBT0k7SUFBQTtFVjQyVFY7RVVuM1RNO0lBT0k7SUFBQTtFVmczVFY7RVV2M1RNO0lBT0k7SUFBQTtFVm8zVFY7RVUzM1RNO0lBT0k7SUFBQTtFVnczVFY7RVUvM1RNO0lBT0k7SUFBQTtFVjQzVFY7RVVuNFRNO0lBT0k7RVYrM1RWO0VVdDRUTTtJQU9JO0VWazRUVjtFVXo0VE07SUFPSTtFVnE0VFY7RVU1NFRNO0lBT0k7RVZ3NFRWO0VVLzRUTTtJQU9JO0VWMjRUVjtFVWw1VE07SUFPSTtFVjg0VFY7RVVyNVRNO0lBT0k7RVZpNVRWO0VVeDVUTTtJQU9JO0VWbzVUVjtFVTM1VE07SUFPSTtFVnU1VFY7RVU5NVRNO0lBT0k7RVYwNVRWO0VVajZUTTtJQU9JO0VWNjVUVjtFVXA2VE07SUFPSTtFVmc2VFY7RVV2NlRNO0lBT0k7RVZtNlRWO0VVMTZUTTtJQU9JO0VWczZUVjtFVTc2VE07SUFPSTtFVnk2VFY7RVVoN1RNO0lBT0k7RVY0NlRWO0VVbjdUTTtJQU9JO0VWKzZUVjtFVXQ3VE07SUFPSTtFVms3VFY7RVV6N1RNO0lBT0k7RVZxN1RWO0VVNTdUTTtJQU9JO0VWdzdUVjtFVS83VE07SUFPSTtFVjI3VFY7RVVsOFRNO0lBT0k7RVY4N1RWO0VVcjhUTTtJQU9JO0VWaThUVjtFVXg4VE07SUFPSTtFVm84VFY7RVUzOFRNO0lBT0k7RVZ1OFRWO0VVOThUTTtJQU9JO0VWMDhUVjtFVWo5VE07SUFPSTtFVjY4VFY7RVVwOVRNO0lBT0k7RVZnOVRWO0VVdjlUTTtJQU9JO0VWbTlUVjtFVTE5VE07SUFPSTtFVnM5VFY7RVU3OVRNO0lBT0k7RVZ5OVRWO0VVaCtUTTtJQU9JO0VWNDlUVjtFVW4rVE07SUFPSTtFVis5VFY7RVV0K1RNO0lBT0k7RVZrK1RWO0VVeitUTTtJQU9JO0VWcStUVjtFVTUrVE07SUFPSTtFVncrVFY7RVUvK1RNO0lBT0k7RVYyK1RWO0VVbC9UTTtJQU9JO0VWOCtUVjtFVXIvVE07SUFPSTtFVmkvVFY7RVV4L1RNO0lBT0k7RVZvL1RWO0VVMy9UTTtJQU9JO0VWdS9UVjtFVTkvVE07SUFPSTtFVjAvVFY7RVVqZ1VNO0lBT0k7RVY2L1RWO0VVcGdVTTtJQU9JO0VWZ2dVVjtFVXZnVU07SUFPSTtFVm1nVVY7QUFDRjtBYTlnVUk7RUhHSTtJQU9JO0VWd2dVVjtFVS9nVU07SUFPSTtFVjJnVVY7RVVsaFVNO0lBT0k7RVY4Z1VWO0VVcmhVTTtJQU9JO0VWaWhVVjtFVXhoVU07SUFPSTtFVm9oVVY7RVUzaFVNO0lBT0k7RVZ1aFVWO0VVOWhVTTtJQU9JO0VWMGhVVjtFVWppVU07SUFPSTtFVjZoVVY7RVVwaVVNO0lBT0k7RVZnaVVWO0VVdmlVTTtJQU9JO0VWbWlVVjtFVTFpVU07SUFPSTtFVnNpVVY7RVU3aVVNO0lBT0k7RVZ5aVVWO0VVaGpVTTtJQU9JO0VWNGlVVjtFVW5qVU07SUFPSTtFVitpVVY7RVV0alVNO0lBT0k7RVZralVWO0VVempVTTtJQU9JO0VWcWpVVjtFVTVqVU07SUFPSTtFVndqVVY7RVUvalVNO0lBT0k7RVYyalVWO0VVbGtVTTtJQU9JO0VWOGpVVjtFVXJrVU07SUFPSTtFVmlrVVY7RVV4a1VNO0lBT0k7RVZva1VWO0VVM2tVTTtJQU9JO0VWdWtVVjtFVTlrVU07SUFPSTtFVjBrVVY7RVVqbFVNO0lBT0k7RVY2a1VWO0VVcGxVTTtJQU9JO0VWZ2xVVjtFVXZsVU07SUFPSTtFVm1sVVY7RVUxbFVNO0lBT0k7RVZzbFVWO0VVN2xVTTtJQU9JO0VWeWxVVjtFVWhtVU07SUFPSTtFVjRsVVY7RVVubVVNO0lBT0k7RVYrbFVWO0VVdG1VTTtJQU9JO0VWa21VVjtFVXptVU07SUFPSTtFVnFtVVY7RVU1bVVNO0lBT0k7RVZ3bVVWO0VVL21VTTtJQU9JO0VWMm1VVjtFVWxuVU07SUFPSTtFVjhtVVY7RVVyblVNO0lBT0k7RVZpblVWO0VVeG5VTTtJQU9JO0VWb25VVjtFVTNuVU07SUFPSTtFVnVuVVY7RVU5blVNO0lBT0k7RVYwblVWO0VVam9VTTtJQU9JO0VWNm5VVjtFVXBvVU07SUFPSTtFVmdvVVY7RVV2b1VNO0lBT0k7RVZtb1VWO0VVMW9VTTtJQU9JO0VWc29VVjtFVTdvVU07SUFPSTtFVnlvVVY7RVVocFVNO0lBT0k7RVY0b1VWO0VVbnBVTTtJQU9JO0VWK29VVjtFVXRwVU07SUFPSTtFVmtwVVY7RVV6cFVNO0lBT0k7RVZxcFVWO0VVNXBVTTtJQU9JO0VWd3BVVjtFVS9wVU07SUFPSTtFVjJwVVY7RVVscVVNO0lBT0k7RVY4cFVWO0VVcnFVTTtJQU9JO0VWaXFVVjtFVXhxVU07SUFPSTtFVm9xVVY7RVUzcVVNO0lBT0k7RVZ1cVVWO0VVOXFVTTtJQU9JO0VWMHFVVjtFVWpyVU07SUFPSTtFVjZxVVY7RVVwclVNO0lBT0k7RVZnclVWO0VVdnJVTTtJQU9JO0VWbXJVVjtFVTFyVU07SUFPSTtFVnNyVVY7RVU3clVNO0lBT0k7RVZ5clVWO0VVaHNVTTtJQU9JO0VWNHJVVjtFVW5zVU07SUFPSTtFVityVVY7RVV0c1VNO0lBT0k7RVZrc1VWO0VVenNVTTtJQU9JO0VWcXNVVjtFVTVzVU07SUFPSTtFVndzVVY7RVUvc1VNO0lBT0k7RVYyc1VWO0VVbHRVTTtJQU9JO0VWOHNVVjtFVXJ0VU07SUFPSTtFVml0VVY7RVV4dFVNO0lBT0k7RVZvdFVWO0VVM3RVTTtJQU9JO0lBQUE7RVZ3dFVWO0VVL3RVTTtJQU9JO0lBQUE7RVY0dFVWO0VVbnVVTTtJQU9JO0lBQUE7RVZndVVWO0VVdnVVTTtJQU9JO0lBQUE7RVZvdVVWO0VVM3VVTTtJQU9JO0lBQUE7RVZ3dVVWO0VVL3VVTTtJQU9JO0lBQUE7RVY0dVVWO0VVbnZVTTtJQU9JO0lBQUE7RVZndlVWO0VVdnZVTTtJQU9JO0lBQUE7RVZvdlVWO0VVM3ZVTTtJQU9JO0lBQUE7RVZ3dlVWO0VVL3ZVTTtJQU9JO0lBQUE7RVY0dlVWO0VVbndVTTtJQU9JO0lBQUE7RVZnd1VWO0VVdndVTTtJQU9JO0lBQUE7RVZvd1VWO0VVM3dVTTtJQU9JO0lBQUE7RVZ3d1VWO0VVL3dVTTtJQU9JO0lBQUE7RVY0d1VWO0VVbnhVTTtJQU9JO0VWK3dVVjtFVXR4VU07SUFPSTtFVmt4VVY7RVV6eFVNO0lBT0k7RVZxeFVWO0VVNXhVTTtJQU9JO0VWd3hVVjtFVS94VU07SUFPSTtFVjJ4VVY7RVVseVVNO0lBT0k7RVY4eFVWO0VVcnlVTTtJQU9JO0VWaXlVVjtFVXh5VU07SUFPSTtFVm95VVY7RVUzeVVNO0lBT0k7RVZ1eVVWO0VVOXlVTTtJQU9JO0VWMHlVVjtFVWp6VU07SUFPSTtFVjZ5VVY7RVVwelVNO0lBT0k7RVZnelVWO0VVdnpVTTtJQU9JO0VWbXpVVjtFVTF6VU07SUFPSTtFVnN6VVY7RVU3elVNO0lBT0k7RVZ5elVWO0VVaDBVTTtJQU9JO0VWNHpVVjtFVW4wVU07SUFPSTtFVit6VVY7RVV0MFVNO0lBT0k7RVZrMFVWO0VVejBVTTtJQU9JO0VWcTBVVjtFVTUwVU07SUFPSTtFVncwVVY7RVUvMFVNO0lBT0k7RVYyMFVWO0VVbDFVTTtJQU9JO0VWODBVVjtFVXIxVU07SUFPSTtFVmkxVVY7RVV4MVVNO0lBT0k7RVZvMVVWO0VVMzFVTTtJQU9JO0VWdTFVVjtFVTkxVU07SUFPSTtFVjAxVVY7RVVqMlVNO0lBT0k7RVY2MVVWO0VVcDJVTTtJQU9JO0VWZzJVVjtFVXYyVU07SUFPSTtFVm0yVVY7RVUxMlVNO0lBT0k7RVZzMlVWO0VVNzJVTTtJQU9JO0VWeTJVVjtFVWgzVU07SUFPSTtFVjQyVVY7RVVuM1VNO0lBT0k7RVYrMlVWO0VVdDNVTTtJQU9JO0VWazNVVjtFVXozVU07SUFPSTtJQUFBO0VWczNVVjtFVTczVU07SUFPSTtJQUFBO0VWMDNVVjtFVWo0VU07SUFPSTtJQUFBO0VWODNVVjtFVXI0VU07SUFPSTtJQUFBO0VWazRVVjtFVXo0VU07SUFPSTtJQUFBO0VWczRVVjtFVTc0VU07SUFPSTtJQUFBO0VWMDRVVjtFVWo1VU07SUFPSTtJQUFBO0VWODRVVjtFVXI1VU07SUFPSTtJQUFBO0VWazVVVjtFVXo1VU07SUFPSTtJQUFBO0VWczVVVjtFVTc1VU07SUFPSTtJQUFBO0VWMDVVVjtFVWo2VU07SUFPSTtJQUFBO0VWODVVVjtFVXI2VU07SUFPSTtJQUFBO0VWazZVVjtFVXo2VU07SUFPSTtFVnE2VVY7RVU1NlVNO0lBT0k7RVZ3NlVWO0VVLzZVTTtJQU9JO0VWMjZVVjtFVWw3VU07SUFPSTtFVjg2VVY7RVVyN1VNO0lBT0k7RVZpN1VWO0VVeDdVTTtJQU9JO0VWbzdVVjtFVTM3VU07SUFPSTtFVnU3VVY7RVU5N1VNO0lBT0k7RVYwN1VWO0VVajhVTTtJQU9JO0VWNjdVVjtFVXA4VU07SUFPSTtFVmc4VVY7RVV2OFVNO0lBT0k7RVZtOFVWO0VVMThVTTtJQU9JO0VWczhVVjtFVTc4VU07SUFPSTtFVnk4VVY7RVVoOVVNO0lBT0k7RVY0OFVWO0VVbjlVTTtJQU9JO0VWKzhVVjtFVXQ5VU07SUFPSTtFVms5VVY7RVV6OVVNO0lBT0k7RVZxOVVWO0VVNTlVTTtJQU9JO0VWdzlVVjtFVS85VU07SUFPSTtFVjI5VVY7RVVsK1VNO0lBT0k7RVY4OVVWO0VVcitVTTtJQU9JO0VWaStVVjtFVXgrVU07SUFPSTtFVm8rVVY7RVUzK1VNO0lBT0k7RVZ1K1VWO0VVOStVTTtJQU9JO0VWMCtVVjtFVWovVU07SUFPSTtFVjYrVVY7RVVwL1VNO0lBT0k7RVZnL1VWO0VVdi9VTTtJQU9JO0VWbS9VVjtFVTEvVU07SUFPSTtFVnMvVVY7RVU3L1VNO0lBT0k7RVZ5L1VWO0VVaGdWTTtJQU9JO0VWNC9VVjtFVW5nVk07SUFPSTtFVisvVVY7RVV0Z1ZNO0lBT0k7RVZrZ1ZWO0VVemdWTTtJQU9JO0VWcWdWVjtFVTVnVk07SUFPSTtFVndnVlY7RVUvZ1ZNO0lBT0k7RVYyZ1ZWO0VVbGhWTTtJQU9JO0VWOGdWVjtFVXJoVk07SUFPSTtFVmloVlY7RVV4aFZNO0lBT0k7RVZvaFZWO0VVM2hWTTtJQU9JO0VWdWhWVjtFVTloVk07SUFPSTtFVjBoVlY7RVVqaVZNO0lBT0k7RVY2aFZWO0VVcGlWTTtJQU9JO0VWZ2lWVjtFVXZpVk07SUFPSTtFVm1pVlY7RVUxaVZNO0lBT0k7RVZzaVZWO0VVN2lWTTtJQU9JO0VWeWlWVjtBQUNGO0FhcGpWSTtFSEdJO0lBT0k7RVY4aVZWO0VVcmpWTTtJQU9JO0VWaWpWVjtFVXhqVk07SUFPSTtFVm9qVlY7RVUzalZNO0lBT0k7RVZ1alZWO0VVOWpWTTtJQU9JO0VWMGpWVjtFVWprVk07SUFPSTtFVjZqVlY7RVVwa1ZNO0lBT0k7RVZna1ZWO0VVdmtWTTtJQU9JO0VWbWtWVjtFVTFrVk07SUFPSTtFVnNrVlY7RVU3a1ZNO0lBT0k7RVZ5a1ZWO0VVaGxWTTtJQU9JO0VWNGtWVjtFVW5sVk07SUFPSTtFVitrVlY7RVV0bFZNO0lBT0k7RVZrbFZWO0VVemxWTTtJQU9JO0VWcWxWVjtFVTVsVk07SUFPSTtFVndsVlY7RVUvbFZNO0lBT0k7RVYybFZWO0VVbG1WTTtJQU9JO0VWOGxWVjtFVXJtVk07SUFPSTtFVmltVlY7RVV4bVZNO0lBT0k7RVZvbVZWO0VVM21WTTtJQU9JO0VWdW1WVjtFVTltVk07SUFPSTtFVjBtVlY7RVVqblZNO0lBT0k7RVY2bVZWO0VVcG5WTTtJQU9JO0VWZ25WVjtFVXZuVk07SUFPSTtFVm1uVlY7RVUxblZNO0lBT0k7RVZzblZWO0VVN25WTTtJQU9JO0VWeW5WVjtFVWhvVk07SUFPSTtFVjRuVlY7RVVub1ZNO0lBT0k7RVYrblZWO0VVdG9WTTtJQU9JO0VWa29WVjtFVXpvVk07SUFPSTtFVnFvVlY7RVU1b1ZNO0lBT0k7RVZ3b1ZWO0VVL29WTTtJQU9JO0VWMm9WVjtFVWxwVk07SUFPSTtFVjhvVlY7RVVycFZNO0lBT0k7RVZpcFZWO0VVeHBWTTtJQU9JO0VWb3BWVjtFVTNwVk07SUFPSTtFVnVwVlY7RVU5cFZNO0lBT0k7RVYwcFZWO0VVanFWTTtJQU9JO0VWNnBWVjtFVXBxVk07SUFPSTtFVmdxVlY7RVV2cVZNO0lBT0k7RVZtcVZWO0VVMXFWTTtJQU9JO0VWc3FWVjtFVTdxVk07SUFPSTtFVnlxVlY7RVVoclZNO0lBT0k7RVY0cVZWO0VVbnJWTTtJQU9JO0VWK3FWVjtFVXRyVk07SUFPSTtFVmtyVlY7RVV6clZNO0lBT0k7RVZxclZWO0VVNXJWTTtJQU9JO0VWd3JWVjtFVS9yVk07SUFPSTtFVjJyVlY7RVVsc1ZNO0lBT0k7RVY4clZWO0VVcnNWTTtJQU9JO0VWaXNWVjtFVXhzVk07SUFPSTtFVm9zVlY7RVUzc1ZNO0lBT0k7RVZ1c1ZWO0VVOXNWTTtJQU9JO0VWMHNWVjtFVWp0Vk07SUFPSTtFVjZzVlY7RVVwdFZNO0lBT0k7RVZndFZWO0VVdnRWTTtJQU9JO0VWbXRWVjtFVTF0Vk07SUFPSTtFVnN0VlY7RVU3dFZNO0lBT0k7RVZ5dFZWO0VVaHVWTTtJQU9JO0VWNHRWVjtFVW51Vk07SUFPSTtFVit0VlY7RVV0dVZNO0lBT0k7RVZrdVZWO0VVenVWTTtJQU9JO0VWcXVWVjtFVTV1Vk07SUFPSTtFVnd1VlY7RVUvdVZNO0lBT0k7RVYydVZWO0VVbHZWTTtJQU9JO0VWOHVWVjtFVXJ2Vk07SUFPSTtFVml2VlY7RVV4dlZNO0lBT0k7RVZvdlZWO0VVM3ZWTTtJQU9JO0VWdXZWVjtFVTl2Vk07SUFPSTtFVjB2VlY7RVVqd1ZNO0lBT0k7SUFBQTtFVjh2VlY7RVVyd1ZNO0lBT0k7SUFBQTtFVmt3VlY7RVV6d1ZNO0lBT0k7SUFBQTtFVnN3VlY7RVU3d1ZNO0lBT0k7SUFBQTtFVjB3VlY7RVVqeFZNO0lBT0k7SUFBQTtFVjh3VlY7RVVyeFZNO0lBT0k7SUFBQTtFVmt4VlY7RVV6eFZNO0lBT0k7SUFBQTtFVnN4VlY7RVU3eFZNO0lBT0k7SUFBQTtFVjB4VlY7RVVqeVZNO0lBT0k7SUFBQTtFVjh4VlY7RVVyeVZNO0lBT0k7SUFBQTtFVmt5VlY7RVV6eVZNO0lBT0k7SUFBQTtFVnN5VlY7RVU3eVZNO0lBT0k7SUFBQTtFVjB5VlY7RVVqelZNO0lBT0k7SUFBQTtFVjh5VlY7RVVyelZNO0lBT0k7SUFBQTtFVmt6VlY7RVV6elZNO0lBT0k7RVZxelZWO0VVNXpWTTtJQU9JO0VWd3pWVjtFVS96Vk07SUFPSTtFVjJ6VlY7RVVsMFZNO0lBT0k7RVY4elZWO0VVcjBWTTtJQU9JO0VWaTBWVjtFVXgwVk07SUFPSTtFVm8wVlY7RVUzMFZNO0lBT0k7RVZ1MFZWO0VVOTBWTTtJQU9JO0VWMDBWVjtFVWoxVk07SUFPSTtFVjYwVlY7RVVwMVZNO0lBT0k7RVZnMVZWO0VVdjFWTTtJQU9JO0VWbTFWVjtFVTExVk07SUFPSTtFVnMxVlY7RVU3MVZNO0lBT0k7RVZ5MVZWO0VVaDJWTTtJQU9JO0VWNDFWVjtFVW4yVk07SUFPSTtFVisxVlY7RVV0MlZNO0lBT0k7RVZrMlZWO0VVejJWTTtJQU9JO0VWcTJWVjtFVTUyVk07SUFPSTtFVncyVlY7RVUvMlZNO0lBT0k7RVYyMlZWO0VVbDNWTTtJQU9JO0VWODJWVjtFVXIzVk07SUFPSTtFVmkzVlY7RVV4M1ZNO0lBT0k7RVZvM1ZWO0VVMzNWTTtJQU9JO0VWdTNWVjtFVTkzVk07SUFPSTtFVjAzVlY7RVVqNFZNO0lBT0k7RVY2M1ZWO0VVcDRWTTtJQU9JO0VWZzRWVjtFVXY0Vk07SUFPSTtFVm00VlY7RVUxNFZNO0lBT0k7RVZzNFZWO0VVNzRWTTtJQU9JO0VWeTRWVjtFVWg1Vk07SUFPSTtFVjQ0VlY7RVVuNVZNO0lBT0k7RVYrNFZWO0VVdDVWTTtJQU9JO0VWazVWVjtFVXo1Vk07SUFPSTtFVnE1VlY7RVU1NVZNO0lBT0k7RVZ3NVZWO0VVLzVWTTtJQU9JO0lBQUE7RVY0NVZWO0VVbjZWTTtJQU9JO0lBQUE7RVZnNlZWO0VVdjZWTTtJQU9JO0lBQUE7RVZvNlZWO0VVMzZWTTtJQU9JO0lBQUE7RVZ3NlZWO0VVLzZWTTtJQU9JO0lBQUE7RVY0NlZWO0VVbjdWTTtJQU9JO0lBQUE7RVZnN1ZWO0VVdjdWTTtJQU9JO0lBQUE7RVZvN1ZWO0VVMzdWTTtJQU9JO0lBQUE7RVZ3N1ZWO0VVLzdWTTtJQU9JO0lBQUE7RVY0N1ZWO0VVbjhWTTtJQU9JO0lBQUE7RVZnOFZWO0VVdjhWTTtJQU9JO0lBQUE7RVZvOFZWO0VVMzhWTTtJQU9JO0lBQUE7RVZ3OFZWO0VVLzhWTTtJQU9JO0VWMjhWVjtFVWw5Vk07SUFPSTtFVjg4VlY7RVVyOVZNO0lBT0k7RVZpOVZWO0VVeDlWTTtJQU9JO0VWbzlWVjtFVTM5Vk07SUFPSTtFVnU5VlY7RVU5OVZNO0lBT0k7RVYwOVZWO0VVaitWTTtJQU9JO0VWNjlWVjtFVXArVk07SUFPSTtFVmcrVlY7RVV2K1ZNO0lBT0k7RVZtK1ZWO0VVMStWTTtJQU9JO0VWcytWVjtFVTcrVk07SUFPSTtFVnkrVlY7RVVoL1ZNO0lBT0k7RVY0K1ZWO0VVbi9WTTtJQU9JO0VWKytWVjtFVXQvVk07SUFPSTtFVmsvVlY7RVV6L1ZNO0lBT0k7RVZxL1ZWO0VVNS9WTTtJQU9JO0VWdy9WVjtFVS8vVk07SUFPSTtFVjIvVlY7RVVsZ1dNO0lBT0k7RVY4L1ZWO0VVcmdXTTtJQU9JO0VWaWdXVjtFVXhnV007SUFPSTtFVm9nV1Y7RVUzZ1dNO0lBT0k7RVZ1Z1dWO0VVOWdXTTtJQU9JO0VWMGdXVjtFVWpoV007SUFPSTtFVjZnV1Y7RVVwaFdNO0lBT0k7RVZnaFdWO0VVdmhXTTtJQU9JO0VWbWhXVjtFVTFoV007SUFPSTtFVnNoV1Y7RVU3aFdNO0lBT0k7RVZ5aFdWO0VVaGlXTTtJQU9JO0VWNGhXVjtFVW5pV007SUFPSTtFVitoV1Y7RVV0aVdNO0lBT0k7RVZraVdWO0VVemlXTTtJQU9JO0VWcWlXVjtFVTVpV007SUFPSTtFVndpV1Y7RVUvaVdNO0lBT0k7RVYyaVdWO0VVbGpXTTtJQU9JO0VWOGlXVjtFVXJqV007SUFPSTtFVmlqV1Y7RVV4aldNO0lBT0k7RVZvaldWO0VVM2pXTTtJQU9JO0VWdWpXVjtFVTlqV007SUFPSTtFVjBqV1Y7RVVqa1dNO0lBT0k7RVY2aldWO0VVcGtXTTtJQU9JO0VWZ2tXVjtFVXZrV007SUFPSTtFVm1rV1Y7RVUxa1dNO0lBT0k7RVZza1dWO0VVN2tXTTtJQU9JO0VWeWtXVjtFVWhsV007SUFPSTtFVjRrV1Y7RVVubFdNO0lBT0k7RVYra1dWO0FBQ0Y7QWExbFdJO0VIR0k7SUFPSTtFVm9sV1Y7RVUzbFdNO0lBT0k7RVZ1bFdWO0VVOWxXTTtJQU9JO0VWMGxXVjtFVWptV007SUFPSTtFVjZsV1Y7RVVwbVdNO0lBT0k7RVZnbVdWO0VVdm1XTTtJQU9JO0VWbW1XVjtFVTFtV007SUFPSTtFVnNtV1Y7RVU3bVdNO0lBT0k7RVZ5bVdWO0VVaG5XTTtJQU9JO0VWNG1XVjtFVW5uV007SUFPSTtFVittV1Y7RVV0bldNO0lBT0k7RVZrbldWO0VVem5XTTtJQU9JO0VWcW5XVjtFVTVuV007SUFPSTtFVnduV1Y7RVUvbldNO0lBT0k7RVYybldWO0VVbG9XTTtJQU9JO0VWOG5XVjtFVXJvV007SUFPSTtFVmlvV1Y7RVV4b1dNO0lBT0k7RVZvb1dWO0VVM29XTTtJQU9JO0VWdW9XVjtFVTlvV007SUFPSTtFVjBvV1Y7RVVqcFdNO0lBT0k7RVY2b1dWO0VVcHBXTTtJQU9JO0VWZ3BXVjtFVXZwV007SUFPSTtFVm1wV1Y7RVUxcFdNO0lBT0k7RVZzcFdWO0VVN3BXTTtJQU9JO0VWeXBXVjtFVWhxV007SUFPSTtFVjRwV1Y7RVVucVdNO0lBT0k7RVYrcFdWO0VVdHFXTTtJQU9JO0VWa3FXVjtFVXpxV007SUFPSTtFVnFxV1Y7RVU1cVdNO0lBT0k7RVZ3cVdWO0VVL3FXTTtJQU9JO0VWMnFXVjtFVWxyV007SUFPSTtFVjhxV1Y7RVVycldNO0lBT0k7RVZpcldWO0VVeHJXTTtJQU9JO0VWb3JXVjtFVTNyV007SUFPSTtFVnVyV1Y7RVU5cldNO0lBT0k7RVYwcldWO0VVanNXTTtJQU9JO0VWNnJXVjtFVXBzV007SUFPSTtFVmdzV1Y7RVV2c1dNO0lBT0k7RVZtc1dWO0VVMXNXTTtJQU9JO0VWc3NXVjtFVTdzV007SUFPSTtFVnlzV1Y7RVVodFdNO0lBT0k7RVY0c1dWO0VVbnRXTTtJQU9JO0VWK3NXVjtFVXR0V007SUFPSTtFVmt0V1Y7RVV6dFdNO0lBT0k7RVZxdFdWO0VVNXRXTTtJQU9JO0VWd3RXVjtFVS90V007SUFPSTtFVjJ0V1Y7RVVsdVdNO0lBT0k7RVY4dFdWO0VVcnVXTTtJQU9JO0VWaXVXVjtFVXh1V007SUFPSTtFVm91V1Y7RVUzdVdNO0lBT0k7RVZ1dVdWO0VVOXVXTTtJQU9JO0VWMHVXVjtFVWp2V007SUFPSTtFVjZ1V1Y7RVVwdldNO0lBT0k7RVZndldWO0VVdnZXTTtJQU9JO0VWbXZXVjtFVTF2V007SUFPSTtFVnN2V1Y7RVU3dldNO0lBT0k7RVZ5dldWO0VVaHdXTTtJQU9JO0VWNHZXVjtFVW53V007SUFPSTtFVit2V1Y7RVV0d1dNO0lBT0k7RVZrd1dWO0VVendXTTtJQU9JO0VWcXdXVjtFVTV3V007SUFPSTtFVnd3V1Y7RVUvd1dNO0lBT0k7RVYyd1dWO0VVbHhXTTtJQU9JO0VWOHdXVjtFVXJ4V007SUFPSTtFVml4V1Y7RVV4eFdNO0lBT0k7RVZveFdWO0VVM3hXTTtJQU9JO0VWdXhXVjtFVTl4V007SUFPSTtFVjB4V1Y7RVVqeVdNO0lBT0k7RVY2eFdWO0VVcHlXTTtJQU9JO0VWZ3lXVjtFVXZ5V007SUFPSTtJQUFBO0VWb3lXVjtFVTN5V007SUFPSTtJQUFBO0VWd3lXVjtFVS95V007SUFPSTtJQUFBO0VWNHlXVjtFVW56V007SUFPSTtJQUFBO0VWZ3pXVjtFVXZ6V007SUFPSTtJQUFBO0VWb3pXVjtFVTN6V007SUFPSTtJQUFBO0VWd3pXVjtFVS96V007SUFPSTtJQUFBO0VWNHpXVjtFVW4wV007SUFPSTtJQUFBO0VWZzBXVjtFVXYwV007SUFPSTtJQUFBO0VWbzBXVjtFVTMwV007SUFPSTtJQUFBO0VWdzBXVjtFVS8wV007SUFPSTtJQUFBO0VWNDBXVjtFVW4xV007SUFPSTtJQUFBO0VWZzFXVjtFVXYxV007SUFPSTtJQUFBO0VWbzFXVjtFVTMxV007SUFPSTtJQUFBO0VWdzFXVjtFVS8xV007SUFPSTtFVjIxV1Y7RVVsMldNO0lBT0k7RVY4MVdWO0VVcjJXTTtJQU9JO0VWaTJXVjtFVXgyV007SUFPSTtFVm8yV1Y7RVUzMldNO0lBT0k7RVZ1MldWO0VVOTJXTTtJQU9JO0VWMDJXVjtFVWozV007SUFPSTtFVjYyV1Y7RVVwM1dNO0lBT0k7RVZnM1dWO0VVdjNXTTtJQU9JO0VWbTNXVjtFVTEzV007SUFPSTtFVnMzV1Y7RVU3M1dNO0lBT0k7RVZ5M1dWO0VVaDRXTTtJQU9JO0VWNDNXVjtFVW40V007SUFPSTtFViszV1Y7RVV0NFdNO0lBT0k7RVZrNFdWO0VVejRXTTtJQU9JO0VWcTRXVjtFVTU0V007SUFPSTtFVnc0V1Y7RVUvNFdNO0lBT0k7RVYyNFdWO0VVbDVXTTtJQU9JO0VWODRXVjtFVXI1V007SUFPSTtFVmk1V1Y7RVV4NVdNO0lBT0k7RVZvNVdWO0VVMzVXTTtJQU9JO0VWdTVXVjtFVTk1V007SUFPSTtFVjA1V1Y7RVVqNldNO0lBT0k7RVY2NVdWO0VVcDZXTTtJQU9JO0VWZzZXVjtFVXY2V007SUFPSTtFVm02V1Y7RVUxNldNO0lBT0k7RVZzNldWO0VVNzZXTTtJQU9JO0VWeTZXVjtFVWg3V007SUFPSTtFVjQ2V1Y7RVVuN1dNO0lBT0k7RVYrNldWO0VVdDdXTTtJQU9JO0VWazdXVjtFVXo3V007SUFPSTtFVnE3V1Y7RVU1N1dNO0lBT0k7RVZ3N1dWO0VVLzdXTTtJQU9JO0VWMjdXVjtFVWw4V007SUFPSTtFVjg3V1Y7RVVyOFdNO0lBT0k7SUFBQTtFVms4V1Y7RVV6OFdNO0lBT0k7SUFBQTtFVnM4V1Y7RVU3OFdNO0lBT0k7SUFBQTtFVjA4V1Y7RVVqOVdNO0lBT0k7SUFBQTtFVjg4V1Y7RVVyOVdNO0lBT0k7SUFBQTtFVms5V1Y7RVV6OVdNO0lBT0k7SUFBQTtFVnM5V1Y7RVU3OVdNO0lBT0k7SUFBQTtFVjA5V1Y7RVVqK1dNO0lBT0k7SUFBQTtFVjg5V1Y7RVVyK1dNO0lBT0k7SUFBQTtFVmsrV1Y7RVV6K1dNO0lBT0k7SUFBQTtFVnMrV1Y7RVU3K1dNO0lBT0k7SUFBQTtFVjArV1Y7RVVqL1dNO0lBT0k7SUFBQTtFVjgrV1Y7RVVyL1dNO0lBT0k7RVZpL1dWO0VVeC9XTTtJQU9JO0VWby9XVjtFVTMvV007SUFPSTtFVnUvV1Y7RVU5L1dNO0lBT0k7RVYwL1dWO0VVamdYTTtJQU9JO0VWNi9XVjtFVXBnWE07SUFPSTtFVmdnWFY7RVV2Z1hNO0lBT0k7RVZtZ1hWO0VVMWdYTTtJQU9JO0VWc2dYVjtFVTdnWE07SUFPSTtFVnlnWFY7RVVoaFhNO0lBT0k7RVY0Z1hWO0VVbmhYTTtJQU9JO0VWK2dYVjtFVXRoWE07SUFPSTtFVmtoWFY7RVV6aFhNO0lBT0k7RVZxaFhWO0VVNWhYTTtJQU9JO0VWd2hYVjtFVS9oWE07SUFPSTtFVjJoWFY7RVVsaVhNO0lBT0k7RVY4aFhWO0VVcmlYTTtJQU9JO0VWaWlYVjtFVXhpWE07SUFPSTtFVm9pWFY7RVUzaVhNO0lBT0k7RVZ1aVhWO0VVOWlYTTtJQU9JO0VWMGlYVjtFVWpqWE07SUFPSTtFVjZpWFY7RVVwalhNO0lBT0k7RVZnalhWO0VVdmpYTTtJQU9JO0VWbWpYVjtFVTFqWE07SUFPSTtFVnNqWFY7RVU3alhNO0lBT0k7RVZ5alhWO0VVaGtYTTtJQU9JO0VWNGpYVjtFVW5rWE07SUFPSTtFVitqWFY7RVV0a1hNO0lBT0k7RVZra1hWO0VVemtYTTtJQU9JO0VWcWtYVjtFVTVrWE07SUFPSTtFVndrWFY7RVUva1hNO0lBT0k7RVYya1hWO0VVbGxYTTtJQU9JO0VWOGtYVjtFVXJsWE07SUFPSTtFVmlsWFY7RVV4bFhNO0lBT0k7RVZvbFhWO0VVM2xYTTtJQU9JO0VWdWxYVjtFVTlsWE07SUFPSTtFVjBsWFY7RVVqbVhNO0lBT0k7RVY2bFhWO0VVcG1YTTtJQU9JO0VWZ21YVjtFVXZtWE07SUFPSTtFVm1tWFY7RVUxbVhNO0lBT0k7RVZzbVhWO0VVN21YTTtJQU9JO0VWeW1YVjtFVWhuWE07SUFPSTtFVjRtWFY7RVVublhNO0lBT0k7RVYrbVhWO0VVdG5YTTtJQU9JO0VWa25YVjtFVXpuWE07SUFPSTtFVnFuWFY7QUFDRjtBYWhvWEk7RUhHSTtJQU9JO0VWMG5YVjtFVWpvWE07SUFPSTtFVjZuWFY7RVVwb1hNO0lBT0k7RVZnb1hWO0VVdm9YTTtJQU9JO0VWbW9YVjtFVTFvWE07SUFPSTtFVnNvWFY7RVU3b1hNO0lBT0k7RVZ5b1hWO0VVaHBYTTtJQU9JO0VWNG9YVjtFVW5wWE07SUFPSTtFVitvWFY7RVV0cFhNO0lBT0k7RVZrcFhWO0VVenBYTTtJQU9JO0VWcXBYVjtFVTVwWE07SUFPSTtFVndwWFY7RVUvcFhNO0lBT0k7RVYycFhWO0VVbHFYTTtJQU9JO0VWOHBYVjtFVXJxWE07SUFPSTtFVmlxWFY7RVV4cVhNO0lBT0k7RVZvcVhWO0VVM3FYTTtJQU9JO0VWdXFYVjtFVTlxWE07SUFPSTtFVjBxWFY7RVVqclhNO0lBT0k7RVY2cVhWO0VVcHJYTTtJQU9JO0VWZ3JYVjtFVXZyWE07SUFPSTtFVm1yWFY7RVUxclhNO0lBT0k7RVZzclhWO0VVN3JYTTtJQU9JO0VWeXJYVjtFVWhzWE07SUFPSTtFVjRyWFY7RVVuc1hNO0lBT0k7RVYrclhWO0VVdHNYTTtJQU9JO0VWa3NYVjtFVXpzWE07SUFPSTtFVnFzWFY7RVU1c1hNO0lBT0k7RVZ3c1hWO0VVL3NYTTtJQU9JO0VWMnNYVjtFVWx0WE07SUFPSTtFVjhzWFY7RVVydFhNO0lBT0k7RVZpdFhWO0VVeHRYTTtJQU9JO0VWb3RYVjtFVTN0WE07SUFPSTtFVnV0WFY7RVU5dFhNO0lBT0k7RVYwdFhWO0VVanVYTTtJQU9JO0VWNnRYVjtFVXB1WE07SUFPSTtFVmd1WFY7RVV2dVhNO0lBT0k7RVZtdVhWO0VVMXVYTTtJQU9JO0VWc3VYVjtFVTd1WE07SUFPSTtFVnl1WFY7RVVodlhNO0lBT0k7RVY0dVhWO0VVbnZYTTtJQU9JO0VWK3VYVjtFVXR2WE07SUFPSTtFVmt2WFY7RVV6dlhNO0lBT0k7RVZxdlhWO0VVNXZYTTtJQU9JO0VWd3ZYVjtFVS92WE07SUFPSTtFVjJ2WFY7RVVsd1hNO0lBT0k7RVY4dlhWO0VVcndYTTtJQU9JO0VWaXdYVjtFVXh3WE07SUFPSTtFVm93WFY7RVUzd1hNO0lBT0k7RVZ1d1hWO0VVOXdYTTtJQU9JO0VWMHdYVjtFVWp4WE07SUFPSTtFVjZ3WFY7RVVweFhNO0lBT0k7RVZneFhWO0VVdnhYTTtJQU9JO0VWbXhYVjtFVTF4WE07SUFPSTtFVnN4WFY7RVU3eFhNO0lBT0k7RVZ5eFhWO0VVaHlYTTtJQU9JO0VWNHhYVjtFVW55WE07SUFPSTtFVit4WFY7RVV0eVhNO0lBT0k7RVZreVhWO0VVenlYTTtJQU9JO0VWcXlYVjtFVTV5WE07SUFPSTtFVnd5WFY7RVUveVhNO0lBT0k7RVYyeVhWO0VVbHpYTTtJQU9JO0VWOHlYVjtFVXJ6WE07SUFPSTtFVml6WFY7RVV4elhNO0lBT0k7RVZvelhWO0VVM3pYTTtJQU9JO0VWdXpYVjtFVTl6WE07SUFPSTtFVjB6WFY7RVVqMFhNO0lBT0k7RVY2elhWO0VVcDBYTTtJQU9JO0VWZzBYVjtFVXYwWE07SUFPSTtFVm0wWFY7RVUxMFhNO0lBT0k7RVZzMFhWO0VVNzBYTTtJQU9JO0lBQUE7RVYwMFhWO0VVajFYTTtJQU9JO0lBQUE7RVY4MFhWO0VVcjFYTTtJQU9JO0lBQUE7RVZrMVhWO0VVejFYTTtJQU9JO0lBQUE7RVZzMVhWO0VVNzFYTTtJQU9JO0lBQUE7RVYwMVhWO0VVajJYTTtJQU9JO0lBQUE7RVY4MVhWO0VVcjJYTTtJQU9JO0lBQUE7RVZrMlhWO0VVejJYTTtJQU9JO0lBQUE7RVZzMlhWO0VVNzJYTTtJQU9JO0lBQUE7RVYwMlhWO0VVajNYTTtJQU9JO0lBQUE7RVY4MlhWO0VVcjNYTTtJQU9JO0lBQUE7RVZrM1hWO0VVejNYTTtJQU9JO0lBQUE7RVZzM1hWO0VVNzNYTTtJQU9JO0lBQUE7RVYwM1hWO0VVajRYTTtJQU9JO0lBQUE7RVY4M1hWO0VVcjRYTTtJQU9JO0VWaTRYVjtFVXg0WE07SUFPSTtFVm80WFY7RVUzNFhNO0lBT0k7RVZ1NFhWO0VVOTRYTTtJQU9JO0VWMDRYVjtFVWo1WE07SUFPSTtFVjY0WFY7RVVwNVhNO0lBT0k7RVZnNVhWO0VVdjVYTTtJQU9JO0VWbTVYVjtFVTE1WE07SUFPSTtFVnM1WFY7RVU3NVhNO0lBT0k7RVZ5NVhWO0VVaDZYTTtJQU9JO0VWNDVYVjtFVW42WE07SUFPSTtFVis1WFY7RVV0NlhNO0lBT0k7RVZrNlhWO0VVejZYTTtJQU9JO0VWcTZYVjtFVTU2WE07SUFPSTtFVnc2WFY7RVUvNlhNO0lBT0k7RVYyNlhWO0VVbDdYTTtJQU9JO0VWODZYVjtFVXI3WE07SUFPSTtFVmk3WFY7RVV4N1hNO0lBT0k7RVZvN1hWO0VVMzdYTTtJQU9JO0VWdTdYVjtFVTk3WE07SUFPSTtFVjA3WFY7RVVqOFhNO0lBT0k7RVY2N1hWO0VVcDhYTTtJQU9JO0VWZzhYVjtFVXY4WE07SUFPSTtFVm04WFY7RVUxOFhNO0lBT0k7RVZzOFhWO0VVNzhYTTtJQU9JO0VWeThYVjtFVWg5WE07SUFPSTtFVjQ4WFY7RVVuOVhNO0lBT0k7RVYrOFhWO0VVdDlYTTtJQU9JO0VWazlYVjtFVXo5WE07SUFPSTtFVnE5WFY7RVU1OVhNO0lBT0k7RVZ3OVhWO0VVLzlYTTtJQU9JO0VWMjlYVjtFVWwrWE07SUFPSTtFVjg5WFY7RVVyK1hNO0lBT0k7RVZpK1hWO0VVeCtYTTtJQU9JO0VWbytYVjtFVTMrWE07SUFPSTtJQUFBO0VWdytYVjtFVS8rWE07SUFPSTtJQUFBO0VWNCtYVjtFVW4vWE07SUFPSTtJQUFBO0VWZy9YVjtFVXYvWE07SUFPSTtJQUFBO0VWby9YVjtFVTMvWE07SUFPSTtJQUFBO0VWdy9YVjtFVS8vWE07SUFPSTtJQUFBO0VWNC9YVjtFVW5nWU07SUFPSTtJQUFBO0VWZ2dZVjtFVXZnWU07SUFPSTtJQUFBO0VWb2dZVjtFVTNnWU07SUFPSTtJQUFBO0VWd2dZVjtFVS9nWU07SUFPSTtJQUFBO0VWNGdZVjtFVW5oWU07SUFPSTtJQUFBO0VWZ2hZVjtFVXZoWU07SUFPSTtJQUFBO0VWb2hZVjtFVTNoWU07SUFPSTtFVnVoWVY7RVU5aFlNO0lBT0k7RVYwaFlWO0VVamlZTTtJQU9JO0VWNmhZVjtFVXBpWU07SUFPSTtFVmdpWVY7RVV2aVlNO0lBT0k7RVZtaVlWO0VVMWlZTTtJQU9JO0VWc2lZVjtFVTdpWU07SUFPSTtFVnlpWVY7RVVoallNO0lBT0k7RVY0aVlWO0VVbmpZTTtJQU9JO0VWK2lZVjtFVXRqWU07SUFPSTtFVmtqWVY7RVV6allNO0lBT0k7RVZxallWO0VVNWpZTTtJQU9JO0VWd2pZVjtFVS9qWU07SUFPSTtFVjJqWVY7RVVsa1lNO0lBT0k7RVY4allWO0VVcmtZTTtJQU9JO0VWaWtZVjtFVXhrWU07SUFPSTtFVm9rWVY7RVUza1lNO0lBT0k7RVZ1a1lWO0VVOWtZTTtJQU9JO0VWMGtZVjtFVWpsWU07SUFPSTtFVjZrWVY7RVVwbFlNO0lBT0k7RVZnbFlWO0VVdmxZTTtJQU9JO0VWbWxZVjtFVTFsWU07SUFPSTtFVnNsWVY7RVU3bFlNO0lBT0k7RVZ5bFlWO0VVaG1ZTTtJQU9JO0VWNGxZVjtFVW5tWU07SUFPSTtFVitsWVY7RVV0bVlNO0lBT0k7RVZrbVlWO0VVem1ZTTtJQU9JO0VWcW1ZVjtFVTVtWU07SUFPSTtFVndtWVY7RVUvbVlNO0lBT0k7RVYybVlWO0VVbG5ZTTtJQU9JO0VWOG1ZVjtFVXJuWU07SUFPSTtFVmluWVY7RVV4bllNO0lBT0k7RVZvbllWO0VVM25ZTTtJQU9JO0VWdW5ZVjtFVTluWU07SUFPSTtFVjBuWVY7RVVqb1lNO0lBT0k7RVY2bllWO0VVcG9ZTTtJQU9JO0VWZ29ZVjtFVXZvWU07SUFPSTtFVm1vWVY7RVUxb1lNO0lBT0k7RVZzb1lWO0VVN29ZTTtJQU9JO0VWeW9ZVjtFVWhwWU07SUFPSTtFVjRvWVY7RVVucFlNO0lBT0k7RVYrb1lWO0VVdHBZTTtJQU9JO0VWa3BZVjtFVXpwWU07SUFPSTtFVnFwWVY7RVU1cFlNO0lBT0k7RVZ3cFlWO0VVL3BZTTtJQU9JO0VWMnBZVjtBQUNGO0FnQmx0WUE7RU4rQ1E7SUFPSTtFVmdxWVY7RVV2cVlNO0lBT0k7RVZtcVlWO0VVMXFZTTtJQU9JO0VWc3FZVjtFVTdxWU07SUFPSTtFVnlxWVY7QUFDRjtBZ0I3c1lBO0VONEJRO0lBT0k7RVY4cVlWO0VVcnJZTTtJQU9JO0VWaXJZVjtFVXhyWU07SUFPSTtFVm9yWVY7RVUzcllNO0lBT0k7RVZ1cllWO0VVOXJZTTtJQU9JO0VWMHJZVjtFVWpzWU07SUFPSTtFVjZyWVY7RVVwc1lNO0lBT0k7RVZnc1lWO0VVdnNZTTtJQU9JO0VWbXNZVjtFVTFzWU07SUFPSTtFVnNzWVY7RVU3c1lNO0lBT0k7RVZ5c1lWO0VVaHRZTTtJQU9JO0VWNHNZVjtBQUNGO0EwRHR4WUE7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUR1eFlKOztBMERyeFlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUR3eFlKO0EwRHR4WUk7RUFDSTtBMUR3eFlSO0EwRHJ4WUk7RUFDSTtFQUNBO0ExRHV4WVI7O0EwRHB4WUE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUR1eFlKOztBMERweFlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExRHV4WUo7QTBEcnhZSTtFQUVJO0VBQ0E7QTFEc3hZUjtBMERueFlJO0VBQ0k7QTFEcXhZUjtBMERseFlJO0VBQ0k7QTFEb3hZUjs7QTBEanhZQTtFQUNJO0VBQ0E7RUFDQTtFQVdBO0ExRDB3WUo7QTBEcHhZSTtFQUNJO0ExRHN4WVI7QTBEcHhZSTtFQUNJO0ExRHN4WVI7QTBEcHhZSTtFQUNJO0ExRHN4WVI7QTBEanhZSTtFQUNJO0ExRG14WVI7QTBEaHhZSTtFQUNJO0ExRGt4WVI7QTBEL3dZSTtFQUNJO0ExRGl4WVI7QTBEOXdZSTtFQUNJO0VBQ0E7RUFDQTtBMURneFlSOztBMEQ3d1lBO0VBQ0k7QTFEZ3hZSjs7QTJEajNZQTs7Ozs7O0VBQUE7QUNHQTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RHEzWUY7QTREbjNZRTtFQUtJLFlwRHlJMkI7QVJ3dVlqQztBNEQ1MllJO0VBS0ksWXBEK0h5QjtBUjJ1WWpDO0E0RHQyWUk7OztFQUdFLHNCcEQ1QkU7QVJvNFlSOztBNERuMllBO0VBQ0UsV3BENkcrQjtFb0Q1Ry9CO0VBQ0E7RUFDQTtBNURzMllGOztBNERuMllBO0VBQ0U7RUFDQTtFQUNBO0E1RHMyWUY7QTREcDJZRTtFQUdFLFdwRCtGNkI7RW9EOUY3QixXcEQrRjZCO0VvRDlGN0Isc0JwRGxESTtFb0RtREosa0JwRGdHNkI7RW9EL0Y3QjtFQUNBO0VBQ0E7RUFDQTtBNURvMllKO0E0RGoyWUU7RUFFRTtFQUNBO0E1RGsyWUo7QTRELzFZRTtFQUNFO0E1RGkyWUo7QTREOTFZRTtFQUNFO0E1RGcyWUo7O0E2RHA3WUU7O0VBQUE7QUFJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEczdZTjtBNkRwN1lNO0VBQ0U7RUFDQTtBN0RzN1lSO0E2RGw3WU07RUFDRTtBN0RvN1lSO0E2RDk2WU07RUFDRTtFQUNBO0VBQ0E7QTdEZzdZUjtBNkQ5NllRO0VBQ0U7RUFDQTtFQUNBO0E3RGc3WVY7QTZENTZZUTtFQUNFO0VBQ0E7RUFDQTtBN0Q4NllWOztBOER0OVlBO0FBRUE7Ozs7Ozs7Ozs7O0NBQUE7QUFvQkE7Ozs7RUFBQTtBQU1BO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlEKzhZRDtBOEQ3OFlDO0VBRUM7QTlEODhZRjtBOEQzOFlDO0VBQ0M7RUFDQTtBOUQ2OFlGO0E4RDE4WUM7RUFDQztFQUNBO0E5RDQ4WUY7O0E4RHg4WUE7QUFDQTtFQUNDO0E5RDI4WUQ7O0E4RHg4WUE7OztFQUdDO0VBQ0E7RUFDQTtFQUNBO0E5RDI4WUQ7O0E4RHg4WUE7RUFFQztFQUNHOzs7SUFHSTtFOUQwOFlOO0U4RHY4WUU7O0lBRUY7RTlEeThZQTtBQUNGO0E4RHQ4WUE7RUFDQztBOUR3OFlEOztBOERyOFlBO0VBQ0M7QTlEdzhZRDs7QThEcjhZQTtFQUNDO0E5RHc4WUQ7O0E4RHI4WUE7RUFDQztBOUR3OFlEOztBOERyOFlBO0VBQ0M7QTlEdzhZRDs7QThEcjhZQTtFQUNDO0VBQ0E7QTlEdzhZRDs7QThEcjhZQTtFQUNDO0E5RHc4WUQ7O0E4RHI4WUE7RUFDQztBOUR3OFlEOztBOERyOFlBO0FBRUM7O0VBRUM7QTlEdThZRjs7QThEbjhZQTs7O0NBQUE7QUFJQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlEczhZRDs7QThEbjhZQTtFQUNDO0E5RHM4WUQ7O0E4RG44WUE7RUFDQztBOURzOFlEOztBOERuOFlBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOURzOFlEOztBOERuOFlBO0VBQ0M7RUFDQTtBOURzOFlEOztBOERuOFlBO0VBQ0M7RUFDQTtBOURzOFlEOztBOERsOFlBOzs7O0VBQUE7QUFNQTs7RUFFQztFQUNBO0VBQ0E7QTlEbzhZRDs7QThEajhZQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RG84WUQ7O0E4RGo4WUE7RUFDQztBOURvOFlEOztBOERqOFlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlEbzhZRDtBOERsOFlDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RG84WUY7QThEbDhZRTtFQUNDO0VBQ0E7QTlEbzhZSDtBOERoOFlFO0VBQ0M7RUFDQTtBOURrOFlIO0E4RC83WUU7RUFDQztBOURpOFlIOztBOEQ1N1lBO0VBQ0M7QTlEKzdZRDtBOEQ3N1lDO0VBQ0M7QTlEKzdZRjs7QThEMzdZQTtBQUNBO0VBQ0M7QTlEODdZRDs7QThEMTdZQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUQ2N1lGO0E4RDE3WUM7RUFDQztFQUNBO0E5RDQ3WUY7QThEMTdZRTtFQUNDO0E5RDQ3WUg7O0E4RHQ3WUM7RUFDQztFQUNBO0E5RHk3WUY7O0E4RHA3WUM7RUFDQztFQUNBO0E5RHU3WUY7O0E4RGw3WUM7RUFDQztBOURxN1lGOztBOERoN1lBOzs7O0VBQUE7QUFNQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOURrN1lEOztBOEQ5NllBOzs7O0VBQUE7QUFNQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlEZzdZRDtBOEQ5NllDO0VBQ0M7RUFDQTtBOURnN1lGOztBOEQ1NllBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlEKzZZRDs7QThENTZZQTtFQUNDO0E5RCs2WUQ7O0E4RDU2WUE7QUFDQTtFQUNDO0E5RCs2WUQ7O0E4RDM2WUE7Ozs7OztFQUFBO0FBUUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUQ2NllEOztBOEQxNllBO0VBQ0M7RUFDQTtFQUNBO0E5RDY2WUQ7O0E4RDE2WUE7RUFDQztBOUQ2NllEO0E4RDM2WUM7RUFDQztFQUNBO0E5RDY2WUY7O0E4RHg2WUM7RUFDQztBOUQyNllGO0E4RHo2WUU7RUFDQztBOUQyNllIO0E4RHg2WUU7RUFDQztBOUQwNllIO0E4RHQ2WUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RHc2WUY7QThEcDZZQztFQUNDOzs7R0FBQTtFQUlBO0VBQ0E7RUFDQTtFQUNBO0E5RHM2WUY7QThEbjZZQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOURxNllGOztBOERqNllBO0VBQ0M7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0U5RG82WUE7QUFDRjtBOERqNllBO0VBQ0U7SUFBSztFOURvNllMO0U4RG42WUE7SUFBTztFOURzNllQO0FBQ0Y7QThEcDZZQTtFQUNFO0lBQUs7RTlEdTZZTDtFOER0NllBO0lBQU07RTlEeTZZTjtFOER4NllBO0lBQU87RTlEMjZZUDtBQUNGO0E4RHg2WUE7Ozs7RUFBQTtBQU1BO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBOUR5NllEOztBOER0NllBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RHk2WUQ7O0E4RHQ2WUE7Ozs7RUFJQztFQUNBO0VBQ0E7QTlEeTZZRDs7QThEdDZZQTtBQUVDOztFQUVDO0E5RHc2WUY7O0E4RHA2WUE7O0VBRUM7QTlEdTZZRDs7QThEcDZZQTtBQUVDOztFQUVDO0E5RHM2WUY7O0E4RGw2WUE7QUFHQztFQUNDO0E5RG02WUY7QThEaDZZQzs7RUFFQztBOURrNllGOztBOEQ5NVlBOzs7Q0FBQTtBQUtDOzs7O0VBSUM7RUFDQTtBOURnNllGOztBOEQ1NVlBO0FBRUM7OztFQUdDO0E5RDg1WUY7O0E4RDE1WUE7RUFDQztBOUQ2NVlEOztBOER4NVlFO0VBQ0M7QTlEMjVZSDs7QStEdDlaRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUNtUGtCO0VEbFBsQjtFQUNBLGdCQ1JVO0VEU1YseUxDcU9GO0VEcE9FO0EvRHk5Wko7QStEdjlaSTtFQUNFO0EvRHk5Wk47QStEdDlaSTtFQUNFLGlCQ3lPcUI7RUR4T3JCLFVDeU9zQjtFRHhPdEIsY0N5T3dCO0VEeE94QjtBL0R3OVpOO0ErRHI5Wkk7RUFDRTtBL0R1OVpOO0ErRHA5Wkk7RUFDRSxXQ3FPcUI7RURwT3JCLGFDcU9xQjtFRHBPckIsY0NxT3dCO0FoRWl2WjlCO0ErRG45Wkk7RUFDRSxjQ2tPNkI7QWhFbXZabkM7QStEbDlaSTtFQUNFLGlCQ2dPc0I7RUQvTnRCLGtCQytOc0I7RUQ5TnRCLGdCQ2dPeUI7QWhFb3ZaL0I7QStEajlaSTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFlDcU0yQjtFRHBNM0IsYUNxTTRCO0VEcE01QixTQ3FNNEI7RURwTTVCLGNDcU0rQjtBaEU4d1pyQztBK0RoOVpJO0VBQ0UsaUJDd004QjtFRHZNOUIsVUN3TStCO0VEdk0vQjtFQUNBLGNDdU1pQztFRHRNakM7QS9EazlaTjtBK0RoOVpNO0VBQ0U7QS9EazlaUjtBK0Q5OFpJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRGc5Wk47QStENzhaSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRCs4Wk47QStENzhaTTtFQUNFO0VBQ0E7RUFDQSxnQkN1S3FCO0VEdEtyQjtBL0QrOFpSO0ErRDM4WlE7RUFDRTtFQUNBO0EvRDY4WlY7QStEeDhaUTtFQUNFO0VBQ0E7QS9EMDhaVjtBK0R4OFpVO0VBQ0U7QS9EMDhaWjtBK0R2OFpVO0VBQ0U7QS9EeThaWjtBK0RuOFpJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0RxOFpOO0ErRGw4Wkk7RUFDRTtFQUNBO0VBQ0EsY0N5STBCO0FoRTJ6WmhDO0ErRGo4Wkk7RUFDRSxxQkMxRlU7QWhFNmhhaEI7QStEajhaTTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0EvRGs4WlI7QStEaDhaUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9EazhaVjtBK0QvN1pRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9EaThaVjtBK0Q3N1pNO0VBQ0U7RUFDQTtBL0QrN1pSO0ErRDU3Wk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0Q4N1pSO0ErRDM3Wk07RUFDRTtBL0Q2N1pSO0ErRDM3WlE7RUFDRTtFQUNBO0VBQ0E7QS9ENjdaVjtBK0QxN1pRO0VBQ0U7RUFDQTtFQUNBO0EvRDQ3WlY7QStEdDdaVTtFQUNFO0EvRHc3Wlo7QStEcjdaVTtFQUNFO0EvRHU3Wlo7QStEajdaSTtFQUNFLGdDQ3VDdUI7QWhFNDRaN0I7QStEaDdaSTtFQUNFLHlDQ29DdUI7QWhFODRaN0I7O0FpRXZuYUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsK0lBQ0U7RUFHRjtFQUNBO0VBQ0EsZ0JEVHdCO0VDVXhCO0VBQ0EsaUNEWTBCO0VDVDFCO0FqRXFuYUY7QWlFbm5hRTtFQUVFLDhCRElhO0FoRWduYWpCO0FpRWpuYUU7RUFDRTtBakVtbmFKO0FpRWhuYUU7RUFHRTtBakVnbmFKO0FpRTdtYUU7RUFHRTtBakU2bWFKO0FpRTFtYUU7RUFHRTtBakUwbWFKO0FpRXZtYUU7RUFDRTtBakV5bWFKO0FpRXRtYUU7RUFDRTtFQUNBO0FqRXdtYUo7QWlFcm1hRTtFQUVFO0VBQ0E7QWpFc21hSjtBaUVubWFFO0VBRUU7RUFDQTtBakVvbWFKO0FpRWptYUU7RUFDRTtFQUNBO0VBQ0E7QWpFbW1hSjtBaUVobWFFO0VBRUU7RUFDQTtFQUNBO0FqRWltYUo7QWlFOWxhRTtFQUVFO0VBQ0E7RUFDQTtBakUrbGFKO0FpRTVsYUU7RUFDRTtFQUNBO0VBQ0E7QWpFOGxhSjtBaUUzbGFFO0VBRUU7RUFDQTtFQUNBO0FqRTRsYUo7QWlFemxhRTtFQUVFO0VBQ0E7QWpFMGxhSjtBaUV2bGFFO0VBRUU7RUFDQTtBakV3bGFKO0FpRXJsYUU7RUFDRTtBakV1bGFKO0FpRXBsYUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEbkhVO0VDb0hWO0VBQ0EsbUJEcEhZO0VDcUhaLFlEcEhXO0VDcUhYLGtCRG5Ia0I7RUNvSGxCLGdCRGhJVTtFQ2lJVixjRHRIVTtFQ3VIVixvQkQzR1M7RUM0R1QsZUQzR2M7QWhFaXNhbEI7QWlFcGxhSTtFQUNFO0FqRXNsYU47QWlFbmxhSTtFQUNFO0FqRXFsYU47QWlFamxhRTtFQUNFLGtCRDlGbUI7RUMrRm5CLGVEOUZvQjtFQytGcEIsU0Q5RmlCO0VDK0ZqQixvQkQ5RmtCO0VDK0ZsQixjRDlGZ0I7RUMrRmhCLGtCRDlGb0I7RUMrRnBCLGdCRDlGc0I7RUMrRnRCLGtCRDlGcUI7RUMrRnJCO0VBQ0E7QWpFbWxhSjtBaUVobGFFO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsZURpQnNCO0VDaEJ0QixtQkRpQndCO0VDaEJ4Qix1QkRpQjRCO0VDaEI1QixXRGlCa0I7RUNoQmxCLHFCRGlCbUI7RUNoQm5CLFVEaUJvQjtBaEVpa2F4QjtBaUU5a2FRO0VBQ0U7QWpFZ2xhVjtBaUU3a2FRO0VBQ0U7QWpFK2thVjtBaUU1a2FRO0VBQ0U7QWpFOGthVjtBaUV4a2FFO0VBQ0U7RUFDQSxtQkRxQ3VCO0VDcEN2Qix1QkRxQzJCO0VDcEMzQixZRHFDaUI7RUNwQ2pCLGFEcUNrQjtFQ3BDbEIsaUJEcUNrQjtFQ3BDbEIsOEREcUNxQjtFQ3BDckIsb0JEcUN3QjtFQ3BDeEIsbUJEcUN3QjtFQ3BDeEIsbUJEcUN5QjtFQ3BDekIscUREcUN3QjtBaEVxaWE1QjtBaUV2a2FFO0VBQ0UsZ0JEZGtCO0VDZWxCLHNCRGRtQjtFQ2VuQiwyQkRkc0I7RUNldEIsaUNEZHNCO0VDZXRCLGdCRGR1QjtBaEV1bGEzQjtBaUV2a2FJO0VBQ0U7QWpFeWthTjtBaUV0a2FJO0VBRUUsU0Rkd0I7RUNleEIscUJEZCtCO0VDZS9CO0VBQ0EseUJEZmtDO0VDZ0JsQyxXRHROUTtFQ3VOUixjRGYyQjtBaEVzbGFqQztBaUVya2FNO0VBQ0UsOENEakJnQztBaEV3bGF4QztBaUVua2FJO0VBRUUsU0RuQnFCO0VDb0JyQixxQkRuQjRCO0VDb0I1QjtFQUNBLHlCRHBCK0I7RUNxQi9CLFdEcE9RO0VDcU9SLGNEcEJ3QjtBaEV3bGE5QjtBaUVsa2FNO0VBQ0UsNENEdEI2QjtBaEUwbGFyQztBaUVoa2FJO0VBRUUsU0R4QnVCO0VDeUJ2QixxQkR4QjhCO0VDeUI5QjtFQUNBLHlCRHpCaUM7RUMwQmpDLFdEbFBRO0VDbVBSLGNEekIwQjtBaEUwbGFoQztBaUUvamFNO0VBQ0UsOENEM0IrQjtBaEU0bGF2QztBaUU1amFNO0VBQ0UsOENENUR3QjtBaEUwbmFoQztBaUUxamFJO0VBQ0UsYURsRXVCO0FoRThuYTdCO0FpRXpqYUk7RUFDRTtBakUyamFOO0FpRXZqYUU7RUFDRSxlRHBJa0I7RUNxSWxCLGtCRHBJbUI7RUNxSW5CO0VBQ0EsY0RwSWlCO0VDcUlqQixjRHBJcUI7RUNxSXJCLGtCRHBJc0I7QWhFNnJhMUI7QWlFdGphRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLCtCRDdRa0I7RUM4UWxCLDhCRDlRa0I7QWhFczBhdEI7QWlFcmphRTtFQUNFO0VBQ0EsY0RqSjhCO0VDa0o5Qiw4QkRqSmtDO0FoRXdzYXRDO0FpRXBqYUU7RUFDRTtFQUNBLG9CRHZQaUI7QWhFNnlhckI7QWlFbmphRTtFQUVFO0VBQ0EsbUJEeEo2QjtFQ3lKN0IsdUJEeEppQztFQ3lKakMsWUR4SnVCO0VDeUp2QixhRHhKd0I7RUN5SnhCLGFEdkpxQjtFQ3dKckIsZUR4SnFCO0VDeUpyQjtFQUNBLFVEekp5QjtFQzBKekI7RUFDQSx1Q0R6SkY7RUMwSkUsWUR4SndCO0VDeUp4QixrQkQxU2tCO0VDNFNsQix1QkR4SjRCO0VDeUo1QixXRHhKdUI7RUN5SnZCLHNCRHhKNkI7RUN5SjdCLGdCRHhKMkI7RUN5SjNCO0VBQ0EsaUJEM0s4QjtBaEU4dGFsQztBaUVqamFJO0VBQ0UsZUR6SitCO0VDMEovQix1QkR4SmdDO0VDeUpoQyxjRDFSUTtBaEU2MGFkO0FpRWhqYUk7RUFDRSxhRDFKNkI7RUMySjdCLG9ERDFKZ0M7QWhFNHNhdEM7QWlFL2lhSTtFQUNFO0FqRWlqYU47QWlFN2lhRTtFQUNFO0VBQ0EsdUJEdFJtQztFQ3VSbkMsU0R0UjBCO0VDdVIxQix3QkR0UjJCO0VDdVIzQixjRHRSNEI7RUN1UjVCLGNEdFJ5QjtFQ3VSekIsa0JEdFI2QjtFQ3VSN0IsbUJEdFIrQjtFQ3VSL0IsbUJEdFIrQjtFQ3VSL0Isa0JEdFI4QjtFQ3VSOUIscUJEdFI2QjtFQ3VSN0Isc0JEdFI4QjtBaEVxMGFsQztBaUU1aWFFOzs7Ozs7RUFNRSxtQkQ1UmlCO0FoRTAwYXJCO0FpRTNpYUU7OztFQUdFO0VBQ0EsV0RsU2dCO0VDbVNoQiw4Q0R2UkY7RUN3UkUseUJEalNpQjtFQ2tTakIsdUJEalN3QjtFQ2tTeEIsdUJEN1JxQjtFQzhSckIsc0VEalNGO0VDa1NFLGNEOVJnQjtFQytSaEIsa0JEalNvQjtBaEU4MGF4QjtBaUUzaWFJOzs7RUFDRTtFQUNBO0FqRStpYU47QWlFNWlhSTs7O0VBQ0UseUJEalNxQjtFQ2tTckIsYURqU3NCO0VDa1N0QixtRkRoU0o7QWhFZzFhRjtBaUU3aWFJOzs7RUFDRTtBakVpamFOO0FpRTdpYUU7RUFDRSxtQkQ3VGlCO0VDOFRqQixnQkR0WVU7QWhFcTdhZDtBaUU3aWFJO0VBQ0U7QWpFK2lhTjtBaUU1aWFJO0VBQ0U7RUFDQSxjRDNUYztFQzRUZDtFQUNBO0FqRThpYU47QWlFM2lhSTs7RUFFRSxlRDNVZTtFQzRVZjtFQUNBLGtCRHRVa0I7RUN1VWxCLG9CRDlVZTtBaEUyM2FyQjtBaUV6aWFFO0VBQ0UsZURuVmlCO0VDb1ZqQixpQkRuVmtCO0FoRTgzYXRCO0FpRXhpYUU7RUFDRTtFQUNBO0VBQ0E7RUFDQSx1QkRuVnFCO0VDb1ZyQixrQkRyVm9CO0FoRSszYXhCO0FpRXZpYUU7RUFDRSxjRDFVb0I7RUMyVXBCLGVEMVVxQjtBaEVtM2F6QjtBaUV0aWFFO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsdUJEaFdxQjtFQ2lXckIsY0RoV2dCO0VDaVdoQixrQkRuV29CO0FoRTI0YXhCO0FpRXJpYUU7O0VBRUU7RUFDQTtFQUNBLGdCRDNiVTtFQzRiVixjRHpXZ0I7QWhFZzVhcEI7QWlFcmlhSTs7RUFDRTtFQUNBLGtCRC9Xa0I7QWhFdTVheEI7QWlFcmlhSTs7RUFDRTtFQUNBO0FqRXdpYU47QWlFcGlhRTtFQUNFO0VBQ0EsdUJEdFdnQztFQ3VXaEMsa0JEeFd1QjtBaEU4NGEzQjtBaUVuaWFFO0VBQ0UsbUJEeFdtQztFQ3lXbkMsdUJEeFd1QztFQ3lXdkMsZUR4VzhCO0VDeVc5QixnQkR4VytCO0VDeVcvQjtFQUNBLG1CRHpXa0M7RUMwV2xDLGNEelc2QjtFQzBXN0IsY0R6V2lDO0VDMFdqQyxnQkR6V21DO0FoRTg0YXZDO0FpRW5pYUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBLHlCRDNiUTtFQzRiUixXRHBlUTtFQ3FlUjtFQUNBO0VBQ0E7QWpFb2lhTjtBaUVoaWFFO0VBQ0UsZUR2WDZCO0VDd1g3QixtQkR2WCtCO0VDd1gvQixlRHZYNkI7RUN3WDdCLG1CRHRYMEI7RUN1WDFCLFVEdFgyQjtFQ3VYM0IsdUJEelg4QjtFQzBYOUIsZ0JEdlgrQjtBaEV5NWFuQztBaUVoaWFJO0VBQ0U7RUFDQTtBakVraWFOO0FpRS9oYUk7RUFDRTtFQUNBO0VBQ0EsVUQvWHNCO0VDZ1l0QixXRC9YdUI7RUNnWXZCLGtCRC9YOEI7RUNnWTlCLG1CRDdYeUI7RUM4WHpCLFdEaGdCUTtFQ2lnQlIsZ0JEbll1QjtFQ29ZdkI7QWpFaWlhTjtBaUUvaGFNO0VBQ0UsbUJEbll1QjtBaEVvNmEvQjtBaUUvaGFRO0VBQ0UsbUJEeFl1QjtFQ3lZdkIsV0R6Z0JJO0FoRTBpYmQ7QWlFOWhhUTtFQUNFLG1CRDdZdUI7QWhFNjZhakM7QWlFM2hhSTtFQUNFO0VBQ0E7RUFDQSxZRHpaMEI7RUMwWjFCO0VBQ0E7RUFDQSxtQkR0WnlCO0FoRW03YS9COztBa0UvaWJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsVUZxQmdCO0VFcEJoQixXRm9CZ0I7RUVuQmhCLHdCRnFCa0I7RUVuQmxCO0VBQ0E7RUFDQSxrQkZvQndCO0VFbkJ4QixvQkZpQnVCO0VFaEJ2QixnQkZhZ0I7RUVaaEI7RUFDQTtBbEVpamJGO0FrRS9pYkU7RUFDRTtFQUNBO0VBQ0EsaUJGVW1CO0FoRXVpYnZCO0FrRTlpYkU7RUFDRSxxQkZXVTtFRVZWLGNGVVU7QWhFc2liZDtBa0U5aWJJO0VBQ0U7RUFDQTtBbEVnamJOO0FrRXppYkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QkZSUTtBaEVtamJkO0FrRXppYk07RUFDRTtFQUNBO0FsRTJpYlI7QWtFeGliTTtFQUNFO0VBQ0E7QWxFMGliUjtBa0VyaWJJO0VBRUk7QWxFc2liUjtBa0VwaWJRO0VBQ0U7QWxFc2liVjtBa0VoaWJFO0VBQ0U7RUFDQSxjRmxDWTtBaEVva2JoQjtBa0UvaGJJO0VBRUk7QWxFZ2liUjtBa0U5aGJRO0VBQ0U7QWxFZ2liVjtBa0UxaGJFO0VBQ0U7RUFDQSxjRmpEUztBaEU2a2JiO0FrRXpoYkk7RUFFSTtBbEUwaGJSO0FrRXhoYlE7RUFDRTtBbEUwaGJWO0FrRXBoYkU7RUFDRTtFQUNBLGNGaEVhO0FoRXNsYmpCO0FrRW5oYkk7RUFFSTtBbEVvaGJSO0FrRWxoYlE7RUFDRTtBbEVvaGJWO0FrRTlnYkU7RUFDRSxxQkZwRlk7RUVxRlosY0ZyRlk7QWhFcW1iaEI7QWtFOWdiSTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0FsRStnYk47QWtFN2diTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxFK2diUjtBa0V4Z2JNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEUwZ2JSO0FrRWxnYkk7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxFbWdiTjtBa0U1L2FJO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxFNi9hTjtBa0V0L2FJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCRjdKVTtBaEVxcGJoQjtBa0V0L2FNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxFdy9hUjtBa0VyL2FNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxFdS9hUjtBa0U1K2FRO0VBQ0U7QWxFOCthVjtBa0UzK2FRO0VBQ0U7QWxFNithVjtBa0UxK2FRO0VBQ0U7QWxFNCthVjs7QWlFaHJhQTtFQUNFO0FqRW1yYUY7O0FpRWhyYUE7RUFDRSwwQkRyaEJxQjtBaEV3c2J2Qjs7QWlFaHJhQTtFQUNFLG9DRHhoQnFCO0FoRTJzYnZCOztBaUVocmFBO0VBQ0U7QWpFbXJhRjs7QWlFL3FhQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpFa3JhRjs7QWlFN3FhRTtFQUNFO0VBQ0EsY0RyYXFCO0FoRXFsYnpCO0FpRTdxYUU7RUFDRTtFQUNBO0FqRStxYUo7O0FtRWh2YkE7RUFDRTtJQUNFO0VuRW12YkY7RW1FaHZiQTtJQUNFO0VuRWt2YkY7RW1FL3ViQTtJQUNFO0VuRWl2YkY7RW1FOXViQTtJQUNFO0VuRWd2YkY7QUFDRjtBbUU3dWJBO0VBQ0U7SUFDRTtJQUNBO0VuRSt1YkY7QUFDRjtBbUU1dWJBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RW5FOHViRjtFbUUzdWJBO0lBQ0U7SUFDQTtJQUNBO0VuRTZ1YkY7RW1FMXViQTtJQUNFO0lBQ0E7SUFDQTtFbkU0dWJGO0VtRXp1YkE7SUFDRTtJQUNBO0lBQ0E7RW5FMnViRjtFbUV4dWJBO0lBQ0U7SUFDQTtJQUNBO0VuRTB1YkY7QUFDRjtBbUV2dWJBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RW5FeXViRjtFbUV0dWJBO0lBQ0U7SUFDQTtJQUNBO0VuRXd1YkY7RW1FcnViQTtJQUNFO0lBQ0E7SUFDQTtFbkV1dWJGO0VtRXB1YkE7SUFDRTtJQUNBO0lBQ0E7RW5Fc3ViRjtBQUNGO0FvRXB6YkE7RUFDRTtJQUNFO0VwRXN6YkY7RW9FbnpiQTtJQUNFO0VwRXF6YkY7RW9FbHpiQTtJQUNFO0VwRW96YkY7RW9FanpiQTtJQUNFO0VwRW16YkY7QUFDRjtBb0UveWJBO0VBQ0U7SUFDRTtJQUNBO0VwRWl6YkY7RW9FOXliQTtJQUNFO0lBQ0E7RXBFZ3piRjtBQUNGO0FvRTV5YkE7RUFDRTtJQUNFO0lBQ0E7SUFDQTtFcEU4eWJGO0VvRTN5YkE7SUFDRTtJQUNBO0lBQ0E7RXBFNnliRjtFb0UxeWJBO0lBQ0U7SUFDQTtJQUNBO0VwRTR5YkY7RW9FenliQTtJQUNFO0lBQ0E7SUFDQTtFcEUyeWJGO0VvRXh5YkE7SUFDRTtJQUNBO0lBQ0E7RXBFMHliRjtBQUNGO0FvRXZ5YkE7RUFDRTtJQUNFO0lBQ0E7SUFDQTtFcEV5eWJGO0VvRXR5YkE7SUFDRTtJQUNBO0lBQ0E7RXBFd3liRjtFb0VyeWJBO0lBQ0U7SUFDQTtJQUNBO0VwRXV5YkY7RW9FcHliQTtJQUNFO0lBQ0E7SUFDQTtFcEVzeWJGO0FBQ0Y7QW9FbnliQTtFQUNFO0lBQ0U7RXBFcXliRjtFb0VseWJBO0lBQ0U7RXBFb3liRjtFb0VqeWJBO0lBQ0U7RXBFbXliRjtFb0VoeWJBO0lBQ0U7RXBFa3liRjtBQUNGO0FvRTl4YkE7RUFDRTtJQUNFO0lBQ0E7SUFDQTtFcEVneWJGO0VvRTd4YkE7SUFDRTtJQUNBO0lBQ0E7RXBFK3hiRjtFb0U1eGJBO0lBQ0U7SUFDQTtFcEU4eGJGO0VvRTN4YkE7SUFDRTtJQUNBO0lBQ0E7RXBFNnhiRjtBQUNGO0FvRTF4YkE7RUFDRTtJQUNFO0lBQ0E7RXBFNHhiRjtFb0V6eGJBO0lBQ0U7SUFDQTtFcEUyeGJGO0FBQ0Y7QW9FeHhiQTtFQUNFO0lBQ0U7RXBFMHhiRjtFb0V2eGJBO0lBQ0U7RXBFeXhiRjtBQUNGO0FvRXJ4YkE7RUFDRTtJQUNFO0VwRXV4YkY7RW9FcHhiQTtJQUNFO0VwRXN4YkY7QUFDRjtBb0VseGJBO0VBQ0U7SUFDRTtJQUNBO0VwRW94YkY7RW9FanhiQTtJQUNFO0lBQ0E7RXBFbXhiRjtFb0VoeGJBO0lBQ0U7SUFDQTtFcEVreGJGO0VvRS93YkE7SUFDRTtJQUNBO0VwRWl4YkY7RW9FOXdiQTtJQUNFO0lBQ0E7RXBFZ3hiRjtBQUNGO0FxRXY4YkU7RUNQSTtBdEVpOWJOO0FzRTc4YkU7RUFDRTtBdEUrOGJKO0FzRTM4Ykk7RUFDRTtFQUNBO0F0RTY4Yk47QXNFMzhiTTtFQUNFO0F0RTY4YlI7QXNFMThiTTtFQUNFO0F0RTQ4YlI7QXNFdjhiRTtFRGhCQTtJQ21CTTtFdEV3OGJOO0VzRXQ4Yk07SUFDRTtFdEV3OGJSO0VzRXI4Yk07SUFDRTtFdEV1OGJSO0FBQ0Y7QXVFNStiSTtFQUNFO0VBQ0EsWVBvUGM7RU9uUGQ7RUFDQTtFQUNBO0F2RTgrYk47QXVFNStiTTtFQUNFO0VBQ0E7QXZFOCtiUjtBdUUzK2JNO0VBRUU7QXZFNCtiUjtBdUV6K2JNO0VBRUU7QXZFMCtiUjtBdUV2K2JNO0VBRUU7RUFDQTtBdkV3K2JSO0F1RXIrYk07RUFDRTtFQUNBO0F2RXUrYlI7QXVFcCtiTTtFQUVFO0VBQ0E7QXZFcStiUjtBdUVsK2JNO0VBRUU7QXZFbStiUjtBdUVoK2JNO0VBQ0U7RUFDQTtBdkVrK2JSO0F1RS85Yk07RUFFRTtBdkVnK2JSOztBQXQvYkE7RUFDRTtBQXkvYkY7O0FBdC9iQTtBQUNBO0VBQ0U7SUFBa0M7RUEwL2JsQztBQUNGO0FBeC9iQTtFQUNFLHFDUW1EdUI7RVJsRHZCLGNRSFc7RWdFZEw7RXhFbUJOLGdCUWtDaUI7RVJqQ2pCO0VBQ0E7QUEwL2JGOztBQXYvYkE7RXdFTlU7QXhFaWdjVjtBYTcrYkk7RWJkSjtJd0VOVTtFeEVxZ2NSO0FBQ0Y7O0FBNS9iQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBKy9iRjs7QUE3L2JBO0VBQXFCO0FBaWdjckI7O0FBLy9iQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBa2djRjs7QUFoZ2NBO0VBQXFCO0lBQUs7RUFxZ2N4QjtBQUNGO0FBcGdjQTtBQUNBO0VBRUU7QUFxZ2NGOztBQWpnY0E7QUFDQTtFQUNFLHNCUXZFTTtFUndFTixrQlF4RU07RVJ5RU4sY1E5RW9CO0VSK0VwQjtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FBbWdjRjtBQWxnY0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFvZ2NKOztBQWhnY0E7RUFDRTtFQUNBO0FBbWdjRjtBd0V2amNNO0V4RXNEK0I7QUFvZ2NyQztBd0VsamNJO0VBQ0U7SXhFNkMrQjtFQXdnY25DO0FBQ0Y7QXdFL2pjTTtFeEV3RGU7QUEwZ2NyQjtBd0Vsa2NNO0V4RXdEZTtBQTZnY3JCO0F3RTdqY0k7RUFDRTtJeEUrQ2U7RUFpaGNuQjtBQUNGOztBQS9nY0E7RUFDRTtBQWtoY0Y7QUFoaGNFO0VBQ0U7QUFraGNKOztBQS9nY0E7RUFDRSxxQ1FsQ3VCO0VSbUN2QixnQlFoQ3FCO0FSa2pjdkI7O0FBaGhjQTtFQUNFLGNRdkhvQjtBUjBvY3RCOztBQWhoY0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JReERrQjtBUjJrY3BCO0FBbGhjRTtFQUlFO0FBaWhjSjtBQTlnY0U7RUFDRSxrQlE5RHNCO0FSOGtjMUI7O0FBN2djQTs7O0VBR0U7RUFDQSx5QlE3SUs7QVI2cGNQOztBQTlnY0E7RUFDRTtBQWloY0Y7O0FBOWdjQTtFQUNFO0FBaWhjRjs7QUE5Z2NBO0V3RTFIVTtFeEU0SFI7RUFDQSxXUXhKTTtBUnlxY1I7QWExbmNJO0Vic0dKO0l3RTFIVTtFeEVrcGNSO0FBQ0Y7QUFyaGNFO0VBQ0U7RUFDQTtBQXVoY0o7QUF0aGNJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXdoY047O0FBbGhjRTtFQUNFLHNCUXhLSTtBUjZyY1I7QUFuaGNJO0VBQ0U7RUFDQSxzQlE1S0U7QVJpc2NSOztBQTVnY0E7RUFDRTtBQStnY0Y7O0FBNWdjQTs7RUFFRTtFeUUxS0Esa0JBdUNrQjtFQXhCVjtFQUFBO0VBQUE7RUFSRjtFekVxS047RXdFbEtRO0F4RXNyY1Y7QWFscWNJO0ViMElKOztJd0U5SlU7RXhFMnJjUjtBQUNGOztBQXJoY0E7RUFDRTtFQUNBO0FBd2hjRjs7QUFyaGNBO0VBQ0U7QUF3aGNGOztBQWpoY0U7RUFDRTtBQW9oY0o7O0FBaGhjQTtFd0V6TFU7RUFBQTtBeEU4c2NWO0FhMXJjSTtFYnFLSjtJd0V6TFU7SUFBQTtFeEVtdGNSO0FBQ0Y7QWFoc2NJO0VicUtKO0l3RXpMVTtJQUFBO0V4RXl0Y1I7QUFDRjtBYXRzY0k7RWJxS0o7SXdFekxVO0lBQUE7RXhFK3RjUjtBQUNGO0FhNXNjSTtFYnFLSjtJd0V6TFU7SUFBQTtFeEVxdWNSO0FBQ0Y7QWFsdGNJO0VicUtKO0l3RXpMVTtJQUFBO0V4RTJ1Y1I7QUFDRjtBQWpqY0U7RXdFM0xRO0F4RSt1Y1Y7QWEzdGNJO0VidUtGO0l3RTNMUTtFeEVtdmNSO0FBQ0Y7O0FBcGpjQTtFUS9DRSxpQkFwTGM7RUFxTGQ7RUFDQTtBUnVtY0Y7O0FBbGpjQTtFd0V4TVU7RUFBQTtBeEUrdmNWO0FhM3VjSTtFYm9MSjtJd0V4TVU7SUFBQTtFeEVvd2NSO0FBQ0Y7QWFqdmNJO0Vib0xKO0l3RXhNVTtJQUFBO0V4RTB3Y1I7QUFDRjtBYXZ2Y0k7RWJvTEo7SXdFeE1VO0lBQUE7RXhFZ3hjUjtBQUNGO0FhN3ZjSTtFYm9MSjtJd0V4TVU7SUFBQTtFeEVzeGNSO0FBQ0Y7QWFud2NJO0Vib0xKO0l3RXhNVTtJQUFBO0V4RTR4Y1I7QUFDRjs7QUFqbGNBO0V3RTVNVTtFQUFBO0F4RWt5Y1Y7QWE5d2NJO0Vid0xKO0l3RTVNVTtJQUFBO0V4RXV5Y1I7QUFDRjtBYXB4Y0k7RWJ3TEo7SXdFNU1VO0lBQUE7RXhFNnljUjtBQUNGO0FhMXhjSTtFYndMSjtJd0U1TVU7SUFBQTtFeEVtemNSO0FBQ0Y7QWFoeWNJO0Vid0xKO0l3RTVNVTtJQUFBO0V4RXl6Y1I7QUFDRjtBYXR5Y0k7RWJ3TEo7SXdFNU1VO0lBQUE7RXhFK3pjUjtBQUNGOztBQWhuY0E7RXdFaE5VO0VBQUE7QXhFcTBjVjtBYWp6Y0k7RWI0TEo7SXdFaE5VO0lBQUE7RXhFMDBjUjtBQUNGO0FhdnpjSTtFYjRMSjtJd0VoTlU7SUFBQTtFeEVnMWNSO0FBQ0Y7QWE3emNJO0ViNExKO0l3RWhOVTtJQUFBO0V4RXMxY1I7QUFDRjtBYW4wY0k7RWI0TEo7SXdFaE5VO0lBQUE7RXhFNDFjUjtBQUNGO0FhejBjSTtFYjRMSjtJd0VoTlU7SUFBQTtFeEVrMmNSO0FBQ0Y7O0FBL29jQTtFd0VwTlU7RUFBQTtBeEV3MmNWO0FhcDFjSTtFYmdNSjtJd0VwTlU7SUFBQTtFeEU2MmNSO0FBQ0Y7QWExMWNJO0ViZ01KO0l3RXBOVTtJQUFBO0V4RW0zY1I7QUFDRjtBYWgyY0k7RWJnTUo7SXdFcE5VO0lBQUE7RXhFeTNjUjtBQUNGO0FhdDJjSTtFYmdNSjtJd0VwTlU7SUFBQTtFeEUrM2NSO0FBQ0Y7QWE1MmNJO0ViZ01KO0l3RXBOVTtJQUFBO0V4RXE0Y1I7QUFDRjs7QUExcWNBOztFUS9ERTtBUjh1Y0Y7QVE1dWNFOzs7RUFFRTtBUit1Y0o7QVE1dWNFOztFQUNFLCtDQVYrQjtBUnl2Y25DO0FRNXVjRTs7RUFDRTtFQUNBLCtDQWYyRTtBUjh2Yy9FO0FRN3VjSTs7RUFDRSw2Q0FsQjJIO0FSa3djakk7QVE1dWNFOztFQUNFLHlDQXZCK0I7QVJzd2NuQzs7QUE3cmNBO0VBQ0U7QUFnc2NGO0FBOXJjRTtFQUNFLFVBUFU7RUFRVixXQVJVO0FBd3NjZDs7QUEzcmNFO0VBQ0UsV0FkVTtBQTRzY2Q7O0FBenJjRTtFQUNFLFVBcEJVO0FBZ3RjZDs7QUF2cmNFO0VBQ0UsVUF6Qlk7RUEwQlosV0ExQlk7QUFvdGNoQjs7QUFycmNFO0VBQ0UsVUFoQ1k7QUF3dGNoQjs7QUFqcmNBO0VBQ0U7QUFvcmNGOztBQWpyY0E7RUFDRTtBQW9yY0Y7O0FBanJjQTtFQUNFO0FBb3JjRjs7QUFqcmNBO0V5RS9SRSxrQkErQ2tCO0V6RWtQbEIsc0JRbFRNO0VSbVROO0VBQ0E7RUFDQSxXUXRUTTtFUnVUTixrQlFsUWM7RVJtUWQscUNRM091QjtFUjRPdkI7RUFDQTtBQW9yY0Y7QUFscmNFO0VBR0U7QUFrcmNKO0F3RTc3Y0k7RUFDRTtJeEU4UUYseUJRdlVrQjtJUndVbEIsa0JRcFVJO0lScVVKO0lBQ0E7RUFrcmNGO0FBQ0Y7O0FBM3FjQTtFeUU1VEUsa0JBK0NrQjtFekUrUWxCLHlCUWpWSztFUmtWTDtFQUNBO0VBQ0EsV1FuVk07RVJvVk4sa0JRL1JjO0VSZ1NkLHFDUXhRdUI7RVJ5UXZCO0VBQ0E7QUE4cWNGO0FBNXFjRTtFQUdFO0FBNHFjSjtBd0VwOWNJO0VBQ0U7SXhFNFNGLHlCUXJXa0I7SVJzV2xCO0VBMnFjRjtFQXpxY0U7SUFDRTtFQTJxY0o7QUFDRjs7QUF2cWNBO0VBQ0U7RUFDQTtBQTBxY0Y7QUF4cWNFO0VBR0U7QUF3cWNKO0F3RXIrY0k7RUFDRTtJeEVnVUY7RUF3cWNGO0FBQ0Y7O0FBcHFjRTtFQUNFLHlCUTdYUTtFUjhYUjtBQXVxY0o7O0FBbnFjQTtFQUNFO0VBQ0Esa0JROVRrQjtFUitUbEI7RUFDQSxnQk95TjRCO0VQeE41QjtFd0V6V1E7RXhFMldSLHlCUXpZVTtBUitpZFo7QWE3L2NJO0ViZ1ZKO0l3RXBXVTtFeEVxaGRSO0FBQ0Y7QUF4cWNFO0VBQ0UseUJRN1lRO0VSOFlSO0FBMHFjSjs7QUF0cWNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUF5cWNGO0FBdnFjRTtFQUNFO0FBeXFjSjtBQXRxY0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQlF2VjZCO0FSKy9jakM7QUFscWNJO0VBQ0UseUJRNWFnQjtBUmdsZHRCO0FBanFjSTtFQUNFO0VBQ0EscUJRamJnQjtBUm9sZHRCOztBQTdwY0U7RUFDRTtBQWdxY0o7O0FBNXBjQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQStwY0Y7O0FBNXBjQTtFQUNFO0FBK3BjRjs7QUE1cGNBO0VBQ0U7RUFDQTtBQStwY0Y7O0FBdnBjQTtFQUNFO0FBMHBjRjs7QUF2cGNBO0VBQ0U7RUFDQTtFQUNBO0FBMHBjRjs7QUF2cGNBO0VBQ0U7RUFDQTtFQUNBO0FBMHBjRjs7QUF2cGNBO0VBQ0U7RUFDQTtBQTBwY0Y7O0FBdHBjRTtFQUNFO0FBeXBjSjtBQXRwY0U7RUFDRTtFQUNBO0VBQ0E7QUF3cGNKO0FBdHBjSTtFd0V2ZUk7QXhFZ29kUjtBYTFsZEk7RWJpY0E7SXdFdmVJO0V4RW9vZE47QUFDRjtBQTFwY0k7RUFDRSxXUXJmRTtFUnNmRjtFQUNBO0FBNHBjTjtBQTFwY007RUFDRSxjUS9mYztBUjJwZHRCO0FBeHBjSTtFQUNFO0FBMHBjTjtBQXZwY0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV1E5Z0JFO0VSK2dCRjtBQXlwY047QUF2cGNNO0VBQ0U7QUF5cGNSO0FBcHBjSTtFQUNFLGNRN2hCZ0I7RVI4aEJoQjtFQUNBO0V3RWpoQkU7RXhFbWhCRixxQ1FoZG1CO0VSaWRuQjtBQXNwY047QWFwb2RJO0Vid2VBO0l3RTlnQkk7RXhFOHFkTjtBQUNGO0FBeHBjSTtFd0VyZ0JNO0V4RXVnQko7RUFDQTtBQTBwY047QWE5b2RJO0ViaWZBO0l3RXJnQk07RXhFc3FkUjtBQUNGO0FBN3BjTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FBK3BjUjtBQTdwY1E7RUFDRSx5QlFqakJZO0VSa2pCWixXUTlpQkY7RVIraUJFLHFCUW5qQlk7QVJrdGR0QjtBQXJwY007RUFDRSxXUTFqQkE7QVJpdGRSOztBQTlvY0E7RUFDRTtBQWlwY0Y7QUEvb2NFO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QUFncGNKO0FBOW9jSTtFQUNFO0VBQ0E7RUFDQTtBQWdwY047QUE5b2NNO0VBQ0U7RUFDQTtBQWdwY1I7QUE3b2NNO0VBQ0U7QUErb2NSO0FBM29jSTtFQUNFO0FBNm9jTjtBQTFvY0k7RUFDRTtBQTRvY047QUExb2NNO0VBQ0U7RUFDQTtBQTRvY1I7QUF6b2NNO0VBQ0U7QUEyb2NSO0FBeG9jTTtFQUNFO0VBQ0E7QUEwb2NSO0FBdG9jSTtFQUNFO0VBQ0E7RUFDQTtBQXdvY047QUFyb2NJO0VBQ0U7RUFDQTtFQUNBO0FBdW9jTjtBQXJvY007RUFDRTtBQXVvY1I7QUFyb2NRO0VBQ0U7QUF1b2NWO0FBcG9jUTtFQUNFO0VBQ0E7QUFzb2NWO0FBbm9jUTtFQUNFO0FBcW9jVjtBQS9uY0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWlvY0o7O0FBem5jQTtFeUVocEJFLGtCQXVDa0I7RUEzQlYsUUFGSztFQUVMLE9BRks7RURBTDtFeEV5b0JSO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0FBNm5jRjtBYXp2ZEk7RWJrbkJKO0l3RXRvQlU7RXhFaXhkUjtBQUNGO0FBaG9jRTtFeUU1cEJBLGtCQStDa0I7RURyQ1Y7QXhFc3hkVjtBYWx3ZEk7RWI4bkJGO0l3RWxwQlE7RXhFMHhkUjtBQUNGO0FBcm9jSTtFeUVocUJGLGtCQStDa0I7RXpFbW5CZDtFQUNBO0VBQ0E7RUFDQTtFd0UzcEJJO0V4RTZwQko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBdW9jTjtBYXJ4ZEk7RWJrb0JBO0l3RXRwQk07RXhFNnlkUjtBQUNGO0FhMXhkSTtFYmtvQkE7SXdFdHBCTTtFeEVremRSO0FBQ0Y7QUEvb2NNO0VBRUU7QUFncGNSO0FBOW9jUTtFQUNFO0FBZ3BjVjtBQTVvY007RUFDRTtFeUV4ckJOLGtCQXVDa0I7RUFoQ1o7RUFLRSxZQUZLO0VBS0w7RXpFMnFCRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBaXBjUjtBQTdvY0k7RUFDRTtFQUNBLHlCUTF0QkM7QVJ5MmRQOztBQTFvY0E7RXdFbHNCVTtBeEVnMWRWO0FhNXpkSTtFYjhxQko7SXdFbHNCVTtFeEVvMWRSO0FBQ0Y7O0EwRWg0ZEE7RUYyQ1U7RUFBQTtFQUFBO0VFbENWOzs7Ozs7UUFBQTtFQXFFSTs7SUFBQTtBMUVrMGRKO0FhajFkSTtFNkQvREo7SUYyQ1U7RXhFeTJkUjtBQUNGO0FhdDFkSTtFNkQvREo7SUYyQ1U7RXhFODJkUjtBQUNGO0FhMzFkSTtFNkQvREo7SUYyQ1U7RXhFbTNkUjtBQUNGO0EwRTE1ZEk7RUFDRTtBMUU0NWROO0EwRWo1ZEk7RUFDRTtBMUVtNWROO0EwRWg1ZEk7RUFDRTtBMUVrNWROO0EwRS80ZEk7RUFDRTtFQUNBO0VBQ0E7QTFFaTVkTjtBMEU5NGRJO0VBQ0U7RUFDQTtFQUNBO0ExRWc1ZE47QTBFNzRkSTtFQUNFO0ExRSs0ZE47QTBFNTRkSTtFQUNFO0ExRTg0ZE47QTBFNTRkSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUU4NGROO0EwRTE0ZEk7RUFDRTtBMUU0NGROO0EwRXo0ZEk7RUFDRTtBMUUyNGROO0EwRXg0ZEk7RUFDRTtBMUUwNGROO0EwRXY0ZEk7RUFDRTtBMUV5NGROO0EwRXQ0ZEk7RUFDRTtBMUV3NGROO0EwRTEzZEk7RUFDRTtBMUU0M2ROO0EwRXozZEk7RUFDRTtBMUUyM2ROO0EwRXgzZEk7RUFDRTtBMUUwM2ROO0EwRXYzZEk7RUFDRTtBMUV5M2ROO0EwRXQzZEk7RUFDRTtFQUNBO0ExRXczZE47QTBFcjNkSTtFQUNFO0ExRXUzZE47QTBFcjNkSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUV1M2ROO0EwRW4zZEk7RUFDRTtBMUVxM2ROO0EwRWwzZEk7RUFDRTtBMUVvM2ROOztBMkU3K2RJO0VBQ0U7QTNFZy9kTjtBMkU1K2RFO0VBQ0U7RUFDQSxxQ25FbURtQjtFbUVsRG5CO0VBQ0E7QTNFOCtkSjtBMkU1K2RJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0U4K2ROO0EyRTUrZE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRTgrZFI7QWE1N2RJO0U4RDVDRTtJQUNFO0lBQ0E7O0tBQUE7RTNFNitkTjtBQUNGO0FhajlkSTtFOERyQkU7SUFDRTtJQUNBOztLQUFBO0UzRTIrZE47QUFDRjtBMkVwK2RFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUhqQk07RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QXhFNi9kVjtBYXorZEk7RThEWEY7SUhUUTtFeEVpZ2VSO0FBQ0Y7QWE5K2RJO0U4RFhGO0lIVFE7RXhFc2dlUjtBQUNGO0Fhbi9kSTtFOERYRjtJSFRRO0V4RTJnZVI7QUFDRjtBYXgvZEk7RThEWEY7SUhUUTtFeEVnaGVSO0FBQ0Y7QWE3L2RJO0U4RFhGO0lIVFE7RXhFcWhlUjtBQUNGO0FhbGdlSTtFOERYRjtJSFRRO0V4RTBoZVI7QUFDRjtBYXZnZUk7RThEWEY7SUhUUTtFeEUraGVSO0FBQ0Y7QWE1Z2VJO0U4RFhGO0lIVFE7RXhFb2llUjtBQUNGO0FhamhlSTtFOERYRjtJSFRRO0V4RXlpZVI7QUFDRjtBYXRoZUk7RThEWEY7SUhUUTtFeEU4aWVSO0FBQ0Y7QWEzaGVJO0U4RFhGO0lIVFE7RXhFbWplUjtBQUNGO0EyRXBoZUk7RUFDRSxXbkU3REU7RWdFVUE7RUdxREYscUNuRWNtQjtFbUVibkI7RUFDQTtFQUNBO0EzRXNoZU47QWF4aWVJO0U4RFlBO0lIbERJO0V4RWtsZU47QUFDRjtBMkV4aGVJO0VBQ0UscUNuRU9tQjtFbUVObkIsV25FdkVFO0VtRXdFRjtFSDVDSTtBeEV1a2VWO0FhbmplSTtFOERxQkE7SUh6Q007RXhFMmtlUjtBQUNGO0EyRTNoZUk7RUhuRUk7RUdxRUY7RUFDQTtBM0U2aGVOO0FhN2plSTtFOEQ2QkE7SUhuRUk7RXhFdW1lTjtBQUNGO0EyRWhpZU07RUFDRTtBM0VraWVSO0EyRS9oZU07RXZFOExFO0FKbzJkUjtBSWhnZUk7RXVFbENFO0l2RXFNRTtFSmkyZE47QUFDRjtBMkVsaWVJO0VIL0RNO0F4RW9tZVY7QWFobGVJO0U4RDJDQTtJSC9ETTtFeEV3bWVSO0FBQ0Y7QTJFcmllTTtFdkVvTEU7RXVFbExBO0EzRXVpZVI7QUlqaGVJO0V1RXhCRTtJdkUyTEU7RUprM2ROO0FBQ0Y7QTJFemllTTtFQUNFO0VBQ0E7RUFDQSxpQm5FakJXO0VtRWtCWDtBM0UyaWVSO0EyRXRpZUk7RUFDRTtBM0V3aWVOOztBNEV0cWVBO0VBQ0U7RUowQ1E7QXhFZ29lVjtBYTVtZUk7RStEL0RKO0lKMkNVO0V4RW9vZVI7QUFDRjtBNEUzcWVFOztFQUVFO0VKb0NNO0VBQUE7RUFBQTtFQUFBO0F4RTZvZVY7QWF6bmVJO0UrRDFERjs7SUpzQ1E7RXhFa3BlUjtBQUNGO0FhL25lSTtFK0QxREY7O0lKc0NRO0V4RXdwZVI7QUFDRjtBYXJvZUk7RStEMURGOztJSnNDUTtFeEU4cGVSO0FBQ0Y7QWEzb2VJO0UrRDFERjs7SUpzQ1E7RXhFb3FlUjtBQUNGO0E0RWhzZU07O0VBRUU7RUp5QkU7RUFBQTtFQUFBO0VBQUE7QXhFNnFlVjtBYXpwZUk7RStEL0NFOztJSjJCSTtFeEVrcmVSO0FBQ0Y7QWEvcGVJO0UrRC9DRTs7SUoyQkk7RXhFd3JlUjtBQUNGO0FhcnFlSTtFK0QvQ0U7O0lKMkJJO0V4RThyZVI7QUFDRjtBYTNxZUk7RStEL0NFOztJSjJCSTtFeEVvc2VSO0FBQ0Y7QTRFdnRlTTtFQUNFO0E1RXl0ZVI7QTRFcnRlRTtFSmFRO0F4RTJzZVY7QWF2cmVJO0UrRGpDRjtJSmFRO0V4RStzZVI7QUFDRjtBNEV6dGVFO0VBQ0UsV3BFbkJJO0VvRW9CSjtFSlhJO0F4RXV1ZVI7QWFqc2VJO0UrRDdCRjtJSlRNO0V4RTJ1ZU47QUFDRjtBNEU3dGVFO0VBR0U7RUhWRixrQkErQ2tCO0VHbkNoQjtFQUNBO0VBQ0E7QTVFNnRlSjtBNEVodGVJO0VBQ0U7RUFDQTtFQUNBLHlCcEVwRGdCO0VvRXFEaEI7RUFDQTtFSnRCSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBbEJGO0F4RWd3ZVI7QWExdGVJO0UrREhBO0lKakJNO0V4RWt2ZVI7QUFDRjtBYS90ZUk7RStESEE7SUpqQk07SUFBQTtFeEV3dmVSO0FBQ0Y7QWFydWVJO0UrREhBO0lKakJNO0lBQUE7RXhFOHZlUjtBQUNGO0FhM3VlSTtFK0RIQTtJSm5DSTtFeEVxeGVOO0FBQ0Y7QTRFdnVlSTtFSHZDRixrQkErQ2tCO0VHTGQ7RUFDQTtFSmpDSTtFSW1DSix5QnBFbEVXO0VvRW1FWDtFQUNBO0VBQ0E7QTVFd3VlTjtBYTF2ZUk7RStEU0E7SUo3Qk07RXhFa3hlUjtBQUNGO0E0RTN1ZU07RUFDRTtFQUNBO0E1RTZ1ZVI7QTRFcHVlSTtFSm5ETTtFSXFESjtBNUVzdWVOO0FhdndlSTtFK0QrQkE7SUpuRE07RXhFK3hlUjtBQUNGO0E0RTF1ZU07RUp0REk7QXhFbXllVjtBYS93ZUk7RStEa0NFO0lKdERJO0V4RXV5ZVI7QUFDRjtBNEUvdWVNO0VKekRJO0F4RTJ5ZVY7QWF2eGVJO0UrRHFDRTtJSnpESTtFeEUreWVSO0FBQ0Y7QTRFbHZlSTs7O0VIeEVGLGtCQStDa0I7RUc4QmQ7RUFDQSxXcEUvRkU7RW9FZ0dGO0E1RW12ZU47QTRFN3VlSTs7RUFFRSxpQnBFbEJhO0VvRW1CYjtBNUUrdWVOO0E0RTV1ZUk7RUpuR0k7QXhFazFlUjtBNEUzdWVJO0VKdkdJO0VJeUdGO0VBQ0E7QTVFNnVlTjtBYWp6ZUk7RStEaUVBO0lKdkdJO0V4RTIxZU47QUFDRjtBNEUvdWVJO0VBQ0U7RUFFQTtFQUVBO0VKaEdJO0VBQUE7RUFBQTtFQWxCRjtBeEVxMmVSO0FhL3plSTtFK0R1RUE7SUozRk07RXhFdTFlUjtBQUNGO0FhcDBlSTtFK0R1RUE7SUozRk07SUFBQTtFeEU2MWVSO0FBQ0Y7QWExMGVJO0UrRHVFQTtJSjdHSTtFeEVvM2VOO0FBQ0Y7QTRFNXZlSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VKM0dJO0VBQUE7RUFsQkY7QXhFODNlUjtBNEVod2VNO0VBQ0U7RUFDQTtBNUVrd2VSO0FhNTFlSTtFK0RtRkE7SUp2R007RXhFbzNlUjtBQUNGO0FhajJlSTtFK0RtRkE7SUp2R007RXhFeTNlUjtBQUNGO0E0RWx3ZUk7RUoxSUk7QXhFKzRlUjtBYXoyZUk7RStEb0dBO0lKMUlJO0V4RW01ZU47QUFDRjtBNEV0d2VRO0VBQ0U7RUFDQSxjcEU5Slk7QVJzNmV0QjtBNEV2d2VVO0VBQ0UsY3BFdkpBO0VvRXdKQTtFQUNBO0E1RXl3ZVo7QTRFdndlVTtFQUNFO0E1RXl3ZVo7QTRFL3ZlSTtFQUNFO0VBQ0E7RUpuS0U7QXhFcTZlUjs7QTZFOTdlQTtFTDJDVTtFQUFBO0VLekNSO0VBQ0E7RUFDQTtFekUrUk07RXlFN1JOO0E3RWs4ZUY7QWF6NGVJO0VnRS9ESjtJTDJDVTtJQUFBO0V4RWs2ZVI7QUFDRjtBYS80ZUk7RWdFL0RKO0lMMkNVO0lBQUE7RXhFdzZlUjtBQUNGO0FhcjVlSTtFZ0UvREo7SUwyQ1U7SUFBQTtFeEU4NmVSO0FBQ0Y7QWEzNWVJO0VnRS9ESjtJTDJDVTtJQUFBO0V4RW83ZVI7QUFDRjtBYWo2ZUk7RWdFL0RKO0lMMkNVO0lBQUE7RXhFMDdlUjtBQUNGO0FJLzFlSTtFeUV2SUo7SXpFMFNRO0VKZ3NlTjtBQUNGOztBOEUzK2VBO0VBQ0U7RU4wQ1E7RUFBQTtBeEVzOGVWO0FhbDdlSTtFaUUvREo7SU4yQ1U7RXhFMDhlUjtBQUNGO0FhdjdlSTtFaUUvREo7SU4yQ1U7RXhFKzhlUjtBQUNGO0FhNTdlSTtFaUUvREo7SU4yQ1U7RXhFbzllUjtBQUNGO0FhajhlSTtFaUUvREo7SU4yQ1U7RXhFeTllUjtBQUNGO0E4RWpnZkU7RUFFRTtBOUVrZ2ZKO0E4RTUvZUU7RUFDRTtBOUU4L2VKO0E4RTMvZUU7RUFDRTtFTjBCTTtBeEVvK2VWO0FhaDllSTtFaUUvQ0Y7SU4yQlE7RXhFdytlUjtBQUNGO0E4RTkvZUU7RUFDRSx5QnRFWGE7RXNFWWI7RUFDQTtFQUNBO0VOaUJNO0F4RWcvZVY7QWE1OWVJO0VpRXpDRjtJTnFCUTtFeEVvL2VSO0FBQ0Y7QThFbGdmSTtFTmFNO0F4RXcvZVY7QThFaGdmRTtFQUNFO0E5RWtnZko7QThFLy9lRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RWlnZko7QThFOS9lRTtFQUNFO0VBQ0E7RU5YTTtBeEU0Z2ZWO0FheC9lSTtFaUVYRjtJTlRRO0V4RWdoZlI7QUFDRjtBOEVuZ2ZJO0VBQ0U7QTlFcWdmTjtBOEVqZ2ZFO0VBQ0U7RUFDQTtFTnJCTTtBeEV5aGZWO0FhcmdmSTtFaUVERjtJTm5CUTtFeEU2aGZSO0FBQ0Y7QThFdGdmSTtFQUNFO0E5RXdnZk47O0E4RWxnZkE7RUFDRTtFQUNBO0E5RXFnZkY7O0E4RWxnZkE7QUFDQTs7O0VBR0U7QTlFcWdmRjs7QThFbGdmQTtFQUNFO0E5RXFnZkY7O0E4RWxnZkE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtBOUVxZ2ZGOztBOEVqZ2ZBO0FBQ0E7RUFBcUI7RUFBZ0I7RUFBYTtBOUV1Z2ZsRDs7QStFeG1mRTtFTitCQSxrQkErQ2tCO0F6RThoZnBCOztBZ0Y5bWZBO0VBQ0U7RUFDQSxXeEVjTTtFZ0UyQkU7RUFBQTtBeEUwa2ZWO0FhdGpmSTtFbUUvREo7SVIyQ1U7RXhFOGtmUjtBQUNGO0FhM2pmSTtFbUUvREo7SVIyQ1U7RXhFbWxmUjtBQUNGO0FhbmpmSTtFbUV0RUY7SUFFSTtFaEYybmZKO0FBQ0Y7QWdGeG5mRTtFQUNFO0VBQ0E7QWhGMG5mSjtBZ0Z6bmZJO0VBQ0k7QWhGMm5mUjtBZ0Z6bmZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRjJuZk47QWdGem5mTTtFQUNFO0FoRjJuZlI7QWdGMW5mUTtFQUNFO0FoRjRuZlY7QWdGM25mVTtFQUNFO0VBQ0E7QWhGNm5mWjtBZ0ZubmZRO0VBQ0U7RUFDQTtBaEZxbmZWO0FnRm5uZlU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnFuZlo7QWdGbG5mVTtFQUNFLG1CeEV0Q0M7QVIwcGZiO0FnRmxuZlk7RUFDRTtBaEZvbmZkO0FnRi9tZlE7RVJwQkU7RVFzQkE7RUFDQTtFQUNBO0FoRmluZlY7QWFybmZJO0VtRUFJO0lScEJFO0V4RTZvZlI7QUFDRjtBYTFuZkk7RW1FQUk7SVJwQkU7RXhFa3BmUjtBQUNGO0FnRnpuZlU7RUFDRSxjeEV4REw7RWdFV0M7RVErQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRjJuZlo7QWF6b2ZJO0VtRU1NO0lSNUNGO0V4RW1yZk47QUFDRjtBZ0YzbmZVO0VBQ0U7QWhGNm5mWjtBZ0YxbmZVO0VBQ0U7QWhGNG5mWjtBYXZvZkk7RW1FbUJBO0lBRUk7RWhGc25mTjtBQUNGOztBZ0ZqbmZBO0FBQ0E7RUFDRTtJQUVFO0lBS0E7SUFNQTtJQVVBO0lBZ0JBO0lBU0E7SUFRQTtFaEZta2ZGO0VnRnhuZkU7SUFDRTtFaEYwbmZKO0VnRnRuZkU7SUFDRTtJQUNBO0VoRnduZko7RWdGcG5mRTtJQUNFO0lBQ0E7SUFDQTtFaEZzbmZKO0VnRnJuZkk7SUFDRTtFaEZ1bmZOO0VnRmxuZkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VoRm9uZko7RWdGam5mRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VoRm1uZko7RWdGL21mRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhGaW5mSjtFZ0Y3bWZFOzs7O0lBSUU7RWhGK21mSjtFZ0YzbWZFOztJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhGNm1mSjtBQUNGO0FpRnR4ZkE7RUFDRSx5QnpFZ0JXO0VnRTBCSDtFQUFBO0F4RWd2ZlY7QWE1dGZJO0VvRS9ESjtJVDJDVTtJQUFBO0V4RXF2ZlI7QUFDRjtBYWx1Zkk7RW9FL0RKO0lUMkNVO0lBQUE7RXhFMnZmUjtBQUNGO0FheHVmSTtFb0UvREo7SVQyQ1U7SUFBQTtFeEVpd2ZSO0FBQ0Y7QWE5dWZJO0VvRS9ESjtJVDJDVTtJQUFBO0V4RXV3ZlI7QUFDRjtBYXB2Zkk7RW9FL0RKO0lUMkNVO0lBQUE7RXhFNndmUjtBQUNGO0FpRnJ6ZkU7RUFDRTtFQUNBLGN6RWlDUztFZ0VkTDtBeEVxeWZSO0FhL3ZmSTtFb0UzREY7SVRxQk07RXhFeXlmTjtBQUNGO0FpRnp6ZkU7RUFDRSxjekU0QlM7RXlFM0JULHFDekVnRnFCO0V5RS9FckI7RUFDQTtFVFdJO0F4RWl6ZlI7QWEzd2ZJO0VvRXJERjtJVGVNO0V4RXF6Zk47QUFDRjtBaUY3emZFO0VBQ0UsY3pFb0JTO0V5RW5CVCxxQ3pFd0VxQjtFeUV2RXJCO0VBQ0E7RVRHSTtBeEU2emZSO0FhdnhmSTtFb0U3Q0Y7SVRPTTtFeEVpMGZOO0FBQ0Y7QWlGajBmRTtFQUNFLGN6RVlTO0VnRWRMO0F4RXMwZlI7QWFoeWZJO0VvRXJDRjtJVERNO0V4RTAwZk47QUFDRjtBaUZyMGZFO0VBQ0UsY3pFbEJHO0VnRVdDO0VTU0o7QWpGdTBmSjtBaUZwMGZFO0VBQ0U7RUFDQTtFQUNBO0FqRnMwZko7QWlGbjBmRTtFQUNFO0VBQ0E7QWpGcTBmSjtBaUZwMGZJO0VBQ0U7QWpGczBmTjtBaUZsMGZFO0VBQ0UseUJ6RXBCVTtFeUVxQlY7RUFDQTtFQUNBO0VUWk07QXhFaTFmVjtBYTd6Zkk7RW9FWkY7SVRSUTtFeEVxMWZSO0FBQ0Y7QWlGdDBmRTtFQUNFLHlCekUzQlU7QVJtMmZkO0FpRnIwZkU7RUFDRTtBakZ1MGZKO0FpRnQwZkk7RVR4Q0k7QXhFaTNmUjtBYTMwZkk7RW9FRUE7SVR4Q0k7RXhFcTNmTjtBQUNGOztBa0YvNGZBO0VWMkNVO0F4RXcyZlY7QWFwMWZJO0VxRS9ESjtJVjJDVTtFeEU0MmZSO0FBQ0Y7QWtGcjVmSTtFQUNJO0VBQ0E7RUFDQTtFVnFDRTtFVW5DRjtBbEZ1NWZSO0FhaDJmSTtFcUU1REE7SVZ3Q007RXhFdzNmUjtBQUNGO0FrRjE1ZlE7RUFDSSxjMUVHTDtFZ0VXQztFVVpJO0VBQ0E7QWxGNDVmWjtBYTMyZkk7RXFFckRJO0lWZUE7RXhFcTVmTjtBQUNGOztBbUY3NmZBO0VBQ0U7QW5GZzdmRjs7QW1GNTZmRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkYrNmZKO0FtRjk2Zkk7RUFDRSxrQjNFcURVO0FSMjNmaEI7QW1GOTZmTTtFQUNFO0FuRmc3ZlI7QW1GNzZmTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFWFJBO0F4RXc3ZlI7QWFsNWZJO0VzRTFDRTtJWElFO0V4RTQ3Zk47QUFDRjtBbUY3NmZRO0VBQ0U7RUFDQTtFQUNBLFczRTVCRjtBUjI4ZlI7QW1GNTZmUTtFQUNFO0FuRjg2ZlY7QW1GMTZmTTtFQUNFO0VBRUE7RVhaRTtBeEV3N2ZWO0FhcDZmSTtFc0VYRTtJWFRJO0V4RTQ3ZlI7QUFDRjtBbUZ4NmZRO0VBQ0U7RUFDQTtBbkYwNmZWO0FtRno2ZlU7RUFDRTtFQUNBLGMzRU5DO0VnRXBCSDtBeEVzOGZWO0FhbDdmSTtFc0VJTTtJWHhCQTtFeEUwOGZSO0FBQ0Y7QW1GcDZmWTtFQUNFO0FuRnM2ZmQ7QW1GcDZmWTtFQUNFO0FuRnM2ZmQ7QW1GbDZmWTtFQUNFO0FuRm82ZmQ7QW1GajZmWTtFWHJFSjtFVzRFTTtFQUNBLGMzRTNGUTtFMkU0RlIscUMzRVhXO0UyRVlYO0FuRjg1ZmQ7QWF2OGZJO0VzRStCUTtJWHJFSjtFeEVpL2ZOO0FBQ0Y7QW1GaDZmWTtFWGxGSjtFV3lGTSxjM0V2R1E7RTJFd0dSLHFDM0V2Qlc7RTJFd0JYO0FuRjY1ZmQ7QWFsOWZJO0VzRTRDUTtJWGxGSjtFeEU0L2ZOO0FBQ0Y7QW1GaDZmYztFWDdGTjtBeEVnZ2dCUjtBYTE5Zkk7RXNFdURVO0lYN0ZOO0V4RW9nZ0JOO0FBQ0Y7QW1GNzVmYztFQUNFO0FuRis1ZmhCO0FtRjM1Zlk7RUFDRSxjM0V4RUQ7QVJxK2ZiO0FtRjU1ZmM7RVgvR047QXhFOGdnQlI7QWF4K2ZJO0VzRXlFVTtJWC9HTjtFeEVraGdCTjtBQUNGO0FtRjM1ZmdCO0VBQ0U7QW5GNjVmbEI7QW1GeDVmWTtFQUNFO0VBQ0E7RVg5R0o7QXhFeWdnQlY7QWFyL2ZJO0VzRXdGUTtJWDVHRjtFeEU2Z2dCUjtBQUNGO0FtRnA1ZlE7RUFFRTtBbkZxNWZWO0FtRnA1ZlU7RUFDRTtFQUNBO0FuRnM1Zlo7O0FvRmhrZ0JBO0VBRUU7RUFFQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBY0E7RUFtQkE7RUFNQTtFQXVIQTtBcEZzNmZGO0FvRjVqZ0JJO0VBQ0U7QXBGOGpnQk47QW9GeGpnQkU7RUFDRTtBcEYwamdCSjtBb0Z2amdCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZ5amdCSjtBb0Z0amdCRTtFQUNFO0VBQ0E7QXBGd2pnQko7QW9GcGpnQkU7RUFDRTtFQUNBO0FwRnNqZ0JKO0FvRmxqZ0JFO0VBQ0U7QXBGb2pnQko7QW9GampnQkU7RUFDRTtBcEZtamdCSjtBb0YvaWdCRTtFQUNFO0VBQ0EsZ0I1RTVDSTtBUjZsZ0JSO0FvRjFpZ0JFO0VBR0U7O0lBQUE7QXBGNGlnQko7QW9GdmlnQkU7RVpoQ1E7RUFBQTtFWWtDTixzQjVFN0RJO0U0RThESixXNUUvREk7RWdFVUE7RVl1REo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBdUNBO0VBMEJBO0FwRjIrZko7QWFya2dCSTtFdUVZRjtJWmhDUTtJQUFBO0V4RThsZ0JSO0FBQ0Y7QWEza2dCSTtFdUVZRjtJWmhDUTtJQUFBO0V4RW9tZ0JSO0FBQ0Y7QW9GdGpnQkk7RUFDRTtBcEZ3amdCTjtBb0ZyamdCSTtFQUNFO0VBQ0E7RVp2RUU7RVl5RUY7RUFDQTtBcEZ1amdCTjtBb0ZwamdCSTtFQUNFO0FwRnNqZ0JOO0FvRmxqZ0JJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXNUVqR0U7RTRFa0dGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRm9qZ0JOO0FvRmpqZ0JJO0VBQ0Usc0I1RTVHRTtFNEU2R0YsVzVFNUdFO0FSK3BnQlI7QW9GL2lnQkk7RUFDRTtJQUNFO0lBQ0E7RXBGaWpnQk47RW9GOWlnQkk7SUFDRTtFcEZnamdCTjtFb0YzaWdCTTtJQUNFO0VwRjZpZ0JSO0VvRjFpZ0JNO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RXBGNGlnQlI7QUFDRjtBYWxvZ0JJO0V1RVlGO0lBZ0ZJO0lBQ0E7RXBGMGlnQko7QUFDRjtBYXhvZ0JJO0V1RWlHRTtJWC9ISixrQkF1Q2tCO0lBM0JWLFNBRks7SVd1SFA7RXBGMmlnQk47QUFDRjtBb0Z0aWdCRTtFQUNFO0lBQU87RXBGeWlnQlQ7RW9GeGlnQkU7SUFBTztFcEYyaWdCVDtBQUNGO0FvRnhpZ0JFO0VabklRO0F4RThxZ0JWO0FhMXBnQkk7RXVFK0dGO0labklRO0V4RWtyZ0JSO0FBQ0Y7QW9GdmlnQkk7RUFFRTtBcEZ3aWdCTjtBb0ZyaWdCSTtFWmpKTTtFWW1KSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGdWlnQk47QWEzcWdCSTtFdUU2SEE7SVpqSk07RXhFbXNnQlI7QUFDRjtBb0Z2aWdCRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RVpwS007RUFBQTtFQUFBO0F4RThzZ0JWO0FhMXJnQkk7RXVFeUlGO0laN0pRO0V4RWt0Z0JSO0FBQ0Y7QWEvcmdCSTtFdUV5SUY7SVo3SlE7RXhFdXRnQlI7QUFDRjtBYXBzZ0JJO0V1RXlJRjtJWjdKUTtFeEU0dGdCUjtBQUNGO0FvRm5qZ0JJOzs7RUFHRSxzQjVFek1FO0U0RTBNRjtFQUNBO0FwRnFqZ0JOO0FvRmxqZ0JJO0VBQ0U7QXBGb2pnQk47QW9GampnQkk7RUFDRSx5QjVFdk5nQjtBUjB3Z0J0QjtBb0ZqamdCTTs7O0VBR0U7RUFDQSxzQjVFek5BO0FSNHdnQlI7QW9GaGpnQk07RUFDRSx5QjVFcE1ZO0FSc3ZnQnBCO0FvRmhqZ0JROzs7RUFHRTtFQUNBLHlCNUVwT0g7QVJzeGdCUDtBb0YzaWdCTTs7O0VBR0U7QXBGNmlnQlI7QW9GemlnQkk7RUFDRTtFQUVBO0VBQ0E7RUFDQTtBcEYwaWdCTjtBb0Z2aWdCTTtFQUVFO0VBRUE7RUFDQTtFQUNBO0FwRnVpZ0JSO0FvRnJpZ0JRO0VBQ0U7QXBGdWlnQlY7QW9GcGlnQlE7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VaalFGO0F4RXV5Z0JSO0FhandnQkk7RXVFcU5JO0laM1BBO0V4RTJ5Z0JOO0FBQ0Y7QW9GeGlnQlU7RUFDRSxXNUU5UUo7QVJ3emdCUjtBb0Z2aWdCVTtFQUNFO0FwRnlpZ0JaO0FvRnJpZ0JRO0VBQ0U7RUFFQSxXNUUxUkY7RTRFMlJFO0FwRnNpZ0JWO0FvRnJpZ0JVO0VBQ0U7QXBGdWlnQlo7QW9GcGlnQlk7RUFDRTtFQUNBO0FwRnNpZ0JkO0FvRmhpZ0JNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGa2lnQlI7QW9GaGlnQlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRmtpZ0JWO0FvRi9oZ0JRO0VBQ0U7QXBGaWlnQlY7QW9GN2hnQlE7RUFDRTtBcEYraGdCVjtBb0Z6aGdCSTtFQUNFO0FwRjJoZ0JOO0FvRnpoZ0JNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXBGMmhnQlI7QW9GdmhnQk07RUFDRTtFQUNBO0FwRnloZ0JSO0FvRnRoZ0JNO0VBQ0U7RUFDQTtBcEZ3aGdCUjtBb0ZyaGdCTTtFQUNFO0FwRnVoZ0JSO0FvRnJoZ0JRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGdWhnQlY7QW9GcmhnQlU7RUFDRTtFQUNBO0FwRnVoZ0JaO0FvRm5oZ0JRO0VBQ0U7RUFDQTtFQUNBO0FwRnFoZ0JWO0FvRm5oZ0JVO0VBQ0U7RUFDQTtFQUNBO0FwRnFoZ0JaO0FvRm5oZ0JZO0VBQ0U7RUFDQTtBcEZxaGdCZDtBb0ZqaGdCWTtFQUNFO0VBQ0E7QXBGbWhnQmQ7QW9GemdnQkk7RUFDRTtFQUNBO0FwRjJnZ0JOO0FvRnhnZ0JJO0VBMU5GO0lBNE5JO0VwRjBnZ0JKO0VvRnpnZ0JJO0lBQ0U7RXBGMmdnQk47RW9GeGdnQkk7SUFDRTtFcEYwZ2dCTjtBQUNGO0FvRnRnZ0JJO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RVp6WUk7RUFBQTtBeEVrNWdCVjtBYTkzZ0JJO0V1RWdYQTtJWnBZTTtFeEVzNWdCUjtBQUNGO0FhbjRnQkk7RXVFZ1hBO0lacFlNO0V4RTI1Z0JSO0FBQ0Y7QW9GemdnQlU7RVpyYUY7RVl1YUksVzVFaGJKO0FSMjdnQlI7QW9GcmdnQlU7RVozWkE7QXhFbTZnQlY7QWEvNGdCSTtFdUV1WU07SVozWkE7RXhFdTZnQlI7QUFDRjtBYXA1Z0JJO0V1RXVZTTtJWjNaQTtFeEU0NmdCUjtBQUNGO0FvRjdnZ0JRO0VBQ0U7RUFDQSxXNUU5YkY7RTRFK2JFO0VBQ0E7RUFDQTtFWnZiRjtBeEV1OGdCUjtBb0Y1Z2dCVTtFQUNFO0VBQ0E7QXBGOGdnQlo7QW9GNWdnQlk7RUFDRTtBcEY4Z2dCZDtBb0YxZ2dCVTtFWnBjRjtFWXNjSSxjNUVqZEw7RTRFa2RLO0FwRjRnZ0JaO0FvRnRnZ0JRO0VBQ0U7QXBGd2dnQlY7QW9GOS9mUTtFQUNFO0VBQ0E7QXBGZ2dnQlY7QW9Gei9mUTtFQU1FO0VBQ0E7RVp0ZEE7RUFBQTtFWTBkQTs7Ozs7S0FBQTtBcEYwL2ZWO0FhaDhnQkk7RXVFMmJJO0laL2NFO0V4RXc5Z0JSO0FBQ0Y7QWFyOGdCSTtFdUUyYkk7SVovY0U7RXhFNjlnQlI7QUFDRjtBb0Y3L2ZVO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsZ0I1RWhnQko7RTRFaWdCSSxXNUVsZ0JKO0U0RW1nQkk7RUFDQTtBcEYrL2ZaO0FvRjcvZlk7RUFDRTtBcEYrL2ZkO0FvRjUvZlk7RUFDRTtBcEY4L2ZkO0FvRjMvZlk7RUFDRTtBcEY2L2ZkO0FvRngvZlU7RUFDRSxnQjVFcGhCSjtFNEVxaEJJLFc1RXRoQko7QVJnaGhCUjtBb0ZsL2ZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFWjFnQkk7QXhFKy9nQlY7QWEzK2dCSTtFdUU4ZUE7SVpsZ0JNO0V4RW1naEJSO0FBQ0Y7QW9GdC9mTTtFQVpGO0lBYUk7RXBGeS9mTjtBQUNGO0FvRnYvZk07RVpsaEJJO0F4RTRnaEJWO0FheC9nQkk7RXVFOGZFO0labGhCSTtFeEVnaGhCUjtBQUNGO0F3RWpnaEJNO0VZdWdCRSxjNUV2akJjO0FSb2poQnRCO0F3RXBnaEJNO0VZdWdCRSxjNUV2akJjO0FSdWpoQnRCO0F3RS8vZ0JJO0VBQ0U7SVk4ZkUsYzVFdmpCYztFUjJqaEJwQjtBQUNGO0FvRmxnZ0JNO0VBQ0UsVzVFdGpCQTtBUjBqaEJSO0FvRmpnZ0JNO0VBQ0U7QXBGbWdnQlI7QW9GNy9mTTtFQUZGO0lBR0k7SUFDQTtFcEZnZ2dCTjtFb0Y5L2ZNO0lBQ0U7SUFDQTtJQUNBO0VwRmdnZ0JSO0FBQ0Y7QWF6aGhCSTtFdUU2aEJJO0lBQ0U7SUFDQTtJQUNBO0VwRisvZlI7QUFDRjtBb0YzL2ZNO0VaempCSTtFQUFBO0VBQUE7QXhFeWpoQlY7QWFyaWhCSTtFdUVxaUJFO0laempCSTtFeEU2amhCUjtBQUNGO0FhMWloQkk7RXVFcWlCRTtJWnpqQkk7RXhFa2toQlI7QUFDRjtBYS9paEJJO0V1RXFpQkU7SVp6akJJO0V4RXVraEJSO0FBQ0Y7QW9GMWdnQlE7RUFDRTtFQUdBO0FwRjBnZ0JWO0FheGpoQkk7RXVFMGlCSTtJWjlqQkU7RXhFZ2xoQlI7QUFDRjtBb0Y3Z2dCVTtFQUNFO0FwRitnZ0JaO0FvRjFnZ0JZOzs7RUFHRTtBcEY0Z2dCZDtBb0ZuZ2dCUTtFQUZGO0lYOWxCSixrQkF1Q2tCO0lBaENaO0lBUUU7SUFBQTtJV21sQkE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0VwRnVnZ0JSO0VvRnBnZ0JRO0lBQ0U7SUFDQTtFcEZzZ2dCVjtFb0ZuZ2dCUTtJQUNFLHNCNUU3b0JKO0VSa3BoQk47RW9GbmdnQlU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VwRnFnZ0JaO0VvRmpnZ0JRO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VwRm1nZ0JWO0VvRmpnZ0JVO0lBQ0U7SUFDQTtFcEZtZ2dCWjtFb0ZqZ2dCWTtJQUNFLGM1RTVxQlQ7STRFNnFCUztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDRTtFcEZtZ2dCaEI7RW9GamdnQmdCO0lBQ0U7SUFDQTtFcEZtZ2dCbEI7RW9GNS9mVTtJQUNFO0lBQ0E7SUFDQSxjNUVqc0JQO0VSK3JoQkw7RW9GMS9mUTtJQUNFLHlCNUV6c0JVO0VScXNoQnBCO0VvRjMvZlU7SUFDRTtJQUNBO0lBQ0E7RXBGNi9mWjtFb0YzL2ZVO0lBQ0U7SUFDQTtFcEY2L2ZaO0VvRjMvZlk7SUFDRTtFcEY2L2ZkO0VvRnovZlU7O0lBRUU7SUFDQTtFcEYyL2ZaO0VvRnQvZlU7SVpsdEJKO0lZb3RCTSxXNUU5dEJOO0k0RSt0Qk07SUFDQTtFcEZ3L2ZaO0FBQ0Y7QW9GbC9mSTtFQUNFO0VBQ0E7RUFDQTtFWjlzQkk7QXhFbXNoQlY7QWEvcWhCSTtFdUV1ckJBO0laM3NCTTtFeEV1c2hCUjtBQUNGO0FvRnYvZk07RUFDRTtBcEZ5L2ZSO0FvRnAvZlU7RUFDRTtFQUNBO0VBQ0E7QXBGcy9mWjtBb0ZwL2ZVO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QXBGcS9mWjtBb0ZuL2ZZO0VBRUU7RUFFQTtBcEZtL2ZkO0FvRmgvZlk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRmsvZmQ7QW9GaC9mYztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZrL2ZoQjtBb0ZoL2ZnQjtFQUNFO0VBQ0E7QXBGay9mbEI7QW9GMytmWTtFQUNFO0FwRjYrZmQ7QW9GeitmVTtFQUNFO0FwRjIrZlo7QW9GeCtmVTtFWm55QkY7RVlxeUJJLFc1RS95Qko7RTRFZ3pCSSxxQzVFbnVCYTtFNEVvdUJiO0VBQ0E7RUFDQTtBcEYwK2ZaO0FvRngrZlk7RUFFRSxXNUV0ekJOO0FSK3hoQlI7QW9GeCtmYztFQUNFO0FwRjArZmhCO0FvRno5Zlk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0FSWTtFQVNaLHlCNUV6ekJEO0U0RTJ6QkM7RUFDQTtFQUVBO0FwRnk5ZmQ7QW9GdDlmWTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEZ3OWZkO0FvRnQ5ZmM7RUFDRTtBcEZ3OWZoQjtBb0ZyOWZjO0VBQ0U7QXBGdTlmaEI7QW9GcjlmZ0I7RUFDRTtBcEZ1OWZsQjtBb0ZuOWZjO0VBQ0U7QXBGcTlmaEI7QW9GbjlmZ0I7RUFDRTtBcEZxOWZsQjtBb0ZqOWZjO0VBQ0U7QXBGbTlmaEI7QW9GajlmZ0I7RUFDRTtBcEZtOWZsQjtBb0ZoOWZnQjtFQUNFO0FwRms5ZmxCO0FvRjk4ZmM7RUFDRTtBcEZnOWZoQjtBb0Y1OGZZO0VBQ0U7QXBGODhmZDtBb0YxOGZVO0VBQ0U7QXBGNDhmWjtBYXh5aEJJO0V1RTIxQk07SVovMkJBO0V4RWcwaEJSO0FBQ0Y7QWE3eWhCSTtFdUUyMUJNO0laLzJCQTtFeEVxMGhCUjtBQUNGO0FvRmw5Zlk7RUFMRjtJQU1JO0VwRnE5Zlo7QUFDRjtBYXZ6aEJJO0V1RTIxQk07SUFVSTtFcEZzOWZaO0FBQ0Y7QWEveWhCSTtFdUUyMUJRO0lBR0k7SUFDQTtFcEZxOWZkO0FBQ0Y7QW9GbjlmYztFWnI1Qk47RVl1NUJRO0FwRnE5ZmhCO0FhenpoQkk7RXVFazJCVTtJQUtJO0VwRnM5ZmhCO0FBQ0Y7QW9GaDlmWTtFWi80QkY7QXhFazJoQlY7QWE5MGhCSTtFdUUyM0JRO0laLzRCRjtFeEVzMmhCUjtBQUNGO0FvRnQ5ZmM7RUFGRjtJQUdJO0VwRnk5ZmQ7QUFDRjtBb0Z4OWZjO0VBQ0U7QXBGMDlmaEI7QXdFLzFoQk07RVl5NEJVLFc1RXA3QlI7QVI2NGhCUjtBd0VsMmhCTTtFWXk0QlUsVzVFcDdCUjtBUmc1aEJSO0F3RTcxaEJJO0VBQ0U7SVlnNEJVLFc1RXA3QlI7RVJvNWhCTjtBQUNGO0FvRjc5ZmdCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUI1RXY4Qkk7RTRFdzhCSjtFQUNBO0VBQ0E7RUFDQTtBcEYrOWZsQjtBb0YzOWZjO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQjVFbDlCUjtFNEVtOUJRLFc1RXA5QlI7QVJpN2hCUjtBYWo0aEJJO0V1RXk2Qk07SVh2OEJSLGtCQStDa0I7RXpFbzNoQmxCO0FBQ0Y7QW9GeDlmWTtFQUNFO0VBQ0E7RUFDQTtBcEYwOWZkO0FvRnY5Zlk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CNUU1K0JHO0U0RTYrQkg7RUFDQSwyQjVFdDdCRTtFNEV1N0JGLDhCNUV2N0JFO0FSZzVoQmhCO0FvRnQ5Zlk7RUFDRTtFQUNBO0VBQ0EsbUI1RXIvQkc7RTRFcy9CSDtBcEZ3OWZkO0FvRm45ZmM7RUFDRTtFQUNBO0VBQ0E7QXBGcTlmaEI7QW9GajlmZ0I7RUFDRTtBcEZtOWZsQjtBb0Y5OGZZO0VYbi9CVixrQkF1Q2tCO0VBeEJWO0VBSEEsWUFGSztFVzIrQkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FwRmk5ZmQ7QWFwNmhCSTtFdUV3OEJRO0lBY0k7SUFDQTtJQUNBO0lBQ0E7RXBGazlmZDtBQUNGO0FvRmg5ZmM7RUFDRTtFQUNBO0FwRms5ZmhCO0FvRi84ZmM7RVg1Z0NaLGtCQXVDa0I7RUF4QlY7RUFBQTtFQVJGO0VXdWdDUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGbzlmaEI7QW9GeDhmSTtFQUNFLGM1RTdoQ087QVJ1K2hCYjtBb0Z4OGZNO0VBQ0UsYzVFaGlDSztBUjAraEJiO0FvRnY4Zk07RUFDRTtBcEZ5OGZSO0FvRnY4ZlE7O0VBRUU7QXBGeThmVjtBb0ZyOGZNO0VBQ0U7QXBGdThmUjtBb0ZsOGZRO0VBQ0U7QXBGbzhmVjtBb0ZqOGZRO0VBQ0U7QXBGbThmVjtBb0ZoOGZRO0VBQ0U7QXBGazhmVjtBb0ZoOGZVO0VBQ0U7QXBGazhmWjtBb0Y3N2ZNO0VBQ0UsYzVFcGtDSztBUm1naUJiO0FvRjE3ZlE7O0VBQ0UsYzVFMWtDRztBUnVnaUJiO0FvRjM3ZlU7O0VBQ0UsVzVFcG1DSjtBUmtpaUJSO0FvRnQ3ZkU7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFk1RTluQ2lCO0U0RStuQ2pCO0FwRnU3Zko7QW9GcjdmSTtFQVpGO0lBYUk7RXBGdzdmSjtBQUNGO0FvRnQ3Zkk7RUFDRTtFQUNBO0VBQ0E7QXBGdzdmTjtBb0Z0N2ZNO0VBQ0U7QXBGdzdmUjtBb0ZuN2ZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRnE3Zk47O0FvRjk2ZkE7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRmc3ZkY7O0FvRjc2ZkE7RUFDRTtFQUNBO0FwRmc3ZkY7O0FvRjU2ZkE7RUFDRTtBcEYrNmZGOztBb0Y1NmZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXBGKzZmRjs7QW9GMzZmQTtFQUNFO0VBQ0E7RUFDQTtBcEY4NmZGOztBb0YzNmZBO0VBQ0U7RUFDQTtBcEY4NmZGOztBb0YzNmZBO0VBQ0U7QXBGODZmRjs7QW9GMzZmQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBGODZmRjs7QW9GMzZmQTtFQUNFO0FwRjg2ZkY7O0FvRjM2ZkE7RUFDRTtBcEY4NmZGOztBb0YxNmZBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFcEY2NmZGO0VvRno2ZkE7SUFDRTtFcEYyNmZGO0VvRnY2ZkE7SUFDRSx5QjVFaHVDYztFUnlvaUJoQjtFb0Z0NmZBO0lBQ0UseUI1RXB1Q2M7RVI0b2lCaEI7RW9GcjZmQTtJQUNFLHlCNUV4dUNjO0VSK29pQmhCO0VvRnA2ZkE7SUFDRTtFcEZzNmZGO0FBQ0Y7QW9GaDZmQTs7RUFFRTtBcEZrNmZGO0FvRmg2ZkU7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VYenZDRixlQTJDa0I7RUEvQlYsTUFGSztFQUVMLFFBRks7RUFFTCxTQUZLO0VBRUwsT0FGSztBekV1cGlCZjtBb0ZsNmZJOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFWHR3Q0osZUEyQ2tCO0VBL0JWLE1BRks7RUFFTCxRQUZLO0VBRUwsU0FGSztFQUVMLE9BRks7QXpFcXFpQmY7O0FvRjU1Zkk7O0VBQ0U7QXBGZzZmTjtBb0Z4NWZNOztFQUNFO0FwRjI1ZlI7O0FxRnh0aUJFO0VBQ0UsZ0I3RWFJO0U2RVpKO0Vid0NNO0VBQUE7RUFBQTtFQUFBO0F4RXVyaUJWO0FhbnFpQkk7RXdFOURGO0liMENRO0V4RTJyaUJSO0FBQ0Y7QWF4cWlCSTtFd0U5REY7SWIwQ1E7RXhFZ3NpQlI7QUFDRjtBYTdxaUJJO0V3RTlERjtJYjBDUTtJQUFBO0V4RXNzaUJSO0FBQ0Y7QWFucmlCSTtFd0U5REY7SWIwQ1E7SUFBQTtFeEU0c2lCUjtBQUNGO0FhenJpQkk7RXdFOURGO0liMENRO0lBQUE7RXhFa3RpQlI7QUFDRjtBYS9yaUJJO0V3RTlERjtJYjBDUTtJQUFBO0V4RXd0aUJSO0FBQ0Y7QWFyc2lCSTtFd0U5REY7SWIwQ1E7SUFBQTtFeEU4dGlCUjtBQUNGO0FxRmx3aUJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsaUI3RWdDYTtFZ0VKVDtBeEV5dWlCVjtBYXJ0aUJJO0V3RXZEQTtJYm1DTTtFeEU2dWlCUjtBQUNGO0FxRnB3aUJNO0VBZ0NFOztJQUFBO0ViVkU7RUFBQTtBeEVxdmlCVjtBcUYxd2lCUTtFQUNFO0FyRjR3aUJWO0FxRnR3aUJVO0VBQ0U7QXJGd3dpQlo7QXFGcndpQlU7RUFFRTtBckZzd2lCWjtBcUZsd2lCUTtFYklFO0VBQUE7QXhFa3dpQlY7QWE5dWlCSTtFd0V4Qkk7SWJJRTtFeEVzd2lCUjtBQUNGO0FhbnZpQkk7RXdFeEJJO0liSUU7RXhFMndpQlI7QUFDRjtBcUYxd2lCUTtFYkZFO0F4RSt3aUJWO0FhM3ZpQkk7RXdFbEJJO0liRkU7RXhFbXhpQlI7QUFDRjtBcUY5d2lCUTtFYk5FO0F4RXV4aUJWO0FhbndpQkk7RXdFZEk7SWJORTtFeEUyeGlCUjtBQUNGO0FxRjl3aUJRO0ViZEU7QXhFK3hpQlY7QWEzd2lCSTtFd0VOSTtJYmRFO0V4RW15aUJSO0FBQ0Y7QXFGbHhpQlE7RWJsQkU7QXhFdXlpQlY7QWFueGlCSTtFd0VGSTtJYmxCRTtFeEUyeWlCUjtBQUNGO0FheHhpQkk7RXdFMUNFO0lic0JJO0V4RWd6aUJSO0FBQ0Y7QXFGeHhpQlE7RWJ6QkU7QXhFb3ppQlY7QWFoeWlCSTtFd0VLSTtJYnpCRTtFeEV3emlCUjtBQUNGO0FxRjV4aUJRO0VBQ0UsYzdFM0RIO0U2RTRERztFQUNBO0VBQ0E7RUFDQTtFYnBERjtFQWtCRTtFQUFBO0F4RW0waUJWO0FhL3lpQkk7RXdFU0k7SWI3QkU7RXhFdTBpQlI7QUFDRjtBYXB6aUJJO0V3RVNJO0liN0JFO0V4RTQwaUJSO0FBQ0Y7QXFGdHlpQlU7RUFDRTtFQUNBLGM3RXRFTDtFNkV1RUs7RUFDQTtFQUNBO0VBQ0E7RWIvREo7RUFrQkU7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0F4RTQxaUJWO0FheDBpQkk7RXdFbUJNO0lidkNBO0V4RWcyaUJSO0FBQ0Y7QWE3MGlCSTtFd0VtQk07SWJ2Q0E7SUFBQTtFeEVzMmlCUjtBQUNGO0FhbjFpQkk7RXdFbUJNO0lidkNBO0V4RTIyaUJSO0FBQ0Y7QWF4MWlCSTtFd0VtQk07SWJ2Q0E7RXhFZzNpQlI7QUFDRjtBYTcxaUJJO0V3RW1CTTtJYnZDQTtFeEVxM2lCUjtBQUNGO0FhbDJpQkk7RXdFbUJNO0lidkNBO0V4RTAzaUJSO0FBQ0Y7QXFGbjBpQlk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ViaEVKO0VBQUE7QXhFdTRpQlY7QWFuM2lCSTtFd0VvQ1E7SWJ4REY7RXhFMjRpQlI7QUFDRjtBYXgzaUJJO0V3RW9DUTtJYnhERjtFeEVnNWlCUjtBQUNGO0FxRnowaUJjO0VBQ0U7RUFDQTtBckYyMGlCaEI7QXFGcDBpQlE7RUFDRTtFYmxGQTtFQUFBO0VBQUE7QXhFMjVpQlY7QWF2NGlCSTtFd0U2REk7SWJqRkU7RXhFKzVpQlI7QUFDRjtBcUZ4MGlCVTtFQUNFO0VBQ0E7QXJGMDBpQlo7QXFGdDBpQmM7RWI5Rko7QXhFdTZpQlY7QXFGajBpQlk7RWJ0R0Y7QXhFMDZpQlY7QWF0NWlCSTtFd0VrRlE7SWJ0R0Y7RXhFODZpQlI7QUFDRjtBcUZyMGlCWTtFQUNFO0VBQ0E7RUFDQSxjN0UxSVA7RTZFMklPO0VBQ0E7RWJqSU47QXhFeThpQlI7QXFGaDBpQlE7RUFDRTtBckZrMGlCVjtBcUY3emlCVTtFQUNFLGM3RTNKTDtFNkU0Sks7RUFDQTtFQUNBO0VibkpKO0F4RW05aUJSO0FxRnh6aUJNO0VBQ0U7QXJGMHppQlI7QXFGcnppQkU7RUFDRSxzQjdFM0tJO0FSaytpQlI7QXFGdHppQkk7RUFDRTtFQUNBLGlCN0UvSWE7RTZFZ0piO0VBQ0E7RWJySkk7RUFBQTtFQUFBO0VBQUE7RUFBQTtBeEVrOWlCVjtBYTk3aUJJO0V3RTZIQTtJYmpKTTtFeEVzOWlCUjtBQUNGO0FhbjhpQkk7RXdFNkhBO0liakpNO0V4RTI5aUJSO0FBQ0Y7QWF4OGlCSTtFd0U2SEE7SWJqSk07RXhFZytpQlI7QUFDRjtBcUZuMGlCTTtFQUNFO0VBQ0E7RUFDQTtFYmpLRTtFQUFBO0F4RXcraUJWO0FhcDlpQkk7RXdFMElFO0liOUpJO0V4RTQraUJSO0FBQ0Y7QWF6OWlCSTtFd0UwSUU7SWI5Skk7RXhFaS9pQlI7QUFDRjtBcUY1MGlCUTtFQUNFO0VBQ0E7QXJGODBpQlY7QXFGMzBpQlE7RUFDRTtFQUNBO0ViN0tBO0VBbEJGO0F4RThnakJSO0FxRjEwaUJVO0VBQ0U7QXJGNDBpQlo7QXFGejBpQlU7RUFDRTtFYnpNSjtBeEVxaGpCUjtBcUZ0MGlCTTtFYjdMSTtBeEVzZ2pCVjtBYWwvaUJJO0V3RXlLRTtJYjdMSTtFeEUwZ2pCUjtBQUNGO0FxRnowaUJNO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsYzdFbk9EO0VnRTZCRztFQWxCRjtBeEVxaWpCUjtBcUZ4MGlCUTtFQUNFO0FyRjAwaUJWOztBc0Zqa2pCQTtFQWVFO0F0RnNqakJGO0FzRnBrakJFO0VkMENRO0F4RTZoakJWO0FhemdqQkk7RXlFOURGO0lkMENRO0V4RWlpakJSO0FBQ0Y7QXNGbGtqQkU7RUFDRTtBdEZva2pCSjtBc0Zoa2pCRTtFQUNFO0VBQ0E7RUFBUTtFQUNSO0VBQWE7RUFDYjtFQUNBO0VBQ0E7RUFDQTtBdEZva2pCSjtBc0Zsa2pCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWRhTTtFQWxCRjtFY1FKO0VBQ0EsYzlFdkJrQjtFOEV3QmxCLGdCOUU0Q2dCO0FSd2hqQnBCO0FheGlqQkk7RXlFdENGO0lka0JRO0V4RWdrakJSO0FBQ0Y7QWE3aWpCSTtFeUV0Q0Y7SWRBTTtFeEV1bGpCTjtBQUNGO0FzRjVrakJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRGOGtqQk47QXNGM2tqQkk7RUFDRTtFQUNBO0F0RjZrakJOO0FzRnprakJFO0VBQ0U7SUFDRTtFdEYya2pCSjtFc0Z6a2pCRTtJQUNFO0V0RjJrakJKO0FBQ0Y7O0F1Rm5vakJBO0VBMkJJO0VBT0E7RUFTQTtFQUtBO0VBc1NGO0F2RnF6aUJGO0F1RnpvakJFO0VBQ0U7QXZGMm9qQko7QXVGeG9qQkU7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esc0IvRUdFO0UrRUZGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGMG9qQk47QXVGeG9qQk07RUFDRTtBdkYwb2pCUjtBdUZyb2pCSTtFQUNFO0VBQ0E7QXZGdW9qQk47QXVGbG9qQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Rm9vakJOO0F1RmhvakJJO0VBQ0U7QXZGa29qQk47QXVGOW5qQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RmdvakJOO0F1RjduakJFO0VBQ0U7RWZmTTtBeEUrb2pCVjtBYTNuakJJO0UwRU5GO0lmZFE7RXhFbXBqQlI7QUFDRjtBdUY3bmpCTTtFQUNFO0F2RituakJSO0F1RjFuakJFO0VBQ0U7RUFDQTtFZi9CTTtFQUFBO0VBQUE7QXhFOHBqQlY7QWExb2pCSTtFMEVTRjtJZjdCUTtFeEVrcWpCUjtBQUNGO0FhL29qQkk7RTBFU0Y7SWY3QlE7RXhFdXFqQlI7QUFDRjtBYXBwakJJO0UwRVNGO0lmN0JRO0V4RTRxakJSO0FBQ0Y7QWE1b2pCSTtFMEVKRjtJQVFJO0V2RjRvakJKO0FBQ0Y7QXVGeG9qQk07RUFDRTtFQUNBO0VBQ0EsYy9FMUVEO0UrRTJFQztBdkYwb2pCUjtBd0V4cWpCTTtFZWlDSSxjL0VqRlk7QVIydGpCdEI7QXdFM3FqQk07RWVpQ0ksYy9FakZZO0FSOHRqQnRCO0F3RXRxakJJO0VBQ0U7SWV3QkksYy9FakZZO0VSa3VqQnBCO0FBQ0Y7QXVGNW9qQkU7RUFDRTtBdkY4b2pCSjtBdUYxb2pCSTtFQUNFO0VBQ0E7RUFDQTtBdkY0b2pCTjtBdUYxb2pCTTtFQUNFO0F2RjRvakJSO0FhN3FqQkk7RTBFZ0NFO0lBSUk7RXZGNm9qQlI7RXVGM29qQlE7SUFDRTtJQUNBO0V2RjZvakJWO0V1RjNvakJVO0lBQ0U7RXZGNm9qQlo7RXVGMW9qQlU7SUFDRTtJQUNBO0lBQ0E7RXZGNG9qQlo7RXVGMW9qQlk7SUFDRTtFdkY0b2pCZDtFdUZ6b2pCWTtJQUNFO0lBQ0E7SUFDQTtJZjNGTjtFeEV1dWpCUjtBQUNGO0FhcHRqQkk7RTBFb0VVO0lmeEZKO0V4RTR1akJSO0FBQ0Y7QXVGMW9qQk07RUFDRTtFZnRIQTtBeEVtd2pCUjtBdUYxb2pCUTtFQUNFO0F2RjRvakJWO0F1RnpvakJRO0VBQ0U7QXZGMm9qQlY7QXVGem9qQlU7RUFDRTtBdkYyb2pCWjtBdUZwb2pCRTtFQUNFO0VmdkhNO0VleUhOO0VBQ0E7RUFDQTtFQUNBO0VmNUhNO0VBQUE7RUFBQTtBeEVxd2pCVjtBYWp2akJJO0UwRWtHRjtJZnRIUTtFeEV5d2pCUjtBQUNGO0FhdHZqQkk7RTBFa0dGO0lmdEhRO0V4RTh3akJSO0FBQ0Y7QWEzdmpCSTtFMEVrR0Y7SWZ0SFE7RXhFbXhqQlI7QUFDRjtBYWh3akJJO0UwRWtHRjtJZnRIUTtFeEV3eGpCUjtBQUNGO0F1RnhwakJJO0VBQ0U7RWZsSUk7QXhFNnhqQlY7QWF6d2pCSTtFMEU2R0E7SWZqSU07RXhFaXlqQlI7QUFDRjtBdUYzcGpCUTtFQUNFLGMvRXBIRztFZ0V0Q0w7RWU0SkUscUMvRXpGZTtBUnN2akJ6QjtBYW54akJJO0UwRW1ISTtJZnpKQTtFeEU2empCTjtBQUNGO0F1RmhxakJVO0VBQ0U7QXZGa3FqQlo7QXVGL3BqQlU7RUFDRSxjL0U3SEM7RStFOEhEO0VmcEtKO0F4RXMwakJSO0FhaHlqQkk7RTBFNEhNO0lmbEtGO0V4RTAwakJOO0FBQ0Y7QXVGN3BqQlU7RUFDRSxjL0V6SUM7RStFMElEO0F2RitwakJaO0F1RjVwakJVO0VBQ0U7RWZwTEo7QXhFbTFqQlI7QWE3eWpCSTtFMEU2SU07SWZuTEY7RXhFdTFqQk47QUFDRjtBdUY3cGpCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VmN0tJO0F4RTYwakJWO0FhenpqQkk7RTBFcUpBO0lmektNO0V4RWkxakJSO0FBQ0Y7QXVGanFqQk07RUFDRTtFQUNBO0VBQ0E7QXZGbXFqQlI7QXVGN3BqQk07RWYxTEk7RWU0TEY7RUFDQSxjL0UxTkQ7RStFMk5DO0VBQ0E7RUFDQTtFQUNBO0Vmak1FO0F4RWkyakJWO0FhNzBqQkk7RTBFc0tFO0lmMUxJO0V4RXEyakJSO0FBQ0Y7QWFsMWpCSTtFMEVzS0U7SWYxTEk7RXhFMDJqQlI7QUFDRjtBdUZ0cWpCUTtFQUNFLHNCL0VqT0Y7RStFa09FLFcvRW5PRjtFK0VvT0U7RWZ4TUE7QXhFaTNqQlY7QXVGcnFqQlE7RWY1TUU7RWU4TUE7RUFDQTtBdkZ1cWpCVjtBYWwyakJJO0UwRXdMSTtJZjVNRTtFeEUwM2pCUjtBQUNGO0FhdjJqQkk7RTBFd0xJO0lmNU1FO0V4RSszakJSO0FBQ0Y7QXVGOXFqQlE7O0VBRUUsYy9FalBIO0UrRWtQRztFQUNBO0F2RmdyakJWO0F1RjdxakJRO0Vmek5FO0VlMk5BO0F2RitxakJWO0FhdDNqQkk7RTBFcU1JO0lmek5FO0V4RTg0akJSO0FBQ0Y7QXVGanJqQlE7RUFDRTtBdkZtcmpCVjtBdUYvcWpCTTtFQUNFO0F2RmlyakJSO0F1RjlxakJNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RmdyakJSO0F1RjlxakJRO0VBQ0UsYy9FaFJZO0FSZzhqQnRCO0F1RjdxakJRO0VBQ0U7QXZGK3FqQlY7QXVGeHFqQlU7RUFDRTtBdkYwcWpCWjtBdUZ0cWpCUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F2RndxakJWO0F1RnRxakJVO0VBQ0U7QXZGd3FqQlo7QXVGcnFqQlU7RWY1UkY7RWU4Ukk7RUFDQTtFQUNBLFcvRXpTSjtFK0UwU0k7QXZGdXFqQlo7QXVGcHFqQlU7RUFDRTtFQUNBO0F2RnNxakJaO0F1RnBxakJZO0VBRUUsa0IvRS9QRTtBUm82akJoQjtBdUZocWpCWTtFZi9TSjtBeEVrOWpCUjtBYTU2akJJO0UwRXlRUTtJZi9TSjtFeEVzOWpCTjtBQUNGO0F1Ri9wakJFOztFQUVFO0F2RmlxakJKO0F1RjdwakJFOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0F2RitwakJKO0F1RjVwakJFO0VmcFRRO0F4RW05akJWO0FhLzdqQkk7RTBFZ1NGO0lmcFRRO0V4RXU5akJSO0FBQ0Y7QXVGaHFqQkU7RUFDRTtBdkZrcWpCSjtBdUYvcGpCRTtFZHRVQSxrQkErQ2tCO0VjeVJoQixzQi9FMVZJO0UrRTJWSjtFQUNBO0VBQ0Esa0IvRXhTWTtFK0V5U1o7RUFDQSxxQy9FbFJxQjtFK0VtUnJCO0VmdFZJO0VBa0JFO0F4RXUrakJWO0FhbjlqQkk7RTBFd1NGO0lmOVVNO0V4RTYvakJOO0FBQ0Y7QWF4OWpCSTtFMEV3U0Y7SWY1VFE7RXhFZy9qQlI7QUFDRjtBdUZ6cWpCSTtFZjFWSTtFZTRWRjtFQUNBO0VBQ0E7QXZGMnFqQk47QWFuK2pCSTtFMEVvVEE7SWYxVkk7RXhFNmdrQk47QUFDRjtBdUY3cWpCSTtFQUdFO0F2RjZxakJOO0F3RXYrakJJO0VBQ0U7SWU2VEEsc0IvRWxYRTtJK0VtWEYscUIvRXZYZ0I7SStFd1hoQixjL0V4WGdCO0VScWlrQnBCO0FBQ0Y7QXVGdHFqQkU7RUFDRTtFZmpXTTtFQUFBO0F4RTJna0JWO0Fhdi9qQkk7RTBFNFVGO0lmaFdRO0V4RStna0JSO0FBQ0Y7QXVGM3FqQkk7RUFFRTtFQUVBO0VBR0E7RWY1V0k7QXhFc2hrQlY7QWFsZ2tCSTtFMEVpVkE7SUFXSTtFdkYwcWpCTjtBQUNGO0FhdmdrQkk7RTBFaVZBO0lBZ0JJO0V2RjBxakJOO0FBQ0Y7QWEvL2pCSTtFMEV5Vkk7SUFDRTtFdkZ5cWpCUjtBQUNGO0FhamhrQkk7RTBFaVZBO0lmcldNO0V4RXlpa0JSO0FBQ0Y7QXVGbHFqQk07RUFDRTtBdkZvcWpCUjtBdUZscWpCUTtFQUNFO0VBQ0E7RUFDQTtBdkZvcWpCVjtBdUY1cGpCTTtFZnRaSTtFQUFBO0VBQUE7RWUyWkYseUIvRTFiUztFK0U0YlQ7RUFDQTtFQUNBO0F2RjRwakJSO0FhdmlrQkk7RTBFa1lFO0lmdFpJO0V4RStqa0JSO0FBQ0Y7QWE1aWtCSTtFMEVrWUU7SWZ0Wkk7SUFBQTtFeEVxa2tCUjtBQUNGO0F1RmpxakJNO0VBQ0U7QXZGbXFqQlI7QXVGanFqQlE7RUFDRTtFQUNBO0F2Rm1xakJWO0F1RjlwakJNO0VBQ0U7RUFHQTtFQUNBO0F2RjhwakJSO0F1RjVwakJRO0VBQ0U7RUFDQTtFQUNBO0F2RjhwakJWO0F1RnZwakJJO0VBQ0U7QXZGeXBqQk47QXVGdnBqQk07RUFDRTtBdkZ5cGpCUjtBdUZycGpCSTtFZnhjTTtBeEVnbWtCVjtBYTVra0JJO0UwRW9iQTtJZnhjTTtFeEVvbWtCUjtBQUNGO0F1RnpwakJRO0VBQ0U7RUFDQTtBdkYycGpCVjtBdUZ4cGpCWTtFQUNFO0VBQ0E7QXZGMHBqQmQ7QXVGNW9qQk07RUFDRTtFQUNBO0F2RjhvakJSO0F1RjNvakJVO0VBQ0U7RUFDQTtBdkY2b2pCWjtBdUZwb2pCTTtFQUNFO0VBQ0EseUIvRW5oQmM7QVJ5cGtCdEI7QXVGam9qQkU7RUFDRTtBdkZtb2pCSjtBdUYvbmpCSTtFQUNFO0VBQ0E7QXZGaW9qQk47QXVGL25qQkk7RWZqZ0JNO0F4RW1va0JWO0FhL21rQkk7RTBFNmVBO0lmamdCTTtFeEV1b2tCUjtBQUNGO0F1Rm5vakJJO0VBQ0U7RUFDQTtFQUNBO0VmeGdCSTtBeEU4b2tCVjtBYTFua0JJO0UwRWlmQTtJZnJnQk07RXhFa3BrQlI7QUFDRjtBdUZwb2pCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F2RnNvakJOO0F1Rm5vakJJO0VBQ0U7QXZGcW9qQk47QXVGbG9qQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQSxjL0UxZ0JPO0FSOG9rQmI7QXVGam9qQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQSxjL0VqaEJPO0FSb3BrQmI7QXVGaG9qQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGa29qQk47QXVGaG9qQk07RUFDRTtFQUNBLFcvRTdrQkE7QVIrc2tCUjtBdUY5bmpCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZnb2pCTjtBdUY5bmpCTTtFQUNFO0VBQ0EsYy9FN2xCRDtBUjZ0a0JQO0F1RjVuakJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjhuakJOO0F1RjVuakJNO0VBQ0U7RUFDQSxXL0V6bUJBO0FSdXVrQlI7O0F3RnJ2a0JFO0VoQnlDUTtBeEVndGtCVjtBYTVya0JJO0UyRTdERjtJaEJ5Q1E7RXhFb3RrQlI7QUFDRjtBd0YxdmtCSTtFQUNFO0F4RjR2a0JOO0F3Rnp2a0JJO0VBQ0U7RUFDQTtBeEYydmtCTjtBd0Z0dmtCRTtFaEIwQlE7QXhFK3RrQlY7QWEzc2tCSTtFMkU5Q0Y7SWhCMEJRO0V4RW11a0JSO0FBQ0Y7QXdGcnZrQkk7RUFFRTtBeEZzdmtCTjtBd0ZudmtCSTtFaEJZTTtFZ0JWSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhGcXZrQk47QWE1dGtCSTtFMkVoQ0E7SWhCWU07RXhFb3ZrQlI7QUFDRjtBd0ZydmtCRTtFQUNFO0F4RnV2a0JKO0FhdnRrQkk7RTJFakNGO0lBSUk7RXhGd3ZrQko7QUFDRjtBd0ZwdmtCSTtFaEJUTTtBeEVnd2tCVjtBYTV1a0JJO0UyRVhBO0loQlRNO0V4RW93a0JSO0FBQ0Y7QXdGcnZrQkk7RUFDRTtBeEZ1dmtCTjtBd0ZydmtCTTtFQUNFO0F4RnV2a0JSO0F3Rjl1a0JNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjaEZsRWM7RWdGbUVkO0VBQ0E7RWhCdERBO0VnQndEQSxxQ2hGV2lCO0FScXVrQnpCO0FhbHdrQkk7RTJFU0U7SWhCL0NFO0V4RTR5a0JOO0FBQ0Y7QXdGbHZrQk07RWhCekNJO0VBbEJGO0F4RWl6a0JSO0FhM3drQkk7RTJFcUJFO0loQnpDSTtFeEVteWtCUjtBQUNGO0FhaHhrQkk7RTJFcUJFO0loQjNERTtFeEUwemtCTjtBQUNGO0F3RjV2a0JRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEY4dmtCVjtBd0Y1dmtCVTtFQUNFO0F4Rjh2a0JaO0F3RjN2a0JVO0VBQ0U7QXhGNnZrQlo7QXdGM3ZrQlk7RUFDRTtFZnRFWixrQkErQ2tCO0VleUJOO0VoQjlESjtFZ0JpRUk7RUFDQTtFQUNBO0F4RjR2a0JkO0FhM3lrQkk7RTJFdUNRO0loQjNERjtFeEVtMGtCUjtBQUNGO0F3Ri92a0JjO0VBQ0U7QXhGaXdrQmhCO0F3RjV2a0JVO0VBQ0U7RUFDQTtBeEY4dmtCWjtBd0Y1dmtCWTtFQUNFLFdoRjNHTjtFZ0Y0R007RUFDQTtFaEJwR047RWdCc0dNLGNoRi9CUztFZ0ZnQ1Q7RUFDQTtBeEY4dmtCZDtBd0YzdmtCWTtFaEIzR0o7RWdCNkdNLGNoRi9GRDtFZ0ZnR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEY2dmtCZDtBd0ZydmtCRTtFaEIxSE07QXhFazNrQlI7QXdGbnZrQkk7RUFDRTtBeEZxdmtCTjtBd0ZodmtCRTtFZjdIQSxrQkErQ2tCO0Vlb0ZoQjtFaEJ6SE07RWdCOEhOOzs7Ozs7Ozs7Ozs7O0lBQUE7QXhGd3ZrQko7QWFsMmtCSTtFMkUrRkY7SWhCbkhRO0V4RTAza0JSO0FBQ0Y7QXdGOXVrQkk7RUFDRTtBeEZndmtCTjtBd0Y3dWtCSTtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUtBO0VBQ0E7RUFDQTtFQUNBO0F4Rnl1a0JOO0FhdDNrQkk7RTJFNkhBO0loQmpKTTtFeEU4NGtCUjtBQUNGO0F3RnJ2a0JNO0VBQ0U7QXhGdXZrQlI7QXdGL3VrQk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFaEIxS0U7QXhFNDVrQlY7QWF4NGtCSTtFMkUrSUU7SWhCbktJO0V4RWc2a0JSO0FBQ0Y7QXdGcHZrQlE7RUFDRTtBeEZzdmtCVjtBd0ZudmtCUTtFQUNFO0VBQ0E7RUFDQSxxQ2hGbkllO0VnRm9JZjtFQUVBO0F4Rm92a0JWO0F3Rmx2a0JVO0VBQ0U7QXhGb3ZrQlo7QXdGanZrQlU7RUFDRTtBeEZtdmtCWjtBd0ZodmtCVTtFQUNFO0F4Rmt2a0JaO0F3Rjl1a0JRO0VBQ0U7RUFDQTtFQUNBLGNoRnJMRztFZ0ZzTEg7QXhGZ3ZrQlY7QXdGOXVrQlU7RUFDRSxjaEZ6TEM7QVJ5NmtCYjtBd0Z2dWtCTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4Rnl1a0JSO0FhLzZrQkk7RTJFa01FO0lBT0k7RXhGMHVrQlI7QUFDRjtBYXg1a0JJO0UyRXNLRTtJQVdJO0V4RjJ1a0JSO0FBQ0Y7QWF6N2tCSTtFMkVrTUU7SUFlSTtFeEY0dWtCUjtBQUNGO0F3RjF1a0JRO0VBQ0U7RUFDQTtBeEY0dWtCVjtBd0ZwdWtCRTtFQUNFO0F4RnN1a0JKO0F3RnB1a0JJO0VBQ0U7QXhGc3VrQk47QWEzN2tCSTtFMkVpTkY7SUFRSTt1QkFBQTtFeEZ1dWtCSjtBQUNGO0F3RnB1a0JJO0VBQ0U7QXhGc3VrQk47QXdGanVrQkk7RUFDRTtFQUVBO0VBQ0E7RUFDQTtBeEZrdWtCTjtBd0ZodWtCTTtFQUNFO0VBQ0E7QXhGa3VrQlI7QXdGaHVrQlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEZrdWtCVjtBd0YvdGtCUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4Rml1a0JWO0F3Rjl0a0JRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEZndWtCVjtBd0Y3dGtCUTtFQUNFLHlCaEZ4VEg7QVJ1aGxCUDtBd0Y1dGtCUTtFQUNFO0VBQ0E7QXhGOHRrQlY7QWFyL2tCSTtFMkU2Uk07SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V4RjJ0a0JWO0V3Rnp0a0JVO0lBQ0U7RXhGMnRrQlo7QUFDRjtBd0Z2dGtCUTs7RUFFRSxtQmhGMVZHO0FSbWpsQmI7QXdGdHRrQlE7RUFDRTtBeEZ3dGtCVjtBd0ZwdGtCTTtFQUNFO0VBQ0E7RUFDQSxnQmhGdFdBO0VnRnVXQTtFQUNBO0F4RnN0a0JSO0F3RnB0a0JRO0VBQ0U7RUFDQSxtQmhGalhZO0VnRmtYWjtBeEZzdGtCVjtBd0ZsdGtCTTs7RUFFRTtFQUNBO0F4Rm90a0JSO0F3Rmx0a0JROztFQUNFO0F4RnF0a0JWO0FhaGhsQkk7RTJFbU9BO0lBc0dJO0V4RjJza0JOO0FBQ0Y7QXdGenNrQk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEYyc2tCUjtBd0Z4c2tCTTtFQUNFO0VBQ0E7RUFDQTtBeEYwc2tCUjtBd0Z2c2tCTTtFQUNFO0F4Rnlza0JSO0FhbmlsQkk7RTJFK1ZRO0lBQ0U7RXhGdXNrQlo7QUFDRjtBd0Zuc2tCUTtFZmhaTixrQkF1Q2tCO0VBaENaO0VBUUU7RWVtWUE7QXhGdXNrQlY7QXdGcHNrQlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4RnNza0JWO0FhcmpsQkk7RTJFMFdJO0lBUUk7SUFDQTtFeEZ1c2tCVjtBQUNGO0F3RnJza0JVO0VBQ0UseUJoRnZiSztFZ0UrQlA7RUFBQTtBeEVpbWxCVjtBYTdrbEJJO0UyRW1ZTTtJaEJ2WkE7RXhFcW1sQlI7QUFDRjtBYWxsbEJJO0UyRW1ZTTtJaEJ2WkE7RXhFMG1sQlI7QUFDRjtBYXZsbEJJO0UyRW1ZTTtJaEJ2WkE7RXhFK21sQlI7QUFDRjtBYTVsbEJJO0UyRW1ZTTtJaEJ2WkE7RXhFb25sQlI7QUFDRjtBYXBsbEJJO0UyRXNYTTtJQU1JO0lBQ0E7SUFDQTtJQUNBO0V4RjR0a0JaO0FBQ0Y7QWF6bWxCSTtFMkVtWU07SUFhSTtFeEY2dGtCWjtBQUNGO0F3RjN0a0JZO0VmamJWLGtCQStDa0I7RWVvWU47QXhGNnRrQmQ7QXdGaHRrQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEZrdGtCTjtBd0ZodGtCTTtFaEI1Ykk7QXhFK29sQlY7QWEzbmxCSTtFMkV3YUU7SWhCNWJJO0V4RW1wbEJSO0FBQ0Y7QXdGcHRrQk07RUFDRTtFaEJqY0U7RUFBQTtBeEV5cGxCVjtBYXJvbEJJO0UyRTRhRTtJaEJoY0k7SUFBQTtFeEU4cGxCUjtBQUNGO0FhM29sQkk7RTJFNGFFO0loQmhjSTtJQUFBO0V4RW9xbEJSO0FBQ0Y7QXdGanVrQlE7RUFDRSxxQmhGcmVZO0FSd3NsQnRCO0F3Rmh1a0JRO0VoQnhjRTtBeEUycWxCVjtBYXZwbEJJO0UyRW9iSTtJaEJ4Y0U7RXhFK3FsQlI7QUFDRjtBYTVwbEJJO0UyRW9iSTtJaEJ4Y0U7RXhFb3JsQlI7QUFDRjtBd0ZydWtCSTtFaEJoZE07RUFBQTtFZ0J1ZEo7Ozs7SUFBQTtFQU1BOztJQUFBO0VoQjdkSTtFQUFBO0F4RW1zbEJWO0FhL3FsQkk7RTJFNGJBO0loQmhkTTtFeEV1c2xCUjtBQUNGO0FhcHJsQkk7RTJFNGJBO0loQmhkTTtFeEU0c2xCUjtBQUNGO0FhenJsQkk7RTJFNGJBO0loQmhkTTtFeEVpdGxCUjtBQUNGO0F3Rjl1a0JNO0VBQ0U7RWhCcmVFO0VBQUE7RUFBQTtBeEV3dGxCVjtBYXBzbEJJO0UyRWdkRTtJaEJwZUk7SUFBQTtFeEU2dGxCUjtBQUNGO0FhMXNsQkk7RTJFZ2RFO0loQnBlSTtJQUFBO0V4RW11bEJSO0FBQ0Y7QWFodGxCSTtFMkVnZEU7SWhCcGVJO0lBQUE7RXhFeXVsQlI7QUFDRjtBYXR0bEJJO0UyRWdkRTtJaEJwZUk7RXhFOHVsQlI7QUFDRjtBd0Zyd2tCUTtFaEI1ZkE7RWdCK2ZFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EscUNoRmhjZTtBUnNzbEJ6QjtBd0Zud2tCUTtFaEJ0Z0JBO0VnQndnQkUsY2hGMWZHO0VnRjJmSCxxQ2hGdGNlO0FSMnNsQnpCO0FheHVsQkk7RTJFZ2VJO0loQnRnQkE7RXhFa3hsQk47QUFDRjtBd0Z2d2tCUTtFQUNFLGNoRi9nQkM7RWdFRUg7QXhFdXhsQlI7QXdGdHdrQlE7RWhCL2ZFO0VBbEJGO0VnQnFoQkUscUNoRmxkZTtBUnl0bEJ6QjtBYXR2bEJJO0UyRTJlSTtJaEIvZkU7RXhFOHdsQlI7QUFDRjtBYTN2bEJJO0UyRTJlSTtJaEJqaEJBO0V4RXF5bEJOO0FBQ0Y7QXdGL3drQlU7RUFDRTtBeEZpeGtCWjtBd0Yvd2tCWTtFQUNFLGNoRnJmRDtBUnN3bEJiO0F3RjF3a0JZO0VBQ0U7QXhGNHdrQmQ7QXdGMXdrQmM7RUFDRSxjaEZ4aUJMO0VnRnlpQks7RUFDQTtBeEY0d2tCaEI7QXdGendrQmM7RUFDRSxjaEYxakJNO0FScTBsQnRCO0F3RnR3a0JVO0VBQ0U7RUFDQSx5QmhGamtCVTtFZ0Zra0JWO0VoQnBqQko7QXhFNnpsQlI7QWF2eGxCSTtFMkUyZ0JNO0loQmpqQkY7RXhFaTBsQk47QUFDRjtBd0Z4d2tCUTtFQUVFLGNoRjdqQkQ7RWdFQ0Q7QXhFczBsQlI7QXdGdHdrQlE7RWhCOWlCRTtFZ0JnakJBO0F4Rnd3a0JWO0FhcHlsQkk7RTJFMGhCSTtJaEI5aUJFO0V4RTR6bEJSO0FBQ0Y7QXdGM3drQlU7RWhCcGtCRjtBeEVrMWxCUjtBYTV5bEJJO0UyRThoQk07SWhCcGtCRjtFeEVzMWxCTjtBQUNGO0F3Ri93a0JVO0VBQ0U7QXhGaXhrQlo7QXdGN3drQlE7RWhCM2pCRTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VnQmlrQkE7RUFDQTtBeEYrd2tCVjtBYTd6bEJJO0UyRXVpQkk7SWhCM2pCRTtFeEVxMWxCUjtBQUNGO0FhbDBsQkk7RTJFdWlCSTtJaEIzakJFO0V4RTAxbEJSO0FBQ0Y7QWF2MGxCSTtFMkV1aUJJO0loQjNqQkU7RXhFKzFsQlI7QUFDRjtBYTUwbEJJO0UyRXVpQkk7SWhCM2pCRTtFeEVvMmxCUjtBQUNGO0FhajFsQkk7RTJFdWlCSTtJaEIzakJFO0V4RXkybEJSO0FBQ0Y7QXdGdHlrQlU7RUFDRTtFQUNBO0VoQnRrQkY7QXhFKzJsQlY7QWEzMWxCSTtFMkVnakJNO0loQnBrQkE7RXhFbTNsQlI7QUFDRjtBd0YzeWtCWTtFQUNFO0F4RjZ5a0JkO0F3RjF5a0JZO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhGNHlrQmQ7QXdGenlrQlk7RUFDRTtFQUNBO0VoQnhtQk47QXhFbzVsQlI7QWE5MmxCSTtFMkVna0JRO0loQnRtQko7RXhFdzVsQk47QUFDRjtBd0YzeWtCUTtFQUNFO0VBQ0E7QXhGNnlrQlY7QXdGenlrQlE7RUFDRTtFQUVBO0VBRUE7QXhGeXlrQlY7QXdGdnlrQlU7RUFDRTtFQUNBO0VBQ0E7QXhGeXlrQlo7QXdGdHlrQlU7RUFDRTtBeEZ3eWtCWjtBd0ZweWtCUTtFQUNFO0VBQ0E7RUFDQTtBeEZzeWtCVjtBd0ZweWtCVTtFQUNFO0F4RnN5a0JaO0F3Rmx5a0JRO0VoQjluQkU7RUFBQTtFQUFBO0F4RXE2bEJWO0FhajVsQkk7RTJFMG1CSTtJaEI5bkJFO0V4RXk2bEJSO0FBQ0Y7QWF0NWxCSTtFMkUwbUJJO0loQjluQkU7RXhFODZsQlI7QUFDRjtBd0YxeWtCVTtFQUNFO0VBQ0EscUNoRnRsQmE7RWdFbkVqQjtFQWtCRTtFQUFBO0F4RXM3bEJWO0FhbDZsQkk7RTJFaW5CTTtJaEJyb0JBO0V4RTA3bEJSO0FBQ0Y7QXdGOXlrQlU7RUFDRTtFaEJocUJKO0F4RWk5bEJSO0F3Rjd5a0JVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFaEJ2cEJGO0VBQUE7QXhFdzhsQlY7QWFwN2xCSTtFMkU4bkJNO0loQmxwQkE7RXhFNDhsQlI7QUFDRjtBYXo3bEJJO0UyRThuQk07SWhCbHBCQTtFeEVpOWxCUjtBQUNGO0F3RnR6a0JZO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RWhCbHFCSjtBeEV5OWxCVjtBYXI4bEJJO0UyRXdvQlE7SWhCNXBCRjtFeEU2OWxCUjtBQUNGO0F3RnZ6a0JjO0VBQ0U7RUFDQTtBeEZ5emtCaEI7QXdGcnprQmdCO0VBQ0U7QXhGdXprQmxCO0F3Rm56a0JjO0VoQnBzQk47RWdCc3NCUSxxQ2hGbm9CUztFZ0Zvb0JULGNoRmx0QlQ7RWdGbXRCUztFQUNBO0F4RnF6a0JoQjtBYXg5bEJJO0UyRThwQlU7SWhCcHNCTjtFeEVrZ21CTjtBQUNGO0F3RnZ6a0JjO0VmcHNCWixrQkErQ2tCO0VldXBCSjtFQUNBO0VBQ0E7RUFDQTtBeEZ5emtCaEI7QXdGdnprQmdCO0VBQ0U7QXhGeXprQmxCO0F3RTMrbEJNO0VnQnVyQlk7QXhGdXprQmxCO0F3RTkrbEJNO0VnQnVyQlk7QXhGMHprQmxCO0F3RXorbEJJO0VBQ0U7SWdCOHFCWTtFeEY4emtCaEI7QUFDRjtBd0YzemtCYztFQUNFLGNoRjV1Qk07RWdFY2Q7RWdCZ3VCUTtFQUNBO0F4RjZ6a0JoQjtBd0Z0emtCUTtFQUNFO0VoQnp1QkY7QXhFa2ltQlI7QXdGcnprQlE7RUFDRTtFaEI1dEJBO0VBQUE7QXhFcWhtQlY7QWFqZ21CSTtFMkV1c0JJO0loQjN0QkU7RXhFeWhtQlI7QUFDRjtBd0Z6emtCVTtFQUNFO0F4RjJ6a0JaO0F3Rnp6a0JZO0VBQ0U7RWhCcnVCSjtBeEVpaW1CVjtBYTdnbUJJO0UyRWd0QlE7SWhCcHVCRjtFeEVxaW1CUjtBQUNGO0F3Rjd6a0JjO0VBQ0U7RUFDQTtFQUNBO0F4Rit6a0JoQjtBd0Y1emtCYztFQUNFO0F4Rjh6a0JoQjtBd0YxemtCWTtFQUNFO0VBQ0E7RWhCdHZCSjtBeEVtam1CVjtBYS9obUJJO0UyRWd1QlE7SWhCcHZCRjtFeEV1am1CUjtBQUNGO0F3Ri96a0JjO0VBQ0U7QXhGaTBrQmhCO0F3Rjd6a0JZO0VBQ0U7QXhGK3prQmQ7QXdGM3prQlU7RUFDRTtFQUNBO0VBQ0EsY2hGMXdCQztFZ0Yyd0JEO0VBQ0E7RUFDQTtFaEJ6d0JGO0VnQjJ3QkU7RUFDQSxrQmhGbnZCSTtBUmdqbUJoQjtBYXJqbUJJO0UyRSt1Qk07SWhCbndCQTtFeEU2a21CUjtBQUNGO0F3Rmgwa0JZO0VBQ0U7QXhGazBrQmQ7QXdGOXprQlU7RUFDRSxjaEZ4eEJDO0VnRUlIO0F4RXFsbUJWO0FhamttQkk7RTJFK3ZCTTtJaEJueEJBO0V4RXlsbUJSO0FBQ0Y7QXdGbDBrQlk7RUFDRSxjaEZyd0JEO0VnRXRDTDtBeEVnbm1CUjtBd0ZqMGtCWTtFQUNFLGNoRjF3QkQ7RWdGMndCQztFQUNBO0F4Rm0wa0JkO0F3Ri96a0JVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RWhCMXpCSjtBeEU0bm1CUjtBYXRsbUJJO0UyRWd4Qk07SWhCdHpCRjtFeEVnb21CTjtBQUNGO0F3Rm4wa0JVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RWhCaHpCRjtBeEVzbm1CVjtBYWxtbUJJO0UyRXd4Qk07SWhCNXlCQTtFeEUwbm1CUjtBQUNGO0F3Rngwa0JZO0VBQ0U7QXhGMDBrQmQ7QXdGdjBrQlk7RUFDRTtFQUNBO0F4Rnkwa0JkO0F3RnIwa0JVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhGdTBrQlo7QXdGcjBrQlk7RUFDRTtFQUNBO0F4RnUwa0JkO0F3Rm4wa0JVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoQmoyQko7QXhFdXFtQlI7QWFqb21CSTtFMkVxekJNO0loQjMxQkY7RXhFMnFtQk47QUFDRjtBd0Z2MGtCWTtFQUNFO0F4Rnkwa0JkO0F3RnQwa0JZO0VBQ0UseUJoRngzQlE7RWdGeTNCUixxQmhGejNCUTtFZ0YwM0JSO0F4Rncwa0JkO0F3Rmwwa0JRO0VBQ0U7RWhCajJCQTtBeEVzcW1CVjtBYWxwbUJJO0UyRTQwQkk7SWhCaDJCRTtFeEUwcW1CUjtBQUNGO0F3RnAwa0JVO0VBQ0U7QXhGczBrQlo7QXdGcjBrQlk7RUFDRTtBeEZ1MGtCZDtBd0ZuMGtCVTtFQUNFO0F4RnEwa0JaO0F3Rmwwa0JVO0VBQ0U7QXhGbzBrQlo7QXdGajBrQlU7RUFDRTtBeEZtMGtCWjtBd0ZoMGtCVTtFQUNFO0VoQjc0Qko7RUFrQkU7RUFBQTtFZ0IrM0JFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEZrMGtCWjtBYWxybUJJO0UyRXMyQk07SWhCNTRCRjtFeEU0dG1CTjtBQUNGO0F3Rmowa0JZO0VBQ0U7QXhGbTBrQmQ7QXdGajBrQmM7RUFDRTtFQUNBO0F4Rm0wa0JoQjtBd0YvemtCWTtFQUNFO0F4Rmkwa0JkO0F3RjF6a0JZO0VBQ0U7QXhGNHprQmQ7QXdGeHprQlk7RUFDRTtBeEYwemtCZDtBd0Z2emtCWTtFQUNFO0F4Rnl6a0JkO0F3Rmp6a0JVO0VBQ0U7RWhCaDhCSjtBeEVvdm1CUjtBYWpzbUJJO0UyRWs1QlE7SUFDRTtFeEZremtCWjtBQUNGO0F3RnZ5a0JJO0VBQ0U7RUFDQTtBeEZ5eWtCTjtBd0ZyeWtCRTtFaEJ0OEJRO0VBbEJGO0F4RWl3bUJSO0FhM3RtQkk7RTJFazdCRjtJaEJ0OEJRO0V4RW12bUJSO0FBQ0Y7QWFodW1CSTtFMkVrN0JGO0loQng5Qk07RXhFMHdtQk47QUFDRjtBd0Y5eWtCRTs7RUFFRTtBeEZnemtCSjtBd0Y1eWtCRTs7O0VBR0U7RUFDQTtFQUNBO0VBQ0E7QXhGOHlrQko7QXdGM3lrQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4RjZ5a0JKO0F3RjF5a0JFOztFQUdFO0F4RjJ5a0JKO0F3RnZ5a0JFO0VBQ0U7QXhGeXlrQko7QXdGdHlrQkU7RUFDRTtBeEZ3eWtCSjtBd0Z0eWtCSTtFQUNFO0F4Rnd5a0JOOztBeUYzMG1CRTtFQUNFO0lBQ0U7RXpGODBtQko7QUFDRjtBeUZ6MG1CSTtFQUNFO0VqQmdDSTtFQUFBO0F4RTZ5bUJWO0FhenhtQkk7RTRFckRBO0lqQmlDTTtFeEVpem1CUjtBQUNGO0FhOXhtQkk7RTRFckRBO0lqQmlDTTtFeEVzem1CUjtBQUNGO0F5Rm4xbUJNO0VBQ0UsY2pGTGM7RWlGTWQ7RWpCMEJFO0VBbEJGO0VpQkxBO0F6RnExbUJSO0FhMXltQkk7RTRFaERFO0lqQjRCSTtFeEVrMG1CUjtBQUNGO0FhL3ltQkk7RTRFaERFO0lqQlVFO0V4RXkxbUJOO0FBQ0Y7QXlGNzFtQk07RUFDRTtFakJvQkU7RUFBQTtFaUJqQkYsa0JqRjBDUTtFaUZ6Q1I7O0lBQUE7QXpGaTJtQlI7QWE3em1CSTtFNEV6Q0U7SWpCcUJJO0V4RXExbUJSO0FBQ0Y7QWFsMG1CSTtFNEV6Q0U7SWpCcUJJO0V4RTAxbUJSO0FBQ0Y7QXlGdjJtQlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBekZ5Mm1CVjtBeUZ0Mm1CUTtFQUNFO0VBQ0E7QXpGdzJtQlY7QXlGcjJtQlE7RWpCQUU7RUFsQkY7RWlCcUJFLGNqRlBHO0VpRlFILHFDakY2Q2U7RWlGNUNmO0F6RnUybUJWO0FheDFtQkk7RTRFcEJJO0lqQkFFO0V4RWczbUJSO0FBQ0Y7QWE3MW1CSTtFNEVwQkk7SWpCbEJBO0V4RXU0bUJOO0FBQ0Y7QXlGOTJtQlE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXakZ6Q0Y7RWlGMENFLHFDakZrQ2U7QVI4MG1CekI7QXlGLzJtQlU7O0VBQ0U7QXpGazNtQlo7QXlGOTJtQlE7RUFDRTtFQUNBO0VBQ0E7QXpGZzNtQlY7QXlGOTJtQlU7RUFDRTtBekZnM21CWjtBeUY1Mm1CUTtFQUNFO0VBQ0E7RUFDQTtFakJsQ0E7RWlCb0NBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekY4Mm1CVjtBYW40bUJJO0U0RVdJO0lqQi9CRTtFeEUyNW1CUjtBQUNGO0F5RmozbUJVO0VBQ0U7QXpGbTNtQlo7QXlGaDNtQlU7RUFDRTtBekZrM21CWjtBeUY5Mm1CUTtFQUNFO0VBQ0E7QXpGZzNtQlY7QXlGMzJtQlE7RWpCM0RFO0VpQjZEQTtFQUNBO0VBQ0EseUJqRnpGRztBUnM4bUJiO0FheDVtQkk7RTRFdUNJO0lqQjNERTtFeEVnN21CUjtBQUNGO0F5RmgzbUJZO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JqRi9DRTtFaUZnREY7RWpCM0ZOO0F4RTg4bUJSO0FheDZtQkk7RTRFNkNRO0lqQm5GSjtFeEVrOW1CTjtBQUNGO0F5RnQzbUJjO0VBRUUsbUJqRjdHTTtFaUY4R04sV2pGMUdSO0FSaSttQlI7QXlGNzJtQkU7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RjgybUJKO0F5Rm4ybUJJO0VBQ0Usc0JqRnRJRTtBUjIrbUJSO0F5RnAybUJNO0VqQjNHSTtFaUI2R0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekZzMm1CUjtBYW44bUJJO0U0RXVGRTtJakIzR0k7RXhFMjltQlI7QUFDRjtBeUYxMm1CUTtFQUNFLGNqRm5KWTtFaUZvSlo7QXpGNDJtQlY7QXlGMTJtQlE7RWpCdEhFO0VBQUE7RWlCNEhBO0F6RnkybUJWO0FhajltQkk7RTRFa0dJO0lqQnRIRTtFeEV5K21CUjtBQUNGO0FhdDltQkk7RTRFa0dJO0lqQnRIRTtFeEU4K21CUjtBQUNGOztBMEZyaG5CSTtFQUNFO0ExRndobkJOO0EwRnBobkJFO0VBQ0U7QTFGc2huQko7QTBGamhuQk07RWxCU0U7RWtCUEE7RUFDQTtFQUNBLGNsRlRjO0FSNGhuQnRCO0EwRnRnbkJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTFGd2duQko7O0EwRm5nbkJBO0VBQ0U7RUFFQTs7R0FBQTtBMUZ1Z25CRjtBMEZwZ25CRTtFQUNFO0ExRnNnbkJKO0EwRm5nbkJFO0VsQlRRO0F4RStnbkJWO0FhMy9tQkk7RTZFWEY7SWxCVFE7RXhFbWhuQlI7QUFDRjtBYWhnbkJJO0U2RVhGO0lsQlRRO0V4RXdobkJSO0FBQ0Y7QWFyZ25CSTtFNkVYRjtJbEJUUTtFeEU2aG5CUjtBQUNGO0FhMWduQkk7RTZFWEY7SWxCVFE7RXhFa2luQlI7QUFDRjtBYS9nbkJJO0U2RVhGO0lsQlRRO0V4RXVpbkJSO0FBQ0Y7QTBGM2huQkU7RUFDRTtFQUNBO0VBQ0E7RWxCaEJNO0F4RThpbkJWO0FhMWhuQkk7RTZFUEY7SWxCYlE7RXhFa2puQlI7QUFDRjtBMEYvaG5CSTtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0EscUNsRnVCbUI7RWtGdEJuQixjbEYzRGdCO0FSMmxuQnRCO0EwRjlobkJNO0VBS0U7aURBQUE7RUFFQSx5QmxGcEVjO0VrRnFFZCxXbEZqRUE7QVI2bG5CUjtBMEYxaG5CUTtFQUNFLGdCbkY0aEJvQjtBUGdnbUI5QjtBMEZ2aG5CVTtFQUNFLHNCQXpGZTtBMUZrbm5CM0I7QTBGcGhuQk07RUFDRTtFQUNBO0VsQnZFQTtFa0J5RUEsZ0JuRjBnQnNCO0VtRnpnQnRCO0VsQnhERTtBeEUra25CVjtBYTNqbkJJO0U2RStCRTtJbEJyRUU7RXhFcW1uQk47QUFDRjtBYWhrbkJJO0U2RStCRTtJbEJuREk7RXhFd2xuQlI7QUFDRjtBMEY5aG5CUTtFQUNFO0ExRmdpbkJWO0EwRjlobkJVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFGZ2luQlo7QTBGamhuQkU7RUE0R0U7OzBEQUFBO0ExRjA2bUJKO0EwRm5obkJNO0VsQjVHRTtFa0I4R0EsY2xGaEdLO0VrRmlHTDtFQUNBO0ExRnFobkJSO0EwRmxobkJNO0VBQ0U7QTFGb2huQlI7QTBGaGhuQk07RUFDRTtFQUNBO0ExRmtobkJSO0EwRi9nbkJRO0VBQ0U7QTFGaWhuQlY7QTBGN2duQlE7RUFDRTtFQUNBO0VBQ0E7RWxCbkhBO0VrQnFIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFGK2duQlY7QWFybm5CSTtFNkU0Rkk7SWxCaEhFO0V4RTZvbkJSO0FBQ0Y7QTBGbGhuQlU7RUFDRTtFQUNBO0ExRm9obkJaO0EwRmpobkJVO0VBQ0U7RUFDQTtFQUNBLGNsRnhJQztBUjJwbkJiO0EwRmhobkJVO0VBQ0U7RUFDQSxjbEZ0S0w7QVJ3cm5CUDtBMEY5Z25CVTtFQUNFLHFCbEY5S1U7QVI4cm5CdEI7QTBGM2duQlE7RUFDRSxxQmxGcExZO0VrRnFMWix5QmxGcExPO0VrRnFMUDtBMUY2Z25CVjtBMEZyZ25CTTtFQUNFO0VBQ0E7RUFDQTtBMUZ1Z25CUjtBMEZyZ25CUTtFQUNFO0ExRnVnbkJWO0EwRm5nbkJNO0VBQ0U7QTFGcWduQlI7QTBGbGduQk07RWxCNUtJO0VrQjhLRixzQmxGMU1BO0VrRjJNQTtBMUZvZ25CUjtBYS9wbkJJO0U2RXdKRTtJbEI1S0k7RXhFdXJuQlI7QUFDRjtBMEZ2Z25CUTtFQUNFO0VBQ0E7QTFGeWduQlY7QTBGdGduQlE7RUFDRTtFQUNBO0VBQ0E7QTFGd2duQlY7QTBGcmduQlE7RUFDRTtBMUZ1Z25CVjtBMEY5L21CSTtFbEJ0TU07RUFBQTtBeEV3c25CVjtBYXBybkJJO0U2RWtMQTtJbEJ0TU07RXhFNHNuQlI7QUFDRjtBYXpybkJJO0U2RWtMQTtJbEJ0TU07RXhFaXRuQlI7QUFDRjtBMEZ4Z25CTTtFQUNFO0VBQ0E7RWxCNU1FO0VBQUE7QXhFd3RuQlY7QWFwc25CSTtFNkVzTEU7SWxCMU1JO0V4RTR0bkJSO0FBQ0Y7QWF6c25CSTtFNkVzTEU7SWxCMU1JO0V4RWl1bkJSO0FBQ0Y7QTBGbGhuQlE7RUFFRTtFQUVBLGtCbEZ4TFU7RWdFOUNaO0VBa0JFO0VrQnVOQSxxQ2xGdEtlO0FSd3JuQnpCO0FhcnRuQkk7RTZFNExJO0lsQmxPQTtFeEUrdm5CTjtBQUNGO0EwRnJobkJVO0VBRUU7RWxCN09KO0VrQitPSTtFQUNBO0VBQ0E7RUFDQSxjbEZoUVU7RWtGaVFWLHFDbEZoTGE7RWtGaUxiO0ExRnNobkJaO0FhcHVuQkk7RTZFcU1NO0lsQnpOQTtFeEU0dm5CUjtBQUNGO0FhenVuQkk7RTZFcU1NO0lsQjNPRjtFeEVteG5CTjtBQUNGO0EwRjdobkJVO0VBQ0U7QTFGK2huQlo7QTBGNWhuQlU7RUFDRTtFQUNBLGNsRjNRVTtFZ0VjZDtFa0IrUEk7QTFGOGhuQlo7QWF2dm5CSTtFNkVxTk07SWxCM1BGO0V4RWl5bkJOO0FBQ0Y7QTBGNWhuQlU7RWxCcFBBO0VBQUE7RWtCc1BFO0VBQ0E7QTFGK2huQlo7QTBGN2huQlk7RUFFRTtBMUY4aG5CZDtBMEY1aG5CYztFQUNFO0VqQnhRZCxrQkErQ2tCO0VpQjJOSjtFbEJoUU47RWtCa1FNO0VBQ0E7RUFDQTtFQUNBO0ExRjhobkJoQjtBYS93bkJJO0U2RXlPVTtJbEI3UEo7RXhFdXluQlI7QUFDRjtBMEZoaW5CYztFbEJ4UUo7RWtCMFFNO0ExRmtpbkJoQjtBMEY5aG5CWTtFbEI5UUY7RUFBQTtFa0JpUkksV2xGNVNOO0VnRVNBO0VBa0JFO0VrQm9SSTtFQUNBLHFDbEZwT1c7RWtGcU9YO0ExRmdpbkJkO0FhbHluQkk7RTZFMFBRO0lsQjlRRjtFeEUwem5CUjtBQUNGO0FhdnluQkk7RTZFMFBRO0lsQjlRRjtFeEUrem5CUjtBQUNGO0FhNXluQkk7RTZFMFBRO0lsQjlRRjtFeEVvMG5CUjtBQUNGO0FhanpuQkk7RTZFMFBRO0lsQjlRRjtFeEV5MG5CUjtBQUNGO0EwRmxqbkJjO0VBQ0U7RWxCelJOO0VrQjJSTSxjbEZ0T087RWtGdU9QO0VBQ0EsV2xGeFRSO0FSNDJuQlI7QWE3em5CSTtFNkVvUVU7SWxCeFJKO0V4RXExbkJSO0FBQ0Y7QTBGdGpuQmM7RWxCbFROO0VrQm9UUSxjbEYvVFQ7QVJ1M25CUDtBMEZwam5CWTtFbEJ4VEo7RWtCMFRNLFdsRm5VTjtFa0ZvVU0scUNsRnhQVztFa0Z5UFg7RWxCMVNKO0VrQjRTSTtBMUZzam5CZDtBYTkwbkJJO0U2RWtSUTtJbEJ0U0Y7RXhFczJuQlI7QUFDRjtBMEZ2am5CVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0ExRnlqbkJaO0EwRnRqbkJVO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsY2xGL1RDO0VrRmdVRDtFQUNBLHFDbEY1UWE7RWdFbkVqQjtBeEV3NG5CUjtBMEZuam5CYztFQUNFLHFDbEZuUlM7QVJ3MG5CekI7QTBGaGpuQlk7RUFDRTtBMUZram5CZDtBMEY1aW5CYztFQUNFO0ExRjhpbkJoQjtBMEYxaW5CWTtFQUtFLGNsRjFYUTtBUms2bkJ0QjtBMEY1aW5CYztFQUNFLGNsRjNWSDtBUnk0bkJiO0EwRnZpbkJVO0VBQ0U7RUFDQTtFbEJsWEo7QXhFNDVuQlI7QWF0M25CSTtFNkUwVU07SWxCaFhGO0V4RWc2bkJOO0FBQ0Y7QTBGNWluQlk7RUFDRTtFQUNBO0ExRjhpbkJkO0EwRjVpbkJjO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JsRjlVTTtFa0YrVU47RUFDQTtFQUNBO0VBQ0E7QTFGOGluQmhCO0EwRjVpbkJnQjtFQUNFO0VBQ0E7RUFDQTtBMUY4aW5CbEI7QTBGeGluQlU7RUFDRTtFQUNBO0ExRjBpbkJaO0EwRnhpbkJZO0VsQm5aSjtBeEU4N25CUjtBMEZ2aW5CYztFQUVFO0ExRndpbkJoQjtBMEZwaW5CWTtFQUNFO0ExRnNpbkJkO0EwRmhpbkJRO0VBQ0U7RWxCblpBO0F4RXM3bkJWO0FhbDZuQkk7RTZFOFhJO0lsQmxaRTtFeEUwN25CUjtBQUNGOztBMEZ6aG5CQTs7d0RBQUE7QUFLRTtFQUNFO0VBS0E7OzBEQUFBO0VBK0NBOzswREFBQTtFQTRCQTs7MERBQUE7RUF1S0E7OzBEQUFBO0VBU0E7OzBEQUFBO0VBeUVBOzswREFBQTtBMUZtdW1CSjtBYWg4bkJJO0U2RW1aRjtJQUdJO0UxRjhpbkJKO0FBQ0Y7QWFyOG5CSTtFNkU0WkE7SUFJSTtFMUZ5aW5CTjtBQUNGO0EwRnZpbkJNO0VsQnZiSTtBeEVpK25CVjtBYTc4bkJJO0U2RW1hRTtJbEJ2Ykk7RXhFcStuQlI7QUFDRjtBYWw5bkJJO0U2RW1hRTtJbEJ2Ykk7RXhFMCtuQlI7QUFDRjtBYXY5bkJJO0U2RW1hRTtJbEJ2Ykk7RXhFKytuQlI7QUFDRjtBMEZyam5CTTtFQUNFO0VsQjViRTtBeEVvL25CVjtBYWgrbkJJO0U2RXVhRTtJbEIzYkk7RXhFdy9uQlI7QUFDRjtBYXIrbkJJO0U2RXVhRTtJbEIzYkk7RXhFNi9uQlI7QUFDRjtBYTErbkJJO0U2RXVhRTtJbEIzYkk7RXhFa2dvQlI7QUFDRjtBMEZwa25CUTtFbEIvYkU7QXhFc2dvQlY7QWFsL25CSTtFNkUyYUk7SWxCL2JFO0V4RTBnb0JSO0FBQ0Y7QTBGeGtuQlE7RWxCbmNFO0VrQnFjQSxXbEZoZUY7RWtGaWVFO0VsQnRjQTtBeEVpaG9CVjtBYTcvbkJJO0U2RSthSTtJbEJuY0U7RXhFcWhvQlI7QUFDRjtBYWxnb0JJO0U2RSthSTtJbEJuY0U7RXhFMGhvQlI7QUFDRjtBMEZqbG5CUTtFbEIxY0U7QXhFOGhvQlY7QTBGaGxuQlE7RWxCOWNFO0F4RWlpb0JWO0EwRi9rbkJRO0VsQmxkRTtFQUFBO0F4RXFpb0JWO0FhamhvQkk7RTZFOGJJO0lsQmxkRTtFeEV5aW9CUjtBQUNGO0EwRjNrbkJJO0VBQ0U7RUFDQTtFbEJqZUk7RUFBQTtFQUFBO0VBQUE7QXhFa2pvQlY7QWE5aG9CSTtFNkUyY0E7SWxCL2RNO0V4RXNqb0JSO0FBQ0Y7QWFuaW9CSTtFNkUyY0E7SWxCL2RNO0V4RTJqb0JSO0FBQ0Y7QWF4aW9CSTtFNkUyY0E7SWxCL2RNO0V4RWdrb0JSO0FBQ0Y7QWE3aW9CSTtFNkUyY0E7SWxCL2RNO0V4RXFrb0JSO0FBQ0Y7QWFsam9CSTtFNkUyY0E7SWxCamZJO0V4RTRsb0JOO0FBQ0Y7QWF2am9CSTtFNkUyY0E7SUFhSSxnQm5Gd0ZzQjtFUDJnbkI1QjtBQUNGO0EwRmptbkJNO0VBQ0U7QTFGbW1uQlI7QTBGaG1uQk07RUFDRTtBMUZrbW5CUjtBMEYzbG5CSTtFQUNFO0VsQjVmSTtFQUFBO0VBQUE7RWtCaWdCSixxQ2xGaGRtQjtFa0ZpZG5CO0ExRjRsbkJOO0FhMWtvQkk7RTZFdWVBO0lsQjNmTTtFeEVrbW9CUjtBQUNGO0FhL2tvQkk7RTZFdWVBO0lsQjdnQkk7RXhFeW5vQk47QUFDRjtBMEZwbW5CTTtFQUNFO0ExRnNtbkJSO0EwRm5tbkJNO0VBQ0U7QTFGcW1uQlI7QTBGbm1uQlE7RUFDRTtFakJ0aEJSLGtCQStDa0I7RWlCeWVWO0VsQjlnQkE7RWtCZ2hCQTtFQUNBO0VBQ0E7RUFDQTtBMUZxbW5CVjtBYXBtb0JJO0U2RXVmSTtJbEIzZ0JFO0V4RTRub0JSO0FBQ0Y7QTBGdm1uQlE7RWxCdGhCRTtFa0J5aEJBO0ExRndtbkJWO0FhN21vQkk7RTZFMmdCTTtJQUNFO0UxRnFtbkJWO0FBQ0Y7QTBGbG1uQlE7RUFDRTtFbEJyaUJBO0VrQnVpQkEsY2xGcGtCSDtFa0Zxa0JHO0VBQ0E7RUFDQTtBMUZvbW5CVjtBYTFub0JJO0U2RWdoQkk7SWxCcGlCRTtFeEVrcG9CUjtBQUNGO0FhL25vQkk7RTZFZ2hCSTtJbEJwaUJFO0V4RXVwb0JSO0FBQ0Y7QWFwb29CSTtFNkV5aEJJO0lsQjdpQkU7RXhFNHBvQlI7QUFDRjtBYXpvb0JJO0U2RXloQkk7SWxCN2lCRTtFeEVpcW9CUjtBQUNGO0FhOW9vQkk7RTZFeWhCSTtJbEIvakJBO0V4RXdyb0JOO0FBQ0Y7QTBGcm5uQlU7RUFDRSxjbEZ2akJDO0VrRndqQkQ7RWxCcGpCRjtFa0J1akJFLGNsRmxnQlc7RWtGbWdCWDtFQUNBO0ExRnNubkJaO0FhM3BvQkk7RTZFOGhCTTtJbEJsakJBO0V4RW1yb0JSO0FBQ0Y7QWFocW9CSTtFNkU4aEJNO0lsQnBrQkY7RXhFMHNvQk47QUFDRjtBMEYzbm5CVTtFbEI5akJBO0F4RTRyb0JWO0EwRnpubkJRO0VsQm5rQkU7RUFBQTtFQUFBO0F4RWlzb0JWO0FhN3FvQkk7RTZFK2lCSTtJbEJua0JFO0lBQUE7RXhFc3NvQlI7QUFDRjtBYW5yb0JJO0U2RStpQkk7SWxCbmtCRTtFeEUyc29CUjtBQUNGO0FheHJvQkk7RTZFbWpCTTtJbEJ2a0JBO0V4RWd0b0JSO0FBQ0Y7QTBGdG9uQlU7RUFDRTtFbEI1a0JGO0VrQjhrQkU7RUFDQTtFQUNBO0VBQ0EsZ0JuRmhCa0I7RW1GaUJsQjtFbEJsbEJGO0VrQm9sQkUseUJsRmxuQkE7QVIwdm9CWjtBYXhzb0JJO0U2RXVqQk07SWxCM2tCQTtFeEVndW9CUjtBQUNGO0FhN3NvQkk7RTZFdWpCTTtJbEIza0JBO0V4RXF1b0JSO0FBQ0Y7QTBGL29uQlk7RUFDRTtBMUZpcG5CZDtBMEY3b25CVTtFQUNFO0VsQi9tQko7RWtCaW5CSTtFQUNBO0VsQmhtQkY7RWtCa21CRTtFQUNBLGNsRm5vQlU7QVJreG9CdEI7QWE5dG9CSTtFNkV3a0JNO0lsQjVsQkE7RXhFc3ZvQlI7QUFDRjtBMEZscG5CWTs7OztFQUlFO0ExRm9wbkJkO0EwRjlvbkJRO0VBQ0U7RWxCaG5CQTtFQUFBO0F4RWt3b0JWO0FhOXVvQkk7RTZFMmxCSTtJbEIvbUJFO0V4RXN3b0JSO0FBQ0Y7QWFudm9CSTtFNkUybEJJO0lsQi9tQkU7RXhFMndvQlI7QUFDRjtBYXh2b0JJO0U2RTJsQkk7SWxCL21CRTtFeEVneG9CUjtBQUNGO0FhN3ZvQkk7RTZFMmxCSTtJQU9JO0lBQ0E7RTFGK3BuQlY7QUFDRjtBYW53b0JJO0U2RXNtQk07SWxCMW5CQTtFeEUyeG9CUjtBQUNGO0EwRjdwbkJRO0VsQi9uQkU7RWtCa29CQTtBMUY4cG5CVjtBYTV3b0JJO0U2RTJtQkk7SWxCL25CRTtFeEVveW9CUjtBQUNGO0EwRmpxbkJVO0VBQ0U7RUFDQTtBMUZtcW5CWjtBMEZqcW5CWTtFQUNFLFVsRnBxQk47RWtGcXFCTSxZbEZycUJOO0VrRnNxQk07RUFDQTtBMUZtcW5CZDtBMEY5cG5CVTtFQUNFO0VBQ0E7QTFGZ3FuQlo7QTBGanBuQkk7RWxCbHFCTTtFa0JvcUJKO0VBQ0E7QTFGbXBuQk47QWFweW9CSTtFNkU4b0JBO0lsQmxxQk07RXhFNHpvQlI7QUFDRjtBMEZscG5CSTtFbEIzcUJNO0VrQjZxQko7QTFGb3BuQk47QTBGbHBuQk07RWxCL3FCSTtBeEVvMG9CVjtBYWh6b0JJO0U2RTJwQkU7SWxCL3FCSTtFeEV3MG9CUjtBQUNGO0EwRnZwbkJRO0VBQ0U7RUFDQTtFQUNBO0ExRnlwbkJWO0EwRnBwbkJNO0VBQ0UscUNsRjFvQmlCO0FSZ3lvQnpCO0EwRnBwbkJRO0VBQ0UscUJsRjl0Qlk7RWtGK3RCWix5QmxGL3RCWTtFa0ZndUJaLFdsRjV0QkY7QVJrM29CUjtBMEZucG5CUTtFbEJuc0JFO0VBQUE7RWtCc3NCQSxjbEZqcEJhO0FSc3lvQnZCO0FhdjBvQkk7RTZFK3FCSTtJbEJuc0JFO0V4RSsxb0JSO0FBQ0Y7QWE1MG9CSTtFNkUrcUJJO0lsQm5zQkU7RXhFbzJvQlI7QUFDRjtBYWoxb0JJO0U2RStxQkk7SWxCcnRCQTtFeEUyM29CTjtBQUNGO0EwRmhxbkJRO0VsQjFzQkU7QXhFNjJvQlY7QWF6MW9CSTtFNkVzckJJO0lsQjFzQkU7RXhFaTNvQlI7QUFDRjtBMEZycW5CVTtFQUNFLGdCbkY3SWtCO0VpRW5sQnRCO0VrQmt1Qkk7QTFGdXFuQlo7QTBGcnFuQlk7RUFDRTtFQUNBO0VBQ0EsZ0JuRmpKZ0I7QVB3em5COUI7QTBGcHFuQlk7RUFDRTtFQUNBO0VBQ0EsZ0JuRnZKZ0I7QVA2em5COUI7QTBGbHFuQlU7RUFDRTtFQUNBLGtCbEZ4c0JJO0VrRnlzQkosV2xGOXZCSjtFa0YrdkJJLHlCbEZud0JVO0VrRm93QlY7RUFDQTtFQUNBO0VBQ0EscUNsRnRyQmE7QVIwMW9CekI7QTBGbHFuQlk7RUFDRTtBMUZvcW5CZDtBMEYxcG5CSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0ExRjRwbkJOO0EwRjFwbkJNO0VsQjV3QkU7RWtCOHdCQTtFQUNBO0ExRjRwbkJSO0EwRm5wbkJJO0VBQ0U7QTFGcXBuQk47QTBGbnBuQk07RWxCM3hCRTtFa0I2eEJBLGNsRjN5QmM7RWtGNHlCZDtFQUNBO0ExRnFwbkJSO0EwRm5wbkJRO0VBQ0U7RUFDQTtFQUNBO0ExRnFwbkJWO0EwRmxwbkJRO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsY2xGenpCWTtBUjY4b0J0QjtBMEZqcG5CUTtFQUNFO0ExRm1wbkJWO0EwRi9vbkJNO0VBQ0U7QTFGaXBuQlI7O0EwRnZvbkJBOzt3REFBQTtBQUlFO0VBQ0U7QTFGeW9uQko7QTBGdG9uQkU7RUFDRTtBMUZ3b25CSjtBMEZ0b25CSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0ExRndvbkJOO0EwRnBvbkJFO0VsQi96QlE7QXhFczhvQlY7QWFsN29CSTtFNkUyeUJGO0lsQi96QlE7RXhFMDhvQlI7QUFDRjtBYXY3b0JJO0U2RTJ5QkY7SWxCL3pCUTtFeEUrOG9CUjtBQUNGO0FhNTdvQkk7RTZFMnlCRjtJbEIvekJRO0V4RW85b0JSO0FBQ0Y7QWFqOG9CSTtFNkUyeUJGO0lsQi96QlE7RXhFeTlvQlI7QUFDRjtBYXQ4b0JJO0U2RTJ5QkY7SWxCL3pCUTtFeEU4OW9CUjtBQUNGOztBMEZ6cG5CQTs7d0RBQUE7QUFJRTtFbEI1MUJNO0F4RXcvb0JSO0EwRnhwbkJFO0VBQ0U7RUFDQTtBMUYwcG5CSjtBMEZ0cG5CTTtFQUNFLGtCbEZ6ekJZO0VrRjB6Qlo7QTFGd3BuQlI7QTBGbHBuQlE7O0VBRUU7RUFDQSx5QmxGNzNCRTtFa0Y4M0JGO0ExRm9wbkJWO0EwRjlvbkJVO0VBQ0U7QTFGZ3BuQlo7QTBGeG9uQkU7RUFDRTtBMUYwb25CSjtBMEZ0b25CSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJsRng1Qlc7RWdFYVQ7QXhFb2hwQlI7QTBGcG9uQk07RWxCOTNCSTtFQUFBO0VBQUE7QXhFdWdwQlY7QWFuL29CSTtFNkUwMkJFO0lsQjkzQkk7RXhFMmdwQlI7QUFDRjtBYXgvb0JJO0U2RTAyQkU7SWxCOTNCSTtFeEVnaHBCUjtBQUNGO0FhNy9vQkk7RTZFMDJCRTtJbEI5M0JJO0V4RXFocEJSO0FBQ0Y7QTBGL29uQkk7RWxCejVCSTtFa0IyNUJGLGNsRjc0Qk87RWtGODRCUDtFQUNBO0ExRmlwbkJOO0EwRjdvbkJFO0VsQmo2Qk07QXhFaWpwQlI7QTBGNW9uQkU7RUFDRTs7SUFBQTtBMUZncG5CSjtBMEYzb25CTTtFbEIzNkJFO0VrQjY2QkEsY2xGLzVCSztFa0ZnNkJMO0VBQ0E7QTFGNm9uQlI7QTBGem9uQkk7O0VsQmo2Qk07RUFBQTtBeEUraXBCVjtBYTNocEJJO0U2RTY0QkE7O0lsQmo2Qk07RXhFb2pwQlI7QUFDRjtBMEYvb25CTTs7RUFDRTtBMUZrcG5CUjtBMEY5b25CSTtFbEIzNkJNO0F4RTRqcEJWO0FheGlwQkk7RTZFdTVCQTtJbEIzNkJNO0V4RWdrcEJSO0FBQ0Y7QTBGbnBuQk07RWxCaDhCRTtBeEVzbHBCUjtBMEZqcG5CSTtFbEJuN0JNO0VBQUE7QXhFd2twQlY7QTBGbHBuQk07RUFDRTtFQUNBO0ExRm9wbkJSO0EwRjlvbkJNO0VBQ0U7RUFDQTtBMUZncG5CUjtBYTVqcEJJO0U2RTA2QkU7SUFLSTtJQUNBO0UxRmlwbkJSO0FBQ0Y7QTBGOW9uQk07RUFDRTtFQUNBO0ExRmdwbkJSO0EwRjdvbkJNO0VBQ0UseUJsRjUrQkk7QVIybnBCWjtBMEYxb25CSTtFQUNFO0ExRjRvbkJOO0EwRjFvbkJNO0VBQ0U7QTFGNG9uQlI7QTBGMW9uQlE7RUFDRTtBMUY0b25CVjtBYWxscEJJO0U2RXE4Qkk7SUFJSTtJQUNBO0UxRjZvbkJWO0FBQ0Y7QTBGem9uQk07RUFDRTtFQUNBO0VsQnIrQkU7RWtCdStCRjtFQUNBO0VBQ0E7RWxCMy9CQTtBeEV1b3BCUjtBMEZ6b25CUTtFQUNFO0ExRjJvbkJWO0EwRnhvbkJRO0VBQ0UseUJsRmhoQ087RWtGaWhDUDtBMUYwb25CVjtBMEZ4b25CVTtFQUNFO0ExRjBvbkJaO0EwRnhvbkJZO0VBQ0U7RUFDQTtBMUYwb25CZDtBMEZ2b25CWTtFQUNFO0ExRnlvbkJkO0EwRnRvbkJZO0VBQ0UseUJsRmppQ1E7RWtGa2lDUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExRndvbkJkO0F3RTlucEJNO0VrQjQvQkksc0JBdmpDaUI7QTFGNHJwQjNCO0F3RWpvcEJNO0VrQjQvQkksc0JBdmpDaUI7QTFGK3JwQjNCO0F3RTVucEJJO0VBQ0U7SWtCbS9CSSxzQkF2akNpQjtFMUZtc3BCekI7QUFDRjtBMEYxb25CUTtFQUNFO0ExRjRvbkJWO0EwRnpvbkJRO0VBQ0U7QTFGMm9uQlY7QTBGeG9uQlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFbEI3aUNGO0F4RXdycEJSO0EwRnhvbkJVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExRnlvbkJaO0EwRnRvbkJVO0VBQ0U7QTFGd29uQlo7QTBGcG9uQlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWxCOWtDRjtBeEVxdHBCUjtBd0VucnBCTTtFa0JnakNNO0ExRnNvbkJaO0F3RXRycEJNO0VrQmdqQ007QTFGeW9uQlo7QXdFanJwQkk7RUFDRTtJa0J1aUNNO0UxRjZvbkJWO0FBQ0Y7QTBGeG9uQkk7RWxCdGtDTTtBeEVpdHBCVjtBMEZ2b25CSTtFbEIxa0NNO0F4RW90cEJWO0FhaHNwQkk7RTZFc2pDQTtJbEIxa0NNO0V4RXd0cEJSO0FBQ0Y7QTBGMW9uQlE7RUFDRTtFQUNBO0VBQ0E7QTFGNG9uQlY7QTBGMW9uQlU7RWxCdG1DRjtBeEVtdnBCUjtBYTdzcEJJO0U2RWdrQ007SWxCdG1DRjtFeEV1dnBCTjtBQUNGO0EwRi9vbkJZO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RWxCN21DTjtFa0IrbUNNLGNsRmptQ0Q7RWtGa21DQztBMUZpcG5CZDtBYTN0cEJJO0U2RW1rQ1E7SWxCem1DSjtFeEVxd3BCTjtBQUNGO0EwRnBwbkJjO0VBQ0U7QTFGc3BuQmhCO0EwRm5wbkJjO0VBQ0U7RUFDQTtFbEJ4bkNSO0F4RTh3cEJSO0FheHVwQkk7RTZFZ2xDVTtJbEJ0bkNOO0V4RWt4cEJOO0FBQ0Y7QTBGdnBuQmM7RUFJRTtBMUZzcG5CaEI7QTBGbnBuQmM7RUFDRSxxQmxGbHBDTTtBUnV5cEJ0QjtBMEYvb25CVTtFQUNFO0VBQ0E7QTFGaXBuQlo7QTBGOW9uQlU7RUFDRTtFQUNBO0ExRmdwbkJaO0EwRnhvbkJRO0VsQnZvQ0U7QXhFa3hwQlY7QTBGdG9uQlU7RUFDRTtBMUZ3b25CWjtBMEZwb25CUTtFQUNFO0ExRnNvbkJWO0EwRnBvbkJVO0VBRUU7QTFGcW9uQlo7QTBGbG9uQlU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFGb29uQlo7O0EwRnJubkJBOzt3REFBQTtBQUlFO0VBQ0U7RUFDQTtFQUNBO0ExRnVubkJKO0EwRnBubkJFO0VsQjFzQ007RWtCNHNDSixjbEY5ckNTO0VrRityQ1Q7RUFDQTtBMUZzbm5CSjtBMEZubm5CRTtFQUNFO0VsQmx0Q0k7RWtCb3RDSixnQm5Gam9CMEI7QVBzdm9COUI7QTBGbG5uQkU7RWxCdnRDTTtBeEU0MHBCUjtBMEZsbm5CSTtFQUNFO0ExRm9ubkJOOztBMEY5bW5CRTtFQUNFLHFDbEYvcENxQjtBUmd4cEJ6Qjs7QTJGNTJwQkE7RUF3SUU7OzREQUFBO0VBZUE7OzBEQUFBO0VBd0hBOzswREFBQTtFQW1IQTs7MERBQUE7RUFvR0E7OzBEQUFBO0VBdURBOzswREFBQTtBM0ZvMm9CRjtBMkYvM3BCRTtFbkJ5Q1E7RW1CdkNOO0VBQ0E7QTNGaTRwQko7QWF2MHBCSTtFOEU3REY7SW5CeUNRO0V4RSsxcEJSO0FBQ0Y7QTJGcDRwQkk7RUFDRTtBM0ZzNHBCTjtBYS8wcEJJO0U4RTdERjtJQVVJO0lBQ0E7RTNGczRwQko7QUFDRjtBYXgwcEJJO0U4RTFFRjtJQWVJO0UzRnU0cEJKO0UyRnA0cEJNO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UzRnM0cEJSO0UyRi8zcEJRO0lBQ0U7RTNGaTRwQlY7RTJGMzNwQlE7SUFDRTtFM0Y2M3BCVjtFMkZ6M3BCVTtJQUNFO0lBQ0E7RTNGMjNwQlo7QUFDRjtBMkZyM3BCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EzRnUzcEJOO0EyRnIzcEJNO0VBQ0U7QTNGdTNwQlI7QWFqM3BCSTtFOEViQTtJQVdJO0UzRnUzcEJOO0FBQ0Y7QWFuNHBCSTtFOEVBQTtJQWVJO0UzRnczcEJOO0FBQ0Y7QWEzM3BCSTtFOEVRRTtJQUVJO0UzRnEzcEJSO0UyRm4zcEJRO0lBQ0UsZ0JwRnNoQmtCO0VQKzFvQjVCO0FBQ0Y7QWFoNXBCSTtFOEVxQkU7SUFVSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UzRnEzcEJSO0FBQ0Y7QWE1NHBCSTtFOEUwQkU7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UzRm8zcEJSO0FBQ0Y7QWFsNnBCSTtFOEV1Q0U7SUFVSTtFM0ZxM3BCUjtFd0UxNnBCSTtJbUJ3RE07SUFDQTtJQUNBO0UzRnEzcEJWO0V3RS82cEJJO0ltQndETTtJQUNBO0lBQ0E7RTNGMDNwQlY7QUFDRjtBd0U3NnBCSTtFQUNFO0ltQitDTTtJQUNBO0lBQ0E7RTNGaTRwQlY7QUFDRjtBMkY3M3BCTTs7RUFFRTtFQUNBO0VuQnBHQTtFbUJzR0EsZ0JwRjZlc0I7RW9GNWV0QjtFbkJyRkU7QXhFcTlwQlY7QWFqOHBCSTtFOEUyREU7O0luQmpHRTtFeEU0K3BCTjtBQUNGO0FhdjhwQkk7RThFMkRFOztJbkIvRUk7RXhFZytwQlI7QUFDRjtBMkZqNHBCRTtFQUNFO0VBQ0E7QTNGbTRwQko7QTJGajRwQkk7RW5CdEhJO0VtQndIRjtFQUNBO0EzRm00cEJOO0EyRnozcEJJO0VBQ0U7RW5CcElFO0VtQnNJRjtBM0YyM3BCTjtBMkZ6M3BCTTtFQUNFO0VuQnpJQTtFQWtCRTtBeEVvL3BCVjtBYWgrcEJJO0U4RWtHRTtJbkJ4SUU7RXhFMGdxQk47QUFDRjtBYXIrcEJJO0U4RWtHRTtJbkJ0SEk7RXhFNi9wQlI7QUFDRjtBMkZsNHBCTTtFQUNFO0VBQ0EsY25GbElLO0VtRm1JTDtFbkIvSEU7QXhFb2dxQlY7QWFoL3BCSTtFOEV3R0U7SW5CNUhJO0V4RXdncUJSO0FBQ0Y7QWFyL3BCSTtFOEV3R0U7SUFPSTtJQUNBO0lBQ0E7RTNGMDRwQlI7QUFDRjtBMkZ6NHBCUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNGMjRwQlY7QTJGdjRwQk07RUFDRTtFbkJ0S0E7RW1Cd0tBO0VBQ0E7RUFDQTtBM0Z5NHBCUjtBYTdncUJJO0U4RStIRTtJbkJyS0U7RXhFdWpxQk47QUFDRjtBMkYzNHBCTTtFQUNFO0EzRjY0cEJSO0EyRjM0cEJRO0VBQ0U7RUFDQTtBM0Y2NHBCVjtBMkZ6NHBCVTtFQUNFO0EzRjI0cEJaO0EyRno0cEJZO0VBQ0U7QTNGMjRwQmQ7QTJGcjRwQk07RUFDRTtBM0Z1NHBCUjtBMkZyNHBCUTtFQUNFO0EzRnU0cEJWO0EyRmw0cEJRO0VBQ0U7QTNGbzRwQlY7QTJGLzNwQkk7OztFQUdFO0EzRmk0cEJOO0EyRjczcEJNO0VBQ0U7RW5Cdk5BO0VtQnlOQTtBM0YrM3BCUjtBYWxqcUJJO0U4RWdMRTtJbkJ0TkU7RXhFNGxxQk47QUFDRjtBMkZqNHBCTTtFQUNFO0VBQ0E7QTNGbTRwQlI7QTJGajRwQlE7RUFDRTtFQUNBO0EzRm00cEJWO0EyRmg0cEJNO0VBQ0U7RUFDQSx5Qm5GblBJO0VtRm9QSjtBM0ZrNHBCUjtBMkYvM3BCUTtFQUNFO0EzRmk0cEJWO0EyRmwzcEJJO0VBQ0U7RW5CNVBFO0VtQjhQRjtBM0ZvM3BCTjtBYTVrcUJJO0U4RXFOQTtJbkIzUEk7RXhFc25xQk47QUFDRjtBMkZ0M3BCSTtFQUNFO0EzRnczcEJOO0EyRnQzcEJNO0VBQ0U7QTNGdzNwQlI7QTJGcDNwQkk7RW5CelFJO0F4RWdvcUJSO0EyRnAzcEJNO0VBQ0UsZ0JwRnlVc0I7RW9GeFV0QjtBM0ZzM3BCUjtBMkZuM3BCTTtFQUNFO0VuQmhRRTtFQUFBO0VtQmtRRixzQkQ3U21CO0ExRm1xcUIzQjtBMkZwM3BCUTtFbkJwUUU7QXhFMm5xQlY7QWF2bXFCSTtFOEVnUEk7SW5CcFFFO0V4RStucUJSO0FBQ0Y7QTJGdjNwQk07RUFDRTtFQUNBO0VBQ0E7QTNGeTNwQlI7QTJGcjNwQkk7RW5CbFNJO0VtQm9TRjtFQUNBO0EzRnUzcEJOO0EyRnIzcEJNO0VBRUU7RUFDQTtBM0ZzM3BCUjtBMkZuM3BCTTtFQUNFO0EzRnEzcEJSO0FhaG5xQkk7RThFMFBFO0lBR0k7RTNGdTNwQlI7QUFDRjtBMkZyM3BCUTtFQUNFO0EzRnUzcEJWO0EyRm4zcEJNO0VBQ0U7QTNGcTNwQlI7QTJGbjNwQlE7RUFDRTtFQUNBLGdCcEZ5Um9CO0FQNGxwQjlCO0EyRm4zcEJVO0VBQ0U7RUFDQSxnQnBGa1JrQjtFaUVubEJ0QjtBeEV1cnFCUjtBMkZqM3BCUTtFbkJ0VUE7RW1Cd1VFO0VBQ0E7RUFDQSxnQnBGNFFvQjtFb0YzUXBCLGNuRnBRYTtBUnVucUJ2QjtBMkZoM3BCUTtFbkI5VUE7QXhFaXNxQlI7QXdFL3BxQk07RW1CK1NNO0EzRm0zcEJaO0F3RWxxcUJNO0VtQitTTTtBM0ZzM3BCWjtBd0U3cHFCSTtFQUNFO0ltQnNTTTtFM0YwM3BCVjtBQUNGO0EyRnIzcEJNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTNGdTNwQlI7QTJGcjNwQlE7RUFDRTtBM0Z1M3BCVjtBMkZyM3BCVTtFQUNFLGdCcEZxUGtCO0VvRnBQbEI7QTNGdTNwQlo7QTJGMzJwQkk7RUFDRTtFbkIvV0U7RW1CaVhGO0EzRjYycEJOO0FheHJxQkk7RThFd1VBO0luQjlXSTtFeEVrdXFCTjtBQUNGO0EyRi8ycEJJO0VBQ0U7QTNGaTNwQk47QTJGaDNwQk07RUFDRTtBM0ZrM3BCUjtBMkY5MnBCSTtFbkIzWEk7QXhFNHVxQlI7QTJGOTJwQk07RUFDRSxnQnBGdU5zQjtFb0Z0TnRCO0EzRmczcEJSO0EyRjcycEJNO0VBQ0U7RW5CbFhFO0VBQUE7RW1Cb1hGLHNCRC9abUI7QTFGK3dxQjNCO0EyRjkycEJRO0VuQnRYRTtBeEV1dXFCVjtBYW50cUJJO0U4RWtXSTtJbkJ0WEU7RXhFMnVxQlI7QUFDRjtBMkYvMnBCSTtFbkIvWUk7RW1CaVpGO0VBQ0E7QTNGaTNwQk47QTJGLzJwQk07RUFFRTtFQUNBO0EzRmczcEJSO0EyRjcycEJNO0VBQ0U7QTNGKzJwQlI7QWF2dHFCSTtFOEV1V0U7SUFHSTtFM0ZpM3BCUjtBQUNGO0EyRi8ycEJRO0VBQ0U7QTNGaTNwQlY7QTJGNzJwQk07RUFDRTtBM0YrMnBCUjtBMkY3MnBCUTtFQUNFO0VBQ0EsZ0JwRjRLb0I7QVBtc3BCOUI7QTJGNzJwQlU7RUFDRTtFQUNBLGdCcEZxS2tCO0VpRW5sQnRCO0F4RTh4cUJSO0EyRjEycEJNO0VBQ0U7RUFDQTtBM0Y0MnBCUjtBMkZ6MnBCTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EzRjIycEJSO0EyRnoycEJRO0VBQ0U7QTNGMjJwQlY7QTJGejJwQlU7RUFDRSxnQnBGbUprQjtFb0ZsSmxCO0EzRjIycEJaO0EyRjcxcEJJO0VBQ0U7RW5CbmRFO0VBa0JFO0F4RWt5cUJWO0FhOXdxQkk7RThFNGFBO0luQmxkSTtFeEV3enFCTjtBQUNGO0FhbnhxQkk7RThFNGFBO0luQmhjTTtFeEUyeXFCUjtBQUNGO0EyRnQycEJJO0VBQ0U7QTNGdzJwQk47QTJGcjJwQkk7RW5CMWNNO0F4RWt6cUJWO0FhOXhxQkk7RThFc2JBO0luQjFjTTtFeEVzenFCUjtBQUNGO0FhbnlxQkk7RThFc2JBO0luQjFjTTtFeEUyenFCUjtBQUNGO0FheHlxQkk7RThFc2JBO0luQjFjTTtFeEVnMHFCUjtBQUNGO0FhN3lxQkk7RThFc2JBO0luQjFjTTtFeEVxMHFCUjtBQUNGO0EyRnozcEJNO0VBQ0U7QTNGMjNwQlI7QTJGeDNwQk07RUFDRTtBM0YwM3BCUjtBMkZ0M3BCSTtFQUNFO0EzRnczcEJOO0EyRnIzcEJJO0VBQ0U7QTNGdTNwQk47QWE5enFCSTtFOEV5Y0U7SUFFSTtFM0Z1M3BCUjtBQUNGO0EyRnAzcEJNO0VBQ0U7RUFDQTtFQUNBO0EzRnMzcEJSO0EyRnAzcEJRO0VBQ0U7RUFDQTtBM0ZzM3BCVjtBMkZ6MnBCSTtFQUNFO0VuQjFnQkU7RW1CNGdCRjtBM0YyMnBCTjtBYWoxcUJJO0U4RW1lQTtJbkJ6Z0JJO0V4RTIzcUJOO0FBQ0Y7QTJGNzJwQkk7RUFDRTtFQUNBO0VuQmpoQkU7QXhFaTRxQlI7QWEzMXFCSTtFOEV5ZUE7SW5CL2dCSTtFeEVxNHFCTjtBQUNGO0EyRmozcEJJO0VBQ0U7QTNGbTNwQk47O0EyRjMycEJBO0VBMkJFOzswREFBQTtBM0ZzMXBCRjtBMkYvMnBCRTtFQUNFO0EzRmkzcEJKO0FhNTJxQkk7RThFNmZBO0lBRUk7SUFDQTtFM0ZpM3BCTjtFMkY5MnBCUTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0Esd0NwRitUNEI7SW9GOVQ1QjtFM0ZnM3BCVjtBQUNGO0EyRnIycEJJO0VBQ0U7RW5CL2pCRTtFbUJpa0JGO0EzRnUycEJOO0FhbDRxQkk7RThFd2hCQTtJbkI5akJJO0V4RTQ2cUJOO0FBQ0Y7QTJGeDJwQk07RUFDRTtBM0YwMnBCUjtBMkZ0MnBCSTtFbkIxa0JJO0F4RW03cUJSO0EyRnQycEJNO0VBQ0UsZ0JwRlFzQjtFb0ZQdEI7QTNGdzJwQlI7QTJGcjJwQk07RUFDRTtFbkJqa0JFO0VBQUE7RW1CbWtCRixzQkQ5bUJtQjtBMUZzOXFCM0I7QTJGdDJwQlE7RW5CcmtCRTtBeEU4NnFCVjtBYTE1cUJJO0U4RWlqQkk7SW5CcmtCRTtFeEVrN3FCUjtBQUNGO0EyRnoycEJNO0VBQ0U7RUFDQTtFQUNBO0EzRjIycEJSO0EyRnYycEJJO0VuQm5tQkk7RW1CcW1CRjtFQUNBO0EzRnkycEJOO0EyRnYycEJNO0VBQ0U7RUFDQTtFQUNBO0EzRnkycEJSO0EyRnQycEJNO0VBQ0U7QTNGdzJwQlI7QWFwNnFCSTtFOEUyakJFO0lBR0k7RTNGMDJwQlI7QUFDRjtBMkZ4MnBCUTtFQUNFO0EzRjAycEJWO0EyRnQycEJNO0VBQ0U7QTNGdzJwQlI7QTJGdDJwQlE7RUFDRTtFQUNBLGdCcEZ4Q29CO0FQZzVwQjlCO0EyRnQycEJVO0VBQ0U7RUFDQSxnQnBGL0NrQjtFaUVubEJ0QjtBeEUyK3FCUjtBMkZwMnBCUTtFbkJ2b0JBO0VtQnlvQkU7RUFDQTtFQUNBLGdCcEZyRG9CO0VvRnNEcEIsY25GcmtCYTtBUjI2cUJ2QjtBMkZuMnBCUTtFbkIvb0JBO0F4RXEvcUJSO0F3RW45cUJNO0VtQmduQk07QTNGczJwQlo7QXdFdDlxQk07RW1CZ25CTTtBM0Z5MnBCWjtBd0VqOXFCSTtFQUNFO0ltQnVtQk07RTNGNjJwQlY7QUFDRjtBMkZ4MnBCTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EzRjAycEJSO0EyRngycEJRO0VBQ0U7QTNGMDJwQlY7QTJGeDJwQlU7RUFDRSxnQnBGNUVrQjtFb0Y2RWxCO0EzRjAycEJaOztBMkZoMnBCQTtFQUNFO0EzRm0ycEJGOztBMkZoMnBCQTtFQUNFO0EzRm0ycEJGO0EyRmwycEJFO0VuQm5yQk07QXhFd2hyQlI7QWFsL3FCSTtFOEU2b0JGO0luQm5yQk07RXhFNGhyQk47QUFDRjtBMkZ0MnBCRTtFQUNFO0EzRncycEJKO0EyRnIycEJFO0VBQ0U7QTNGdTJwQko7QTJGcjJwQkk7RUFDRTtFQUNBO0EzRnUycEJOO0EyRm4ycEJFO0VBQ0U7RUFDQTtBM0ZxMnBCSjtBMkZuMnBCSTtFQUNFO0VBQ0E7RUFDQTtBM0ZxMnBCTjtBMkZuMnBCSTtFQUNFO0EzRnEycEJOOztBMkZoMnBCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0ZtMnBCRjtBMkZqMnBCRTtFQUNFO0EzRm0ycEJKO0EyRmwycEJJO0VBQW1CO0EzRnEycEJ2QjtBMkZwMnBCSTtFQUF3QjtBM0Z1MnBCNUI7QTJGbjJwQkk7RUFBbUI7QTNGczJwQnZCO0EyRnIycEJJO0VBQXdCO0EzRncycEI1Qjs7QTJGbjJwQkU7OztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOzs7Ozs7R0FBQTtBM0Y0MnBCSjs7QTJGbDJwQkE7Ozs7O0NBQUE7QUN2eEJBOzt3REFBQTtBQU9NO0VBQ0U7QTVGOG5yQlI7QTRGem5yQkU7RUFDRTtBNUYybnJCSjtBNEZ6bnJCSTtFQUNFO0E1RjJuckJOO0E0RnpuckJNO0VBQ0U7RUFDQSx5QnBGUkk7RWdFOEJGO0F4RXNtckJWO0FhbGxyQkk7RStFNUNFO0lwQndCSTtFeEUwbXJCUjtBQUNGO0E0RjVuckJJO0VwQmlCTTtBeEU4bXJCVjtBYTFsckJJO0UrRXJDQTtJcEJpQk07RXhFa25yQlI7QUFDRjtBYS9sckJJO0UrRXJDQTtJcEJpQk07RXhFdW5yQlI7QUFDRjtBNEZyb3JCSTtFcEJMSTtFb0JPRjtFQUNBLGNwRk1PO0VvRkxQO0VBQ0E7RUFDQTtFQUNBO0E1RnVvckJOO0E0RnBvckJJO0VwQkdNO0VBQUE7RUFBQTtFQUFBO0VvQkVKO0VBQ0E7RUFDQTtBNUZzb3JCTjtBYXRuckJJO0UrRXZCQTtJcEJHTTtJQUFBO0V4RStvckJSO0FBQ0Y7QWE1bnJCSTtFK0V2QkE7SXBCR007SUFBQTtFeEVxcHJCUjtBQUNGO0FhbG9yQkk7RStFdkJBO0lwQkdNO0lBQUE7RXhFMnByQlI7QUFDRjtBYXhvckJJO0UrRXZCQTtJcEJHTTtJQUFBO0V4RWlxckJSO0FBQ0Y7QWE5b3JCSTtFK0V2QkE7SXBCR007SUFBQTtFeEV1cXJCUjtBQUNGO0FhcHByQkk7RStFdkJBO0lwQkdNO0lBQUE7RXhFNnFyQlI7QUFDRjtBYTFwckJJO0UrRXZCQTtJcEJHTTtJQUFBO0V4RW1yckJSO0FBQ0Y7QWFocXJCSTtFK0V2QkE7SXBCR007SUFBQTtFeEV5cnJCUjtBQUNGO0E0RnByckJNO0VBQ0U7QTVGc3JyQlI7QTRGbnJyQk07RUFDRTtFQUNBO0E1RnFyckJSO0E0Rm5yckJRO0VBQ0U7RUFDQTtBNUZxcnJCVjtBNEZqcnJCTTs7RUFFRTtBNUZtcnJCUjtBNEZocnJCTTtFQTVCRjtJQTZCSTtJQUN3QztFNUZtcnJCOUM7RTRGbnJyQk07SUFBcUI7RTVGc3JyQjNCO0FBQ0Y7QWFqcnJCSTtFK0VGQTtJQUVJO0U1RnFyckJOO0FBQ0Y7QTRGMXFyQk07RUFDRTtBNUY0cXJCUjtBYXRzckJJO0UrRTZCRTtJQUVJO0lBQ0E7RTVGMnFyQlI7QUFDRjtBNEZ4cXJCTTtFcEIxRUU7RW9CNEVBLGNwRjFGYztFb0YyRmQ7QTVGMHFyQlI7QTRGdnFyQk07RXBCaEZFO0F4RTB2ckJSO0E0RnZwckJBOzt3REFBQTtBQUtFO0VBQ0U7RXBCekdJO0VvQjJHSjtBNUZ1cHJCSjtBNEZwcHJCRTtFQUNFO0E1RnNwckJKO0E0RmxwckJJO0VBQ0U7QTVGb3ByQk47O0E0RjlvckJBOzt3REFBQTtBQU1JOztFQUNFO0VBQ0EseUJwRjlJTTtFb0YrSU47QTVGK29yQk47QTRGMW9yQkk7O0VBQ0U7RXBCeklFO0VvQjJJRjtFQUNBO0E1RjZvckJOO0E0RjFvckJJOztFQUNFO0E1RjZvckJOO0E0RnpvckJNOztFcEJwSkU7QXhFaXlyQlI7O0E0RmxvckJBOzt3REFBQTtBQU1NO0VBQ0U7RUFDQTtBNUZrb3JCUjtBNEY5bnJCRTs7O0VwQnpKUTtBeEU0eHJCVjtBYXh3ckJJO0UrRXFJRjs7O0lwQnpKUTtFeEVreXJCUjtBQUNGO0E0RnRvckJJOzs7RUFDRTtFQUNBO0VBQ0E7QTVGMG9yQk47QTRGeG9yQk07OztFcEJwTEU7RW9Cc0xBO0VBQ0EsY3BGektLO0VvRjBLTDtFQUNBO0VBQ0E7RUFDQTtBNUY0b3JCUjtBNEZ6b3JCTTs7O0VBQ0U7RUFDQSx5QnBGNU1JO0VnRThCRjtBeEU0enJCVjtBYXh5ckJJO0UrRXdKRTs7O0lwQjVLSTtFeEVrMHJCUjtBQUNGO0E0RmpwckJNOzs7RUFDSTtBNUZxcHJCVjtBNEZqcHJCSTs7O0VBQ0UsY3BGeE5nQjtFb0Z5TmhCO0E1RnFwckJOO0E0RmhwckJJO0VBQ0U7QTVGa3ByQk47QTRGOW9yQkU7RUFDRTtBNUZncHJCSjtBNEY5b3JCRTtFQUNFO0E1RmdwckJKO0E0Ri9vckJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVGaXByQk47QTRGOW9yQkU7RXBCL01RO0F4RWcyckJWO0FhNTByQkk7RStFMkxGO0lwQi9NUTtFeEVvMnJCUjtBQUNGO0FhajFyQkk7RStFMkxGO0lwQi9NUTtFeEV5MnJCUjtBQUNGO0FhdDFyQkk7RStFMkxGO0lwQi9NUTtFeEU4MnJCUjtBQUNGO0FhMzFyQkk7RStFMkxGO0lwQi9NUTtFeEVtM3JCUjtBQUNGO0FhaDJyQkk7RStFMkxGO0lwQi9NUTtFeEV3M3JCUjtBQUNGOztBNkZuNnJCRTtFQUNFO0VBQ0E7RXJCd0NNO0F4RSszckJWO0FhMzJyQkk7RWdGOURGO0lyQjBDUTtFeEVtNHJCUjtBQUNGO0E2Rno2ckJJO0VBQ0U7RUFDQTtBN0YyNnJCTjtBNkZ0NnJCRTtFQUNFO0E3Rnc2ckJKO0E2RnQ2ckJJOztFQUVFO0VBQ0E7QTdGdzZyQk47QTZGcjZyQkk7RXJCR0k7QXhFcTZyQlI7QWEvM3JCSTtFZ0Z6Q0E7SXJCR0k7RXhFeTZyQk47QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3Nhc3MvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFubmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19yb290LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29sb3ItbW9kZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3Nhc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL191dGlsaXRpZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvbnRhaW5lcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jb250YWluZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hcGkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fbGFiZWxzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLXRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tY29udHJvbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1zZWxlY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tY2hlY2suc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tcmFuZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zsb2F0aW5nLWxhYmVscy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZHJvcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX25hdi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtdmFyaWFudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19jb2xvci1iZy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19jb2xvcmVkLWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2ZvY3VzLXJpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9faWNvbi1saW5rLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3JhdGlvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3Bvc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3N0YWNrcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fc3RyZXRjaGVkLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdGV4dC10cnVuY2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL192ci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvaGFtYnVyZ2Vycy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19jb2xsYXBzZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9waG90b3N3aXBlL3NyYy9jc3MvZGVmYXVsdC1za2luL2RlZmF1bHQtc2tpbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zd2VldGFsZXJ0Mi9zcmMvc2Nzcy9fdG9hc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3N3ZWV0YWxlcnQyL3NyYy92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc3dlZXRhbGVydDIvc3JjL3Njc3MvX2NvcmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc3dlZXRhbGVydDIvc3JjL3Njc3MvX2ljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3N3ZWV0YWxlcnQyL3NyYy9zY3NzL190b2FzdHMtYW5pbWF0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zd2VldGFsZXJ0Mi9zcmMvc2Nzcy9fYW5pbWF0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zd2VldGFsZXJ0Mi9zcmMvc2Nzcy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3N3ZWV0YWxlcnQyL3NyYy9zY3NzL19ib2R5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3N3ZWV0YWxlcnQyL3NyYy9zY3NzL190b2FzdHMtYm9keS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvc2Fzcy9fbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3Nhc3MvX2Fic29sdXRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19kb29maW5kZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX2hlYWRlci1iYW5uZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX3Byb2R1Y3QtYm94LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19zZWN0aW9uLWRpdmlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX3Byb2R1Y3RzLWhpZ2hsaWdodC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9fZnVsbC13aWR0aC1pbWFnZS1iYW5uZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX2Rpc2NvdmVyX2NvbGxlY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19ubC1ib3guc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX2NvbW1vbi1oZWFkaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19wb3B1cC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3BhZ2VzL19ob21lcGFnZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcGFnZXMvX3Byb2R1Y3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYWdlcy9fcHJvZHVjdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcGFnZXMvX3N0YXRpY19wYWdlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcGFnZXMvX2NhcnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3BhZ2VzL19hY2NvdW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9wYWdlcy9fdXNlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcGFnZXMvX2Fib3V0dXMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic2Fzcy9mb250c1wiO1xuQGltcG9ydCBcInNhc3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL2Jvb3RzdHJhcC1yZWJvb3RcIjtcbkBpbXBvcnQgXCJzYXNzL2Jvb3RzdHJhcF91dGlsaXRpZXNcIjsgLy8gbmVlZCB0byBiZSBpbXBvcnRlZCBiZWZvcmUgYm9vdHN0cmFwLWdyaWQgYW5kIGFmdGVyIGJvb3RzdHJhcC1yZWJvb3RcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLWdyaWRcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvYnV0dG9uc1wiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9mb3Jtc1wiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9tb2RhbFwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL2JyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvZHJvcGRvd25cIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL3RyYW5zaXRpb25zXCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL2FsZXJ0XCI7XG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL25hdlwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy90YWJsZXNcIjtcbkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwLXV0aWxpdGllc1wiO1xuQGltcG9ydCBcIn5zbGljay1jYXJvdXNlbC9zbGljay9zbGlja1wiO1xuQGltcG9ydCBcInNhc3MvbWl4aW5cIjtcbkBpbXBvcnQgXCJzYXNzL2JldHRlci1lYXNpbmdcIjtcbkBpbXBvcnQgXCJzYXNzL2Fic29sdXRlXCI7XG5AaW1wb3J0IFwifmhhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy9oYW1idXJnZXJzXCI7XG5AaW1wb3J0IFwifnBob3Rvc3dpcGUvZGlzdC9waG90b3N3aXBlLmNzc1wiO1xuQGltcG9ydCBcIn5waG90b3N3aXBlL3NyYy9jc3MvZGVmYXVsdC1za2luL2RlZmF1bHQtc2tpblwiO1xuQGltcG9ydCBcIn5zd2VldGFsZXJ0Mi9zcmMvc3dlZXRhbGVydDJcIjtcbkBpbXBvcnQgXCJ+anF1ZXJ5LXVpL3RoZW1lcy9iYXNlL2FsbC5jc3NcIjtcbkBpbXBvcnQgXCJ+QGFkeWVuL2FkeWVuLXdlYi9kaXN0L2FkeWVuLmNzc1wiO1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21tb24gc3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuKiB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG4vKiBpT1Mtb25seS1pc2ggKi9cbkBzdXBwb3J0cyAoLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lKSB7XG4gIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBidXR0b24geyBmb250LXNpemU6IDE2cHg7IH1cbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgpKTtcbiAgZm9udC13ZWlnaHQ6ICRiYXNlLWZvbnQtd2VpZ2h0O1xuICBtaW4td2lkdGg6IDM1MHB4O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbm1haW5bcm9sZT1cIm1haW5cIl0ge1xuICBAaW5jbHVkZSBycG1xKG92ZXJmbG93LXgsICh4czogaGlkZGVuLCBtZDogdmlzaWJsZSkpO1xufVxuXG4vKiBPdmVybGF5IGdsb2JhbGUgcGVyIGxvYWRpbmcgQUpBWC9GZXRjaCAqL1xuI2dsb2JhbC1sb2FkaW5nIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpO1xuICB6LWluZGV4OiA5OTk5OTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgY3Vyc29yOiBwcm9ncmVzcztcbn1cbiNnbG9iYWwtbG9hZGluZy5vbiB7IGRpc3BsYXk6IGZsZXg7IH1cblxuLyogU3Bpbm5lciBzZW1wbGljZSBlIGxlZ2dlcm8gKG5vIGRpcGVuZGVuemUpICovXG4jZ2xvYmFsLWxvYWRpbmcgLmdsLXNwaW5uZXIge1xuICB3aWR0aDogNTZweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogNHB4IHNvbGlkIHJnYmEoMCwwLDAsLjM1KTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDtcbiAgYW5pbWF0aW9uOiBnbC1zcGluIC44cyBsaW5lYXIgaW5maW5pdGU7XG59XG5Aa2V5ZnJhbWVzIGdsLXNwaW4geyB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4vKiAob3B6aW9uYWxlKSBvc2N1cmEgbG8gc2Nyb2xsL2ludGVyYXppb25pIGRlbCBib2R5ICovXG5ib2R5LmlzLWxvYWRpbmcge1xuICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cblxuLyogU3RpbGkgcGVyc29uYWxpenphdGkgcGVyIGxhIHRvb2x0aXAgZGkgalF1ZXJ5IFVJICovXG4uY3VzdG9tLXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7IC8vIENvbG9yZSBkaSBzZm9uZG8gc2N1cm9cbiAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gIGNvbG9yOiAkcHJpbWFyeTsgLy8gQ29sb3JlIGRlbCB0ZXN0byBjaGlhcm9cbiAgYm9yZGVyLXJhZGl1czogNHB4OyAvLyBBbmdvbGkgYXJyb3RvbmRhdGlcbiAgcGFkZGluZzogOHB4IDEycHg7IC8vIFNwYXppYXR1cmEgaW50ZXJuYVxuICBmb250LXNpemU6IDE0cHg7IC8vIERpbWVuc2lvbmUgZGVsIHRlc3RvXG4gIGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMik7IC8vIEFnZ2l1bmdlIHVuJ29tYnJhXG5cbiAgLyogU3RpbGkgcGVyIGxhIGZyZWNjaWEgZGVsbGEgdG9vbHRpcCAqL1xuICAudWktdG9vbHRpcC1jb250ZW50OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTEwcHg7XG4gICAgLyogUG9zaXppb25hIHNvcHJhIGxhIHRvb2x0aXAgKi9cbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRibGFjayB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgLy8gRnJlY2NpYSB0cmlhbmdvbGFyZVxuICB9XG59XG5cbmEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgQGluY2x1ZGUgaG92ZXIoXCI6aG92ZXJcIlwiOmZvY3VzXCIpIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbiAgQGluY2x1ZGUgaG92ZXIoKSB7IGNvbG9yOiBpbmhlcml0OyB9XG59XG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuaDEsaDIsaDMsaDQsaDUsaDYge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG59XG4udGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6ICRwcmltYXJ5O1xufVxuXG4uYnRuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMG1zIGVhc2luZygpO1xuICBwYWRkaW5nOiAkaW5wdXQtYnRuLXBhZGRpbmc7XG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzOmFjdGl2ZSxcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAvLyBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggIzAwMDtcbiAgfVxuICAmLmJ0bi1sZyB7XG4gICAgcGFkZGluZzogJGlucHV0LWJ0bi1wYWRkaW5nLWxhcmdlO1xuICB9XG59XG4uYnRuOmRpc2FibGVkLFxuLmJ0bi5kaXNhYmxlZCxcbmZpZWxkc2V0OmRpc2FibGVkIC5idG4ge1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG59XG4uZGFzaGVkbGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJsYWNrU3RyaXBlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJveEVycm9yIHtcbiAgQGluY2x1ZGUgcnBtcShtYXJnaW4tYm90dG9tLCAoeHM6IDI0cHgsIG1kOiA1MHB4KSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIC5lcnJvckdlbiB7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogdXJsKCcuLi9pbWFnZXMvcGFnZS5zdmcnKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLmlzLW1vYmlsZS1tZW51LW9wZW4ge1xuICAuZGFzaGVkbGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gaW1nIHV0aWxpdHkgY2xhc3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmltZy5iYWNrZ3JvdW5kLWNvdmVyLFxuaW1nLmJhY2tncm91bmQtY29udGFpbiB7XG4gIG9iamVjdC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgQGluY2x1ZGUgYWJzb2x1dGUodG9wIHJpZ2h0IGJvdHRvbSBsZWZ0KTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBAaW5jbHVkZSBycG1xKHdpZHRoLCAoeHM6IDk0JSwgc206IDEwMCUpKTtcbiAgLy8gQGluY2x1ZGUgcnBtcShtYXJnaW4sICh4czogNiUsIHNtOiAwKSk7XG59XG5cbmltZy5iYWNrZ3JvdW5kLWNvdmVyIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbn1cblxuaW1nLmJhY2tncm91bmQtY29udGFpbiB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gbWFpbiBjb250YWluZXIgYW5kIHBhZGRpbmcgY2xhc3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmlzLW1vYmlsZS1tZW51LW9wZW4ge1xuICBtYWluW3JvbGU9XCJtYWluXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICB9XG59XG5cbi5tYWluLXBhZGRpbmcge1xuICBAaW5jbHVkZSBtYWluLXBhZGRpbmcoKTtcbiAgJi5vdGhlci1wYWdlcyB7XG4gICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLXRvcCwgKHhzOiAkaGVhZGVyLWhlaWdodC1tYmwsIHNtOiAxNDBweCkpO1xuICB9XG59XG5cbi5hcHAtbWF4LXdpZHRoIHtcbiAgQGluY2x1ZGUgYXBwLW1heC13aWR0aCgpO1xufVxuXG5tYWluW3JvbGU9XCJtYWluXCJdIHtcbiAgLy8gQGluY2x1ZGUgYXBwLW1heC13aWR0aCgpXG59XG5cbi5mdWxsLXdpZHRoIHtcbiAgQGluY2x1ZGUgcnBtcShtYXJnaW4tbGVmdCBtYXJnaW4tcmlnaHQsIG5lZ2F0aXZpZnktbWFwLXNhbWUta2V5KCRtYWluLXBhZGRpbmcpKTtcbn1cblxuLnN1Yi1tYWluLXBhZGRpbmcge1xuICBAaW5jbHVkZSBycG1xKChwYWRkaW5nLWxlZnQgcGFkZGluZy1yaWdodCksICh4czogMTBweCwgc206IDE4cHgsIG1kOiAyMHB4LCBsZzogMzBweCwgeGw6IDUwcHgsIHh4bDogODBweCkpO1xufVxuXG4ubWFpbi1tYXJnaW4ge1xuICBAaW5jbHVkZSBycG1xKG1hcmdpbi10b3AgbWFyZ2luLWJvdHRvbSwgbGluZWFyLWludGVycG9sYXRpb24oNDBweCwgNjBweCwgeHMsIHh4bCkpO1xufVxuXG4uc3ViLW1haW4tbWFyZ2luIHtcbiAgQGluY2x1ZGUgcnBtcShtYXJnaW4tdG9wIG1hcmdpbi1ib3R0b20sIGxpbmVhci1pbnRlcnBvbGF0aW9uKDMwcHgsIDQwcHgsIHhzLCB4eGwpKTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBzY3JvbGxiYXJzIHN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi50aGluLXNjcm9sbCxcbi5tZWRpdW0tc2Nyb2xsIHtcbiAgQGluY2x1ZGUgc2Nyb2xsLWNvbG9ycygpO1xufVxuXG4kdGhpbi1zY3JvbGw6IDNweDtcbiRtZWRpdW0tc2Nyb2xsOiA3cHg7XG5cbi50aGluLXNjcm9sbCB7XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6ICR0aGluLXNjcm9sbDtcbiAgICBoZWlnaHQ6ICR0aGluLXNjcm9sbDtcbiAgfVxufVxuXG4udGhpbi1zY3JvbGwtaCB7XG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6ICR0aGluLXNjcm9sbDtcbiAgfVxufVxuXG4udGhpbi1zY3JvbGwtdiB7XG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogJHRoaW4tc2Nyb2xsO1xuICB9XG59XG5cbi5tZWRpdW0tc2Nyb2xsIHtcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAkbWVkaXVtLXNjcm9sbDtcbiAgICBoZWlnaHQ6ICRtZWRpdW0tc2Nyb2xsO1xuICB9XG59XG5cbi5tZWRpdW0tc2Nyb2xsLXYge1xuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6ICRtZWRpdW0tc2Nyb2xsO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gYm9vdHN0cmFwIG92ZXJyaWRlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uYnRuIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG4uYWNjb3JkaW9uLWJvZHkge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG59XG5cbi5idG4tcHJpbWFyeSB7XG4gIEBpbmNsdWRlIHJlbGF0aXZlKCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDBtcyBlYXNpbmcoKSwgYm9yZGVyLWNvbG9yIDUwMG1zIGVhc2luZygpLCBib3gtc2hhZG93IDUwMG1zIGVhc2luZygpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICBib3JkZXI6IHNvbGlkIDFweCAkYmxhY2s7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXM6YWN0aXZlIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAvLyBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggIzAwMDtcbiAgfVxuICBAaW5jbHVkZSBob3ZlcihcIjpob3ZlclwiKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRwcmltYXJ5O1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuXG4gICAgLy8gJjo6YWZ0ZXIge1xuICAgIC8vICAgaGVpZ2h0OiAycHg7XG4gICAgLy8gfVxuICB9XG59XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgQGluY2x1ZGUgcmVsYXRpdmUoKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwbXMgZWFzaW5nKCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1czphY3RpdmUge1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIC8vIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAjMDAwO1xuICB9XG5cbiAgQGluY2x1ZGUgaG92ZXIoXCI6aG92ZXJcIikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgIH1cbiAgfVxufVxuXG4uYnRuLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBib3JkZXItY29sb3I6ICMwMDA7XG5cbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXM6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggI2ZmZjtcbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyKFwiOmhvdmVyXCIpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMwMDAsIDAuOCk7XG4gIH1cbn1cblxuLmZvcm0tc2VsZWN0IHtcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0Z3JleTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgkZ3JleSwgMC4yNSk7XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogJGlucHV0LWJ0bi1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBpbmNsdWRlIHJwbXEobWFyZ2luLCAoeHM6IDEwcHggMCwgbWQ6IDEwcHggMCkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRncmV5O1xuICAvLyBAaW5jbHVkZSBycG1xKGhlaWdodCwgKHhzOiAzNnB4LCBtZDogMzZweCkpO1xuXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGdyZXk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoJGdyZXksIDAuMjUpO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnk7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyLXJhZGl1cztcblxuICAgIC8vICY6Y2hlY2tlZFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIC8vICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBsMyAzbDYtNicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAvLyB9XG5cbiAgICAmOmNoZWNrZWRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRwcmltYXJ5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tZ3JvdXAge1xuICBsYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICB9XG59XG5cbi5jb29raWUtYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAtMXB4O1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCAjY2NjY2NjO1xufVxuXG4uYnRuLWFjY2VwdC1jb29raWVzIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuOnRhcmdldCB7XG4gIHNjcm9sbC1tYXJnaW4tdG9wOiAxMjBweDtcbiAgLyogTW9kaWZpY2EgaWwgdmFsb3JlIGluIGJhc2UgYWxsJ2FsdGV6emEgZGVsbGEgdHVhIGhlYWRlciAqL1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFN3YWwgbW9kYWxzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4uc3dhbC13aWR0aC0xMDAge1xuICB3aWR0aDogMTAwdnc7XG59XG5cbi5zd2FsLXdpZGUge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuLnN3YWwtd2lkZXN0IHtcbiAgd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5cbi5zd2FsMi1wb3B1cCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLnN3YWwyLWNvbnRhaW5lciB7XG4gICYuc3dhbDItY2VudGVyIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG5cbiAgLnN3YWwyLW1vZGFsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiA0NWVtO1xuICAgIGhlaWdodDogYXV0bztcblxuICAgIC5zd2FsMi1odG1sLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgsIHNtOiAxNnB4LCkpO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dhbDItZXJyb3Ige1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zd2FsMi1jbG9zZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMjJweCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICRibGFjaztcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC5zd2FsMi10aXRsZSB7XG4gICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHggMjBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE4cHgsIHNtOiAyMHB4LCkpO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICAuc3dhbDItYWN0aW9ucyB7XG4gICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmcsICh4czogMHB4IDEwJSwgbWQ6IDBweCAyMCUpKTtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uLXJldmVyc2U7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi5zd2FsMi1jYW5jZWw6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICYuc3dhbDItY29uZmlybTpob3ZlciB7XG4gICAgICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgIC8vICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgLy8gICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIC8vIH1cbiAgICAgIH1cblxuICAgICAgLnN3YWwyLWNvbmZpcm0ge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vYmlsZSBtZW51IG1vZGFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uc3dhbC1tb2JpbGUtbWVudSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcblxuICAuc3dhbDItY29udGVudCB7XG4gICAgLy9wYWRkaW5nOiAyMHB4IDA7XG4gICAgcGFkZGluZzogMHB4IDBweCAwcHggNDVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAtNDNweDtcblxuICAgIC5zd2FsLW1vZGFsLWxvZ28ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2NjY2M7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgIGEge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcC5tZW51LWNvbC10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cblxuICAgIHAubW9kYWwtY2F0LWxldmVsMiB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjVzO1xuICAgICAgfVxuXG4gICAgICBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG5cbiAgICAgICYudGl0Q2F0IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiBsYXJnZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtY2F0LWxldmVsMy1yb3dNZW51LW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLm1vZGFsLWNhdC1sZXZlbDMtY29sdW1uLWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2NjY2NjYztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAubW9kYWwtY2F0LWxldmVsMyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAmLm1vZGFsLWNhdC1sZXZlbDMtaW5kZW50ZWQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHRyYW5zaXRpb246IDAuNXM7XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zd2FsMi1jYW5jZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwcHg7XG4gICAgbGVmdDogMTRweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBzb2xpZCAwcHggI2NjYztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2xvc2UuZ2lmXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2xpY2sgc3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnNsaWNrLWRvdHMge1xuICBAaW5jbHVkZSBhYnNvbHV0ZShsZWZ0IDAgcmlnaHQgMCk7XG4gIEBpbmNsdWRlIHJwbXEoYm90dG9tLCAoeHM6IC0xOHB4LCBtZDogMzBweCwpKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIHJlbGF0aXZlKCk7XG4gICAgQGluY2x1ZGUgcnBtcShtYXJnaW4sICh4czogMCA1cHgsIHNtOiAwIDEwcHgsKSk7XG5cbiAgICBidXR0b24ge1xuICAgICAgQGluY2x1ZGUgcmVsYXRpdmUoKTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBAaW5jbHVkZSBycG1xKHdpZHRoLCAoeHM6IDMwcHgsIHNtOiAzMHB4LCBtZDogNDBweCwpKTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGFic29sdXRlKGJvdHRvbSAxMHB4IGxlZnQgcmlnaHQpO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgaGVpZ2h0O1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2luZygpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICAgIH1cbiAgfVxufVxuXG4uc2xpY2stYXJyb3cge1xuICBAaW5jbHVkZSBycG1xKGRpc3BsYXksICh4czogbm9uZSAhaW1wb3J0YW50LCBzbTogYmxvY2sgIWltcG9ydGFudCkpO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGNvbW1vbiBjb21wb25lbnRzIHN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2Rvb2ZpbmRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyLWJhbm5lclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcHJvZHVjdC1ib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NlY3Rpb24tZGl2aWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcHJvZHVjdHMtaGlnaGxpZ2h0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mdWxsLXdpZHRoLWltYWdlLWJhbm5lclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGlzY292ZXJfY29sbGVjdGlvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25sLWJveFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2NvbW1vbi1oZWFkaW5nXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fcG9wdXBcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9vdGVyXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gcGFnZSBzcGVjaWZpYyBzdHlsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaW1wb3J0IFwicGFnZXMvaG9tZXBhZ2VcIjtcbkBpbXBvcnQgXCJwYWdlcy9wcm9kdWN0c1wiO1xuQGltcG9ydCBcInBhZ2VzL3Byb2R1Y3RcIjtcbkBpbXBvcnQgXCJwYWdlcy9zdGF0aWNfcGFnZXNcIjtcbkBpbXBvcnQgXCJwYWdlcy9jYXJ0XCI7XG5AaW1wb3J0IFwicGFnZXMvYWNjb3VudFwiO1xuQGltcG9ydCBcInBhZ2VzL3VzZXJcIjtcbkBpbXBvcnQgXCJwYWdlcy9hYm91dHVzXCI7IiwiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9TW9udHNlcnJhdDp3Z2h0QDQwMDs1MDA7NzAwJmZhbWlseT1Sb2JvdG8rTW9ubzp3Z2h0QDMwMDs0MDA7NzAwJmRpc3BsYXk9c3dhcCcpO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IGxvY2FsKCdNb250c2VycmF0JyksIGxvY2FsKCdNb250c2VycmF0Jyk7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IGxvY2FsKCdNb250c2VycmF0JyksIGxvY2FsKCdNb250c2VycmF0Jyk7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IGxvY2FsKCdNb250c2VycmF0JyksIGxvY2FsKCdNb250c2VycmF0Jyk7XG59IiwiQG1peGluIGJzQmFubmVyKCRmaWxlKSB7XG4gIC8qIVxuICAgKiBCb290c3RyYXAgI3skZmlsZX0gdjUuMy4zIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICAgKiBDb3B5cmlnaHQgMjAxMS0yMDI0IFRoZSBCb290c3RyYXAgQXV0aG9yc1xuICAgKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAgICovXG59XG4iLCI6cm9vdCxcbltkYXRhLWJzLXRoZW1lPVwibGlnaHRcIl0ge1xuICAvLyBOb3RlOiBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cblxuICAvLyBDb2xvcnNcbiAgLy9cbiAgLy8gR2VuZXJhdGUgcGFsZXR0ZXMgZm9yIGZ1bGwgY29sb3JzLCBncmF5cywgYW5kIHRoZW1lIGNvbG9ycy5cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRncmF5cyB7XG4gICAgLS0jeyRwcmVmaXh9Z3JheS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1yZ2Ige1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2I6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtdGV4dCB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXRleHQtZW1waGFzaXM6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYmctc3VidGxlIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYmctc3VidGxlOiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJvcmRlci1zdWJ0bGUge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1ib3JkZXItc3VidGxlOiAjeyR2YWx1ZX07XG4gIH1cblxuICAtLSN7JHByZWZpeH13aGl0ZS1yZ2I6ICN7dG8tcmdiKCR3aGl0ZSl9O1xuICAtLSN7JHByZWZpeH1ibGFjay1yZ2I6ICN7dG8tcmdiKCRibGFjayl9O1xuXG4gIC8vIEZvbnRzXG5cbiAgLy8gTm90ZTogVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogI3skZ3JhZGllbnR9O1xuXG4gIC8vIFJvb3QgYW5kIGJvZHlcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9keS12YXJpYWJsZXNcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZTogI3skZm9udC1zaXplLXJvb3R9O1xuICB9XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHk6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktYmFzZSl9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZS1iYXNlLCAtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LWJhc2V9O1xuICAtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0OiAjeyRsaW5lLWhlaWdodC1iYXNlfTtcbiAgQGlmICRib2R5LXRleHQtYWxpZ24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduOiAjeyRib2R5LXRleHQtYWxpZ259O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yKX07XG5cbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmc6ICN7JGJvZHktc2Vjb25kYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3I6ICN7JGJvZHktdGVydGlhcnktY29sb3J9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnOiAjeyRib2R5LXRlcnRpYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1iZyl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtYm9keS12YXJpYWJsZXNcblxuICAtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yOiAjeyRoZWFkaW5ncy1jb2xvcn07XG5cbiAgLS0jeyRwcmVmaXh9bGluay1jb2xvcjogI3skbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1saW5rLWRlY29yYXRpb246ICN7JGxpbmstZGVjb3JhdGlvbn07XG5cbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogI3skbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1ob3Zlci1jb2xvcil9O1xuXG4gIEBpZiAkbGluay1ob3Zlci1kZWNvcmF0aW9uICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItZGVjb3JhdGlvbjogI3skbGluay1ob3Zlci1kZWNvcmF0aW9ufTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fWNvZGUtY29sb3I6ICN7JGNvZGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3I6ICN7JG1hcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1oaWdobGlnaHQtYmc6ICN7JG1hcmstYmd9O1xuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWJvcmRlci12YXJcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoOiAjeyRib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItc3R5bGU6ICN7JGJvcmRlci1zdHlsZX07XG4gIC0tI3skcHJlZml4fWJvcmRlci1jb2xvcjogI3skYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAjeyRib3JkZXItY29sb3ItdHJhbnNsdWNlbnR9O1xuXG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtOiAjeyRib3JkZXItcmFkaXVzLXNtfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZzogI3skYm9yZGVyLXJhZGl1cy1sZ307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteGw6ICN7JGJvcmRlci1yYWRpdXMteGx9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bDogI3skYm9yZGVyLXJhZGl1cy14eGx9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLTJ4bDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteHhsKTsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjAgZm9yIGNvbnNpc3RlbmN5XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtcGlsbDogI3skYm9yZGVyLXJhZGl1cy1waWxsfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvcmRlci12YXJcblxuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93OiAjeyRib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbTogI3skYm94LXNoYWRvdy1zbX07XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctbGc6ICN7JGJveC1zaGFkb3ctbGd9O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0OiAjeyRib3gtc2hhZG93LWluc2V0fTtcblxuICAvLyBGb2N1cyBzdHlsZXNcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZm9jdXMtdmFyaWFibGVzXG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctd2lkdGg6ICN7JGZvY3VzLXJpbmctd2lkdGh9O1xuICAtLSN7JHByZWZpeH1mb2N1cy1yaW5nLW9wYWNpdHk6ICN7JGZvY3VzLXJpbmctb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctY29sb3I6ICN7JGZvY3VzLXJpbmctY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZm9jdXMtdmFyaWFibGVzXG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZm9ybS12YWxpZGF0aW9uLXZhcmlhYmxlc1xuICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWZvcm0tdmFsaWRhdGlvbi12YXJpYWJsZXNcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrLCB0cnVlKSB7XG4gICAgY29sb3Itc2NoZW1lOiBkYXJrO1xuXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZGFyay1tb2RlLXZhcnNcbiAgICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yOiAjeyRib2R5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1iZzogI3skYm9keS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktYmctZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1lbXBoYXNpcy1jb2xvci1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3I6ICN7JGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnOiAjeyRib2R5LXNlY29uZGFyeS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktYmctZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3I6ICN7JGJvZHktdGVydGlhcnktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmc6ICN7JGJvZHktdGVydGlhcnktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1iZy1kYXJrKX07XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXRleHQtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tdGV4dC1lbXBoYXNpczogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYmctc3VidGxlLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJnLXN1YnRsZTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZS1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1ib3JkZXItc3VidGxlOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcjogI3skaGVhZGluZ3MtY29sb3ItZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3I6ICN7JGxpbmstaG92ZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstaG92ZXItY29sb3ItZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3I6ICN7JG1hcmstY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnOiAjeyRtYXJrLWJnLWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAjeyRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQtZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3I6ICN7JGZvcm0taW52YWxpZC1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1kYXJrLW1vZGUtdmFyc1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RpbWVuc2lvbi1uby1ub24tbnVtZXJpYy12YWx1ZXNcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21haW4vTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIHZhbHVlXG4kcmZzLWJhc2UtdmFsdWU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtdW5pdCAhPSByZW0gYW5kICRyZnMtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIHZhbHVlcyBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IG51bWJlciBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIE1vZGUuIFBvc3NpYmlsaXRpZXM6IFwibWluLW1lZGlhLXF1ZXJ5XCIsIFwibWF4LW1lZGlhLXF1ZXJ5XCJcbiRyZnMtbW9kZTogbWluLW1lZGlhLXF1ZXJ5ICFkZWZhdWx0O1xuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmZzIHRvIGZhbHNlXG4kZW5hYmxlLXJmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLXZhbHVlIHVuaXRcbiRyZnMtYmFzZS12YWx1ZS11bml0OiB1bml0KCRyZnMtYmFzZS12YWx1ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLXZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSBweCB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgJHJmcy1iYXNlLXZhbHVlICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcmVtIHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSBhbmQgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG5cbiAgQGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGZvcm1hdHRlZCBub24tcmVzcG9uc2l2ZSB2YWx1ZVxuQGZ1bmN0aW9uIHJmcy12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgJHJmcy1yZW0tdmFsdWUpfXJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICR1bml0ID09IHJlbSB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcHggaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weCwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgZGl2aWRlKDEsICRyZnMtcmVtLXZhbHVlKSkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgIEBpZiBhYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgZGl2aWRlKGFicygkdmFsdWUpIC0gJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICR2YWx1ZSBhbmQgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtZGlmZjogYWJzKCR2YWx1ZSkgLSAkdmFsdWUtbWluO1xuXG4gICAgICAgICAgLy8gQmFzZSB2YWx1ZSBmb3JtYXR0aW5nXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWUtbWlufXB4KTtcblxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cbiAgICAgICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkdmFsdWUtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBjYWxjKFwiICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsIFwiIC0gXCIsIFwiICsgXCIpICsgJHZhcmlhYmxlLXdpZHRoICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkLXZhbDogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpO1xuXG4gICAgLy8gRG8gbm90IHByaW50IHRoZSBtZWRpYSBxdWVyeSBpZiByZXNwb25zaXZlICYgbm9uLXJlc3BvbnNpdmUgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgIEBpZiAkdmFsID09ICRmbHVpZC12YWwge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBfcmZzLXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICR2YWwsICRmbHVpZC12YWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWQtdmFsLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hvcnRoYW5kIGhlbHBlciBtaXhpbnNcbkBtaXhpbiBmb250LXNpemUoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUpO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZyk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy10b3ApO1xufVxuXG5AbWl4aW4gcGFkZGluZy1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1yaWdodCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1ib3R0b20pO1xufVxuXG5AbWl4aW4gcGFkZGluZy1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWxlZnQpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4pO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXRvcCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1yaWdodCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tYm90dG9tKTtcbn1cblxuQG1peGluIG1hcmdpbi1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tbGVmdCk7XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItbW9kZS1taXhpblxuQG1peGluIGNvbG9yLW1vZGUoJG1vZGU6IGxpZ2h0LCAkcm9vdDogZmFsc2UpIHtcbiAgQGlmICRjb2xvci1tb2RlLXR5cGUgPT0gXCJtZWRpYS1xdWVyeVwiIHtcbiAgICBAaWYgJHJvb3QgPT0gdHJ1ZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiAkbW9kZSkge1xuICAgICAgICA6cm9vdCB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ICRtb2RlKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgW2RhdGEtYnMtdGhlbWU9XCIjeyRtb2RlfVwiXSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItbW9kZS1taXhpblxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5cbi8vIFJvb3Rcbi8vXG4vLyBBYmlsaXR5IHRvIHRoZSB2YWx1ZSBvZiB0aGUgcm9vdCBmb250IHNpemVzLCBhZmZlY3RpbmcgdGhlIHZhbHVlIG9mIGByZW1gLlxuLy8gbnVsbCBieSBkZWZhdWx0LCB0aHVzIG5vdGhpbmcgaXMgZ2VuZXJhdGVkLlxuXG46cm9vdCB7XG4gIEBpZiAkZm9udC1zaXplLXJvb3QgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZSkpO1xuICB9XG5cbiAgQGlmICRlbmFibGUtc21vb3RoLXNjcm9sbCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4vLyA0LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHJlYm9vdC1ib2R5LXJ1bGVzXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogdmFyKC0tI3skcHJlZml4fWJvZHktdGV4dC1hbGlnbik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKTsgLy8gMlxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDNcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDRcbn1cbi8vIHNjc3MtZG9jcy1lbmQgcmVib290LWJvZHktcnVsZXNcblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gUmVzZXQgRmlyZWZveCdzIGdyYXkgY29sb3JcblxuaHIge1xuICBtYXJnaW46ICRoci1tYXJnaW4teSAwO1xuICBjb2xvcjogJGhyLWNvbG9yOyAvLyAxXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xuICBvcGFjaXR5OiAkaHItb3BhY2l0eTtcbn1cblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gMS4gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vICAgIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyAgICBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG5cbiVoZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDsgLy8gMVxuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC1zdHlsZTogJGhlYWRpbmdzLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcik7XG59XG5cbmgxIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xufVxuXG5oMiB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbn1cblxuaDMge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG59XG5cbmg0IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xufVxuXG5oNSB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbn1cblxuaDYge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG59XG5cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAyLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyAzLiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0ge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDFcbiAgY3Vyc29yOiBoZWxwOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gM1xufVxuXG5cbi8vIEFkZHJlc3NcblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlzdHNcblxub2wsXG51bCB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIDEuIFVuZG8gYnJvd3NlciBkZWZhdWx0XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyAxXG59XG5cblxuLy8gQmxvY2txdW90ZVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vLyBTdHJvbmdcbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlcjtcbn1cblxuXG4vLyBTbWFsbFxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xufVxuXG5cbi8vIE1hcmtcblxubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZyk7XG59XG5cblxuLy8gU3ViIGFuZCBTdXBcbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHN1Yi1zdXAtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6IHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgJixcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gQ29kZVxuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktY29kZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxuLy8gMS4gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4vLyAyLiBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuLy8gMy4gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206IDFyZW07IC8vIDJcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIDNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNvZGUtY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cblxuXG4vLyBGaWd1cmVzXG4vL1xuLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vIEltYWdlcyBhbmQgY29udGVudFxuXG5pbWcsXG5zdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcblxudGFibGUge1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nLXk7XG4gIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cbnRoZWFkLFxudGJvZHksXG50Zm9vdCxcbnRyLFxudGQsXG50aCB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5cbi8vIEZvcm1zXG4vL1xuLy8gMS4gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcblxuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBFeHBsaWNpdGx5IHJlbW92ZSBmb2N1cyBvdXRsaW5lIGluIENocm9taXVtIHdoZW4gaXQgc2hvdWxkbid0IGJlXG4vLyB2aXNpYmxlIChlLmcuIGFzIHJlc3VsdCBvZiBtb3VzZSBjbGljayBvciB0b3VjaCB0YXApLiBJdCBhbHJlYWR5XG4vLyBzaG91bGQgYmUgZG9pbmcgdGhpcyBhdXRvbWF0aWNhbGx5LCBidXQgc2VlbXMgdG8gY3VycmVudGx5IGJlXG4vLyBjb25mdXNlZCBhbmQgYXBwbGllcyBpdHMgdmVyeSB2aXNpYmxlIHR3by10b25lIG91dGxpbmUgYW55d2F5LlxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zZWxlY3Qge1xuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuXG4gIC8vIFVuZG8gdGhlIG9wYWNpdHkgY2hhbmdlIGZyb20gQ2hyb21lXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLy8gUmVtb3ZlIHRoZSBkcm9wZG93biBhcnJvdyBvbmx5IGZyb20gdGV4dCB0eXBlIGlucHV0cyBidWlsdCB3aXRoIGRhdGFsaXN0cyBpbiBDaHJvbWUuXG4vLyBTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzU0OTk3MTE4XG5cbltsaXN0XTpub3QoW3R5cGU9XCJkYXRlXCJdKTpub3QoW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSk6bm90KFt0eXBlPVwibW9udGhcIl0pOm5vdChbdHlwZT1cIndlZWtcIl0pOm5vdChbdHlwZT1cInRpbWVcIl0pOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDMuIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCBidXR0b24gZWxlbWVudHMuXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuXG4gIEBpZiAkZW5hYmxlLWJ1dHRvbi1wb2ludGVycyB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IC8vIDNcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuXG46Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8vIDEuIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyAvLyAxXG59XG5cbi8vIDEuIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4vLyAgICB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbi8vICAgIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4vLyAgICBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4vLyAyLiBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cblxuZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDJcbiAgYm9yZGVyOiAwOyAvLyAyXG59XG5cbi8vIDEuIEJ5IHVzaW5nIGBmbG9hdDogbGVmdGAsIHRoZSBsZWdlbmQgd2lsbCBiZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnQuXG4vLyAgICBUaGlzIHdheSB0aGUgYm9yZGVyIG9mIGEgZmllbGRzZXQgd3JhcHMgYXJvdW5kIHRoZSBsZWdlbmQgaWYgcHJlc2VudC5cbi8vIDIuIEZpeCB3cmFwcGluZyBidWcuXG4vLyAgICBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yOTcxMlxuXG5sZWdlbmQge1xuICBmbG9hdDogbGVmdDsgLy8gMVxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGxlZ2VuZC1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlZ2VuZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlZ2VuZC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgKyAqIHtcbiAgICBjbGVhcjogbGVmdDsgLy8gMlxuICB9XG59XG5cbi8vIEZpeCBoZWlnaHQgb2YgaW5wdXRzIHdpdGggYSB0eXBlIG9mIGRhdGV0aW1lLWxvY2FsLCBkYXRlLCBtb250aCwgd2Vlaywgb3IgdGltZVxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTg4NDJcblxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC10ZXh0LFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gMS4gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuLy8gICAgYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4vLyAgICBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4vLyAgICBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbn1cblxuLy8gMS4gQSBmZXcgaW5wdXQgdHlwZXMgc2hvdWxkIHN0YXkgTFRSXG4vLyBTZWUgaHR0cHM6Ly9ydGxzdHlsaW5nLmNvbS9wb3N0cy9ydGwtc3R5bGluZyNmb3JtLWlucHV0c1xuLy8gMi4gUlRMIG9ubHkgb3V0cHV0XG4vLyBTZWUgaHR0cHM6Ly9ydGxjc3MuY29tL2xlYXJuL3VzYWdlLWd1aWRlL2NvbnRyb2wtZGlyZWN0aXZlcy8jcmF3XG5cbi8qIHJ0bDpyYXc6XG5bdHlwZT1cInRlbFwiXSxcblt0eXBlPVwidXJsXCJdLFxuW3R5cGU9XCJlbWFpbFwiXSxcblt0eXBlPVwibnVtYmVyXCJdIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG4qL1xuXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gUmVtb3ZlIHBhZGRpbmcgYXJvdW5kIGNvbG9yIHBpY2tlcnMgaW4gd2Via2l0IGJyb3dzZXJzXG5cbjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cblxuLy8gMS4gSW5oZXJpdCBmb250IGZhbWlseSBhbmQgbGluZSBoZWlnaHQgZm9yIGZpbGUgaW5wdXQgYnV0dG9uc1xuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDFcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLy8gUmVtb3ZlIGJvcmRlciBmcm9tIGlmcmFtZVxuXG5pZnJhbWUge1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFN1bW1hcnlcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gMVxuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLy8gUHJvZ3Jlc3Ncbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuXG4vLyBIaWRkZW4gYXR0cmlidXRlXG4vL1xuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZS5cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYXktY29sb3ItdmFyaWFibGVzXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3ItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYXktY29sb3JzLW1hcFxuJGdyYXlzOiAoXG4gIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgXCIyMDBcIjogJGdyYXktMjAwLFxuICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgXCI1MDBcIjogJGdyYXktNTAwLFxuICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgXCI4MDBcIjogJGdyYXktODAwLFxuICBcIjkwMFwiOiAkZ3JheS05MDBcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3JzLW1hcFxuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLXZhcmlhYmxlc1xuJGJsdWU6ICAgICMwZDZlZmQgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNkNjMzODQgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzE5ODc1NCAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMwZGNhZjAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3JzLW1hcFxuJGNvbG9yczogKFxuICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgXCJibGFja1wiOiAgICAgICRibGFjayxcbiAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3JzLW1hcFxuXG4vLyBUaGUgY29udHJhc3QgcmF0aW8gdG8gcmVhY2ggYWdhaW5zdCB3aGl0ZSwgdG8gZGV0ZXJtaW5lIGlmIGNvbG9yIGNoYW5nZXMgZnJvbSBcImxpZ2h0XCIgdG8gXCJkYXJrXCIuIEFjY2VwdGFibGUgdmFsdWVzIGZvciBXQ0FHIDIuMCBhcmUgMywgNC41IGFuZCA3LlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAvI3Zpc3VhbC1hdWRpby1jb250cmFzdC1jb250cmFzdFxuJG1pbi1jb250cmFzdC1yYXRpbzogICA0LjUgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4kY29sb3ItY29udHJhc3QtZGFyazogICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY29sb3ItY29udHJhc3QtbGlnaHQ6ICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGJsdWUtMTAwOiB0aW50LWNvbG9yKCRibHVlLCA4MCUpICFkZWZhdWx0O1xuJGJsdWUtMjAwOiB0aW50LWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtMzAwOiB0aW50LWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtNDAwOiB0aW50LWNvbG9yKCRibHVlLCAyMCUpICFkZWZhdWx0O1xuJGJsdWUtNTAwOiAkYmx1ZSAhZGVmYXVsdDtcbiRibHVlLTYwMDogc2hhZGUtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS03MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtODAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgNjAlKSAhZGVmYXVsdDtcbiRibHVlLTkwMDogc2hhZGUtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG5cbiRpbmRpZ28tMTAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTIwMDogdGludC1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby0zMDA6IHRpbnQtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNDAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTUwMDogJGluZGlnbyAhZGVmYXVsdDtcbiRpbmRpZ28tNjAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCAyMCUpICFkZWZhdWx0O1xuJGluZGlnby03MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDQwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTgwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tOTAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA4MCUpICFkZWZhdWx0O1xuXG4kcHVycGxlLTEwMDogdGludC1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0yMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtMzAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTQwMDogdGludC1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS01MDA6ICRwdXJwbGUgIWRlZmF1bHQ7XG4kcHVycGxlLTYwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgMjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNzAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA0MCUpICFkZWZhdWx0O1xuJHB1cnBsZS04MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDYwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTkwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgODAlKSAhZGVmYXVsdDtcblxuJHBpbmstMTAwOiB0aW50LWNvbG9yKCRwaW5rLCA4MCUpICFkZWZhdWx0O1xuJHBpbmstMjAwOiB0aW50LWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstMzAwOiB0aW50LWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstNDAwOiB0aW50LWNvbG9yKCRwaW5rLCAyMCUpICFkZWZhdWx0O1xuJHBpbmstNTAwOiAkcGluayAhZGVmYXVsdDtcbiRwaW5rLTYwMDogc2hhZGUtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay03MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstODAwOiBzaGFkZS1jb2xvcigkcGluaywgNjAlKSAhZGVmYXVsdDtcbiRwaW5rLTkwMDogc2hhZGUtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG5cbiRyZWQtMTAwOiB0aW50LWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG4kcmVkLTIwMDogdGludC1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC0zMDA6IHRpbnQtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtNDAwOiB0aW50LWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTUwMDogJHJlZCAhZGVmYXVsdDtcbiRyZWQtNjAwOiBzaGFkZS1jb2xvcigkcmVkLCAyMCUpICFkZWZhdWx0O1xuJHJlZC03MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDQwJSkgIWRlZmF1bHQ7XG4kcmVkLTgwMDogc2hhZGUtY29sb3IoJHJlZCwgNjAlKSAhZGVmYXVsdDtcbiRyZWQtOTAwOiBzaGFkZS1jb2xvcigkcmVkLCA4MCUpICFkZWZhdWx0O1xuXG4kb3JhbmdlLTEwMDogdGludC1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0yMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtMzAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTQwMDogdGludC1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS01MDA6ICRvcmFuZ2UgIWRlZmF1bHQ7XG4kb3JhbmdlLTYwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgMjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNzAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA0MCUpICFkZWZhdWx0O1xuJG9yYW5nZS04MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDYwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTkwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgODAlKSAhZGVmYXVsdDtcblxuJHllbGxvdy0xMDA6IHRpbnQtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMjAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTMwMDogdGludC1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy00MDA6IHRpbnQtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNTAwOiAkeWVsbG93ICFkZWZhdWx0O1xuJHllbGxvdy02MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDIwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTcwMDogc2hhZGUtY29sb3IoJHllbGxvdywgNDAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctODAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA2MCUpICFkZWZhdWx0O1xuJHllbGxvdy05MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDgwJSkgIWRlZmF1bHQ7XG5cbiRncmVlbi0xMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuJGdyZWVuLTIwMDogdGludC1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMzAwOiB0aW50LWNvbG9yKCRncmVlbiwgNDAlKSAhZGVmYXVsdDtcbiRncmVlbi00MDA6IHRpbnQtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTUwMDogJGdyZWVuICFkZWZhdWx0O1xuJGdyZWVuLTYwMDogc2hhZGUtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTcwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTgwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA2MCUpICFkZWZhdWx0O1xuJGdyZWVuLTkwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuXG4kdGVhbC0xMDA6IHRpbnQtY29sb3IoJHRlYWwsIDgwJSkgIWRlZmF1bHQ7XG4kdGVhbC0yMDA6IHRpbnQtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC0zMDA6IHRpbnQtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC00MDA6IHRpbnQtY29sb3IoJHRlYWwsIDIwJSkgIWRlZmF1bHQ7XG4kdGVhbC01MDA6ICR0ZWFsICFkZWZhdWx0O1xuJHRlYWwtNjAwOiBzaGFkZS1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTcwMDogc2hhZGUtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC04MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA2MCUpICFkZWZhdWx0O1xuJHRlYWwtOTAwOiBzaGFkZS1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcblxuJGN5YW4tMTAwOiB0aW50LWNvbG9yKCRjeWFuLCA4MCUpICFkZWZhdWx0O1xuJGN5YW4tMjAwOiB0aW50LWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tMzAwOiB0aW50LWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tNDAwOiB0aW50LWNvbG9yKCRjeWFuLCAyMCUpICFkZWZhdWx0O1xuJGN5YW4tNTAwOiAkY3lhbiAhZGVmYXVsdDtcbiRjeWFuLTYwMDogc2hhZGUtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi03MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tODAwOiBzaGFkZS1jb2xvcigkY3lhbiwgNjAlKSAhZGVmYXVsdDtcbiRjeWFuLTkwMDogc2hhZGUtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiRibHVlczogKFxuICBcImJsdWUtMTAwXCI6ICRibHVlLTEwMCxcbiAgXCJibHVlLTIwMFwiOiAkYmx1ZS0yMDAsXG4gIFwiYmx1ZS0zMDBcIjogJGJsdWUtMzAwLFxuICBcImJsdWUtNDAwXCI6ICRibHVlLTQwMCxcbiAgXCJibHVlLTUwMFwiOiAkYmx1ZS01MDAsXG4gIFwiYmx1ZS02MDBcIjogJGJsdWUtNjAwLFxuICBcImJsdWUtNzAwXCI6ICRibHVlLTcwMCxcbiAgXCJibHVlLTgwMFwiOiAkYmx1ZS04MDAsXG4gIFwiYmx1ZS05MDBcIjogJGJsdWUtOTAwXG4pICFkZWZhdWx0O1xuXG4kaW5kaWdvczogKFxuICBcImluZGlnby0xMDBcIjogJGluZGlnby0xMDAsXG4gIFwiaW5kaWdvLTIwMFwiOiAkaW5kaWdvLTIwMCxcbiAgXCJpbmRpZ28tMzAwXCI6ICRpbmRpZ28tMzAwLFxuICBcImluZGlnby00MDBcIjogJGluZGlnby00MDAsXG4gIFwiaW5kaWdvLTUwMFwiOiAkaW5kaWdvLTUwMCxcbiAgXCJpbmRpZ28tNjAwXCI6ICRpbmRpZ28tNjAwLFxuICBcImluZGlnby03MDBcIjogJGluZGlnby03MDAsXG4gIFwiaW5kaWdvLTgwMFwiOiAkaW5kaWdvLTgwMCxcbiAgXCJpbmRpZ28tOTAwXCI6ICRpbmRpZ28tOTAwXG4pICFkZWZhdWx0O1xuXG4kcHVycGxlczogKFxuICBcInB1cnBsZS0xMDBcIjogJHB1cnBsZS0xMDAsXG4gIFwicHVycGxlLTIwMFwiOiAkcHVycGxlLTIwMCxcbiAgXCJwdXJwbGUtMzAwXCI6ICRwdXJwbGUtMzAwLFxuICBcInB1cnBsZS00MDBcIjogJHB1cnBsZS00MDAsXG4gIFwicHVycGxlLTUwMFwiOiAkcHVycGxlLTUwMCxcbiAgXCJwdXJwbGUtNjAwXCI6ICRwdXJwbGUtNjAwLFxuICBcInB1cnBsZS03MDBcIjogJHB1cnBsZS03MDAsXG4gIFwicHVycGxlLTgwMFwiOiAkcHVycGxlLTgwMCxcbiAgXCJwdXJwbGUtOTAwXCI6ICRwdXJwbGUtOTAwXG4pICFkZWZhdWx0O1xuXG4kcGlua3M6IChcbiAgXCJwaW5rLTEwMFwiOiAkcGluay0xMDAsXG4gIFwicGluay0yMDBcIjogJHBpbmstMjAwLFxuICBcInBpbmstMzAwXCI6ICRwaW5rLTMwMCxcbiAgXCJwaW5rLTQwMFwiOiAkcGluay00MDAsXG4gIFwicGluay01MDBcIjogJHBpbmstNTAwLFxuICBcInBpbmstNjAwXCI6ICRwaW5rLTYwMCxcbiAgXCJwaW5rLTcwMFwiOiAkcGluay03MDAsXG4gIFwicGluay04MDBcIjogJHBpbmstODAwLFxuICBcInBpbmstOTAwXCI6ICRwaW5rLTkwMFxuKSAhZGVmYXVsdDtcblxuJHJlZHM6IChcbiAgXCJyZWQtMTAwXCI6ICRyZWQtMTAwLFxuICBcInJlZC0yMDBcIjogJHJlZC0yMDAsXG4gIFwicmVkLTMwMFwiOiAkcmVkLTMwMCxcbiAgXCJyZWQtNDAwXCI6ICRyZWQtNDAwLFxuICBcInJlZC01MDBcIjogJHJlZC01MDAsXG4gIFwicmVkLTYwMFwiOiAkcmVkLTYwMCxcbiAgXCJyZWQtNzAwXCI6ICRyZWQtNzAwLFxuICBcInJlZC04MDBcIjogJHJlZC04MDAsXG4gIFwicmVkLTkwMFwiOiAkcmVkLTkwMFxuKSAhZGVmYXVsdDtcblxuJG9yYW5nZXM6IChcbiAgXCJvcmFuZ2UtMTAwXCI6ICRvcmFuZ2UtMTAwLFxuICBcIm9yYW5nZS0yMDBcIjogJG9yYW5nZS0yMDAsXG4gIFwib3JhbmdlLTMwMFwiOiAkb3JhbmdlLTMwMCxcbiAgXCJvcmFuZ2UtNDAwXCI6ICRvcmFuZ2UtNDAwLFxuICBcIm9yYW5nZS01MDBcIjogJG9yYW5nZS01MDAsXG4gIFwib3JhbmdlLTYwMFwiOiAkb3JhbmdlLTYwMCxcbiAgXCJvcmFuZ2UtNzAwXCI6ICRvcmFuZ2UtNzAwLFxuICBcIm9yYW5nZS04MDBcIjogJG9yYW5nZS04MDAsXG4gIFwib3JhbmdlLTkwMFwiOiAkb3JhbmdlLTkwMFxuKSAhZGVmYXVsdDtcblxuJHllbGxvd3M6IChcbiAgXCJ5ZWxsb3ctMTAwXCI6ICR5ZWxsb3ctMTAwLFxuICBcInllbGxvdy0yMDBcIjogJHllbGxvdy0yMDAsXG4gIFwieWVsbG93LTMwMFwiOiAkeWVsbG93LTMwMCxcbiAgXCJ5ZWxsb3ctNDAwXCI6ICR5ZWxsb3ctNDAwLFxuICBcInllbGxvdy01MDBcIjogJHllbGxvdy01MDAsXG4gIFwieWVsbG93LTYwMFwiOiAkeWVsbG93LTYwMCxcbiAgXCJ5ZWxsb3ctNzAwXCI6ICR5ZWxsb3ctNzAwLFxuICBcInllbGxvdy04MDBcIjogJHllbGxvdy04MDAsXG4gIFwieWVsbG93LTkwMFwiOiAkeWVsbG93LTkwMFxuKSAhZGVmYXVsdDtcblxuJGdyZWVuczogKFxuICBcImdyZWVuLTEwMFwiOiAkZ3JlZW4tMTAwLFxuICBcImdyZWVuLTIwMFwiOiAkZ3JlZW4tMjAwLFxuICBcImdyZWVuLTMwMFwiOiAkZ3JlZW4tMzAwLFxuICBcImdyZWVuLTQwMFwiOiAkZ3JlZW4tNDAwLFxuICBcImdyZWVuLTUwMFwiOiAkZ3JlZW4tNTAwLFxuICBcImdyZWVuLTYwMFwiOiAkZ3JlZW4tNjAwLFxuICBcImdyZWVuLTcwMFwiOiAkZ3JlZW4tNzAwLFxuICBcImdyZWVuLTgwMFwiOiAkZ3JlZW4tODAwLFxuICBcImdyZWVuLTkwMFwiOiAkZ3JlZW4tOTAwXG4pICFkZWZhdWx0O1xuXG4kdGVhbHM6IChcbiAgXCJ0ZWFsLTEwMFwiOiAkdGVhbC0xMDAsXG4gIFwidGVhbC0yMDBcIjogJHRlYWwtMjAwLFxuICBcInRlYWwtMzAwXCI6ICR0ZWFsLTMwMCxcbiAgXCJ0ZWFsLTQwMFwiOiAkdGVhbC00MDAsXG4gIFwidGVhbC01MDBcIjogJHRlYWwtNTAwLFxuICBcInRlYWwtNjAwXCI6ICR0ZWFsLTYwMCxcbiAgXCJ0ZWFsLTcwMFwiOiAkdGVhbC03MDAsXG4gIFwidGVhbC04MDBcIjogJHRlYWwtODAwLFxuICBcInRlYWwtOTAwXCI6ICR0ZWFsLTkwMFxuKSAhZGVmYXVsdDtcblxuJGN5YW5zOiAoXG4gIFwiY3lhbi0xMDBcIjogJGN5YW4tMTAwLFxuICBcImN5YW4tMjAwXCI6ICRjeWFuLTIwMCxcbiAgXCJjeWFuLTMwMFwiOiAkY3lhbi0zMDAsXG4gIFwiY3lhbi00MDBcIjogJGN5YW4tNDAwLFxuICBcImN5YW4tNTAwXCI6ICRjeWFuLTUwMCxcbiAgXCJjeWFuLTYwMFwiOiAkY3lhbi02MDAsXG4gIFwiY3lhbi03MDBcIjogJGN5YW4tNzAwLFxuICBcImN5YW4tODAwXCI6ICRjeWFuLTgwMCxcbiAgXCJjeWFuLTkwMFwiOiAkY3lhbi05MDBcbikgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtbWFwXG4kdGhlbWUtY29sb3JzOiAoXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmtcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9ycy1tYXBcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLXRleHQtdmFyaWFibGVzXG4kcHJpbWFyeS10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS10ZXh0LWVtcGhhc2lzOiBzaGFkZS1jb2xvcigkc2Vjb25kYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtdGV4dC1lbXBoYXNpczogICBzaGFkZS1jb2xvcigkc3VjY2VzcywgNjAlKSAhZGVmYXVsdDtcbiRpbmZvLXRleHQtZW1waGFzaXM6ICAgICAgc2hhZGUtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCR3YXJuaW5nLCA2MCUpICFkZWZhdWx0O1xuJGRhbmdlci10ZXh0LWVtcGhhc2lzOiAgICBzaGFkZS1jb2xvcigkZGFuZ2VyLCA2MCUpICFkZWZhdWx0O1xuJGxpZ2h0LXRleHQtZW1waGFzaXM6ICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kZGFyay10ZXh0LWVtcGhhc2lzOiAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJnLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJnLXN1YnRsZTogICAgICAgdGludC1jb2xvcigkcHJpbWFyeSwgODAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYmctc3VidGxlOiAgICAgdGludC1jb2xvcigkc2Vjb25kYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRzdWNjZXNzLCA4MCUpICFkZWZhdWx0O1xuJGluZm8tYmctc3VidGxlOiAgICAgICAgICB0aW50LWNvbG9yKCRpbmZvLCA4MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCR3YXJuaW5nLCA4MCUpICFkZWZhdWx0O1xuJGRhbmdlci1iZy1zdWJ0bGU6ICAgICAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDgwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtYmctc3VidGxlOiAgICAgICAgIG1peCgkZ3JheS0xMDAsICR3aGl0ZSkgIWRlZmF1bHQ7XG4kZGFyay1iZy1zdWJ0bGU6ICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYm9yZGVyLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJvcmRlci1zdWJ0bGU6ICAgdGludC1jb2xvcigkcHJpbWFyeSwgNjAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYm9yZGVyLXN1YnRsZTogdGludC1jb2xvcigkc2Vjb25kYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tYm9yZGVyLXN1YnRsZTogICAgICB0aW50LWNvbG9yKCRpbmZvLCA2MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCR3YXJuaW5nLCA2MCUpICFkZWZhdWx0O1xuJGRhbmdlci1ib3JkZXItc3VidGxlOiAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtYm9yZGVyLXN1YnRsZTogICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkYXJrLWJvcmRlci1zdWJ0bGU6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbjogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc21vb3RoLXNjcm9sbDogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jb250YWluZXItY2xhc3NlczogICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY3NzZ3JpZDogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1idXR0b24tcG9pbnRlcnM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmZzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzOiAgdHJ1ZSAhZGVmYXVsdDtcblxuJGVuYWJsZS1kYXJrLW1vZGU6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRjb2xvci1tb2RlLXR5cGU6ICAgICAgICAgICAgIGRhdGEgIWRlZmF1bHQ7IC8vIGBkYXRhYCBvciBgbWVkaWEtcXVlcnlgXG5cbi8vIFByZWZpeCBmb3IgOnJvb3QgQ1NTIHZhcmlhYmxlc1xuXG4kdmFyaWFibGUtcHJlZml4OiAgICAgICAgICAgICBicy0gIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wIGZvciB0aGUgc2hvcnRlciBgJHByZWZpeGBcbiRwcmVmaXg6ICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZS1wcmVmaXggIWRlZmF1bHQ7XG5cbi8vIEdyYWRpZW50XG4vL1xuLy8gVGhlIGdyYWRpZW50IHdoaWNoIGlzIGFkZGVkIHRvIGNvbXBvbmVudHMgaWYgYCRlbmFibGUtZ3JhZGllbnRzYCBpcyBgdHJ1ZWBcbi8vIFRoaXMgZ3JhZGllbnQgaXMgYWxzbyBhZGRlZCB0byBlbGVtZW50cyB3aXRoIGAuYmctZ3JhZGllbnRgXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdmFyaWFibGUtZ3JhZGllbnRcbiRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgkd2hpdGUsIC4xNSksIHJnYmEoJHdoaXRlLCAwKSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZhcmlhYmxlLWdyYWRpZW50XG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogJHNwYWNlciAqIC4yNSxcbiAgMjogJHNwYWNlciAqIC41LFxuICAzOiAkc3BhY2VyLFxuICA0OiAkc3BhY2VyICogMS41LFxuICA1OiAkc3BhY2VyICogMyxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNwYWNlci12YXJpYWJsZXMtbWFwc1xuXG4vLyBQb3NpdGlvblxuLy9cbi8vIERlZmluZSB0aGUgZWRnZSBwb3NpdGlvbmluZyBhbmNob3JzIG9mIHRoZSBwb3NpdGlvbiB1dGlsaXRpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3NpdGlvbi1tYXBcbiRwb3NpdGlvbi12YWx1ZXM6IChcbiAgMDogMCxcbiAgNTA6IDUwJSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3NpdGlvbi1tYXBcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktdGV4dC1hbGlnbjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGJvZHktc2Vjb25kYXJ5LWNvbG9yOiAgICAgIHJnYmEoJGJvZHktY29sb3IsIC43NSkgIWRlZmF1bHQ7XG4kYm9keS1zZWNvbmRhcnktYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kYm9keS10ZXJ0aWFyeS1jb2xvcjogICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjUpICFkZWZhdWx0O1xuJGJvZHktdGVydGlhcnktYmc6ICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGJvZHktZW1waGFzaXMtY29sb3I6ICAgICAgICRibGFjayAhZGVmYXVsdDtcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGxpbmstc2hhZGUtcGVyY2VudGFnZTogICAgICAgICAgICAgICAgICAgMjAlICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgc2hpZnQtY29sb3IoJGxpbmstY29sb3IsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50OiAgICAgICAgICAgYWZ0ZXIgIWRlZmF1bHQ7XG4kc3RyZXRjaGVkLWxpbmstei1pbmRleDogICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4vLyBJY29uIGxpbmtzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaWNvbi1saW5rLXZhcmlhYmxlc1xuJGljb24tbGluay1nYXA6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWxpbmstdW5kZXJsaW5lLW9mZnNldDogIC4yNWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXNpemU6ICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zaXRpb246ICAgLjJzIGVhc2UtaW4tb3V0IHRyYW5zZm9ybSAhZGVmYXVsdDtcbiRpY29uLWxpbmstaWNvbi10cmFuc2Zvcm06ICAgIHRyYW5zbGF0ZTNkKC4yNWVtLCAwLCAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaWNvbi1saW5rLXZhcmlhYmxlc1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmlkLWJyZWFrcG9pbnRzXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweCxcbiAgeHhsOiAxNDAwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyaWQtYnJlYWtwb2ludHNcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4gIHh4bDogMTMyMHB4XG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb250YWluZXItbWF4LXdpZHRoc1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cbi8vIENvbnRhaW5lciBwYWRkaW5nXG5cbiRjb250YWluZXItcGFkZGluZy14OiAkZ3JpZC1ndXR0ZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci12YXJpYWJsZXNcbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGhzOiAoXG4gIDE6IDFweCxcbiAgMjogMnB4LFxuICAzOiAzcHgsXG4gIDQ6IDRweCxcbiAgNTogNXB4XG4pICFkZWZhdWx0O1xuJGJvcmRlci1zdHlsZTogICAgICAgICAgICAgICAgc29saWQgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAgICByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14bDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteHhsOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXBpbGw6ICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuLy8gZnVzdi1kaXNhYmxlXG4kYm9yZGVyLXJhZGl1cy0yeGw6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy14eGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm94LXNoYWRvdy12YXJpYWJsZXNcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctaW5zZXQ6ICAgICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm94LXNoYWRvdy12YXJpYWJsZXNcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb2N1cy1yaW5nLXZhcmlhYmxlc1xuJGZvY3VzLXJpbmctd2lkdGg6ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctb3BhY2l0eTogICAgLjI1ICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctY29sb3I6ICAgICAgcmdiYSgkcHJpbWFyeSwgJGZvY3VzLXJpbmctb3BhY2l0eSkgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ibHVyOiAgICAgICAwICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctYm94LXNoYWRvdzogMCAwICRmb2N1cy1yaW5nLWJsdXIgJGZvY3VzLXJpbmctd2lkdGggJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvY3VzLXJpbmctdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJldC12YXJpYWJsZXNcbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LXZhcmlhYmxlc1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS10cmFuc2l0aW9uXG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGg6ICAgd2lkdGggLjM1cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xsYXBzZS10cmFuc2l0aW9uXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFzcGVjdC1yYXRpb3NcbiRhc3BlY3QtcmF0aW9zOiAoXG4gIFwiMXgxXCI6IDEwMCUsXG4gIFwiNHgzXCI6IGNhbGMoMyAvIDQgKiAxMDAlKSxcbiAgXCIxNng5XCI6IGNhbGMoOSAvIDE2ICogMTAwJSksXG4gIFwiMjF4OVwiOiBjYWxjKDkgLyAyMSAqIDEwMCUpXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhc3BlY3QtcmF0aW9zXG4vLyBzdHlsZWxpbnQtZW5hYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXZhcmlhYmxlc1xuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWYpICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWNvZGU6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlKSAhZGVmYXVsdDtcblxuLy8gJGZvbnQtc2l6ZS1yb290IGFmZmVjdHMgdGhlIHZhbHVlIG9mIGByZW1gLCB3aGljaCBpcyB1c2VkIGZvciBhcyB3ZWxsIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBhbmQgbWFyZ2luc1xuLy8gJGZvbnQtc2l6ZS1iYXNlIGFmZmVjdHMgdGhlIGZvbnQgc2l6ZSBvZiB0aGUgYm9keSB0ZXh0XG4kZm9udC1zaXplLXJvb3Q6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1tZWRpdW06ICAgICAgICAgIDUwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1zZW1pYm9sZDogICAgICAgIDYwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDIgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtc2l6ZXNcbiRmb250LXNpemVzOiAoXG4gIDE6ICRoMS1mb250LXNpemUsXG4gIDI6ICRoMi1mb250LXNpemUsXG4gIDM6ICRoMy1mb250LXNpemUsXG4gIDQ6ICRoNC1mb250LXNpemUsXG4gIDU6ICRoNS1mb250LXNpemUsXG4gIDY6ICRoNi1mb250LXNpemVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtc2l6ZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGhlYWRpbmdzLXZhcmlhYmxlc1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXN0eWxlOiAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBoZWFkaW5ncy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRpc3BsYXktaGVhZGluZ3NcbiRkaXNwbGF5LWZvbnQtc2l6ZXM6IChcbiAgMTogNXJlbSxcbiAgMjogNC41cmVtLFxuICAzOiA0cmVtLFxuICA0OiAzLjVyZW0sXG4gIDU6IDNyZW0sXG4gIDY6IDIuNXJlbVxuKSAhZGVmYXVsdDtcblxuJGRpc3BsYXktZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXN0eWxlOiAgbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkaXNwbGF5LWhlYWRpbmdzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0eXBlLXZhcmlhYmxlc1xuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg3NWVtICFkZWZhdWx0O1xuXG4kc3ViLXN1cC1mb250LXNpemU6ICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiA1LjMuMFxuLy8gZnVzdi1lbmFibGVcblxuJGluaXRpYWxpc20tZm9udC1zaXplOiAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGhyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kaHItYmctY29sb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuJGhyLWhlaWdodDogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIEFsbG93cyBmb3IgaW5oZXJpdGVkIGNvbG9yc1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kaHItb3BhY2l0eTogICAgICAgICAgICAgICAgICAuMjUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB2ci12YXJpYWJsZXNcbiR2ci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB2ci12YXJpYWJsZXNcblxuJGxlZ2VuZC1tYXJnaW4tYm90dG9tOiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4xODc1ZW0gIWRlZmF1bHQ7XG4kbWFyay1jb2xvcjogICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICR5ZWxsb3ctMTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0eXBlLXZhcmlhYmxlc1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLXZhcmlhYmxlc1xuJHRhYmxlLWNlbGwtcGFkZGluZy15OiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXg6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ246ICAgdG9wICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLWNvbG9yOiAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcjogICAgIC4wNSAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnOiAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksICR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmctZmFjdG9yOiAgICAgIC4xICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmctZmFjdG9yOiAgICAgICAuMDc1ICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLWhvdmVyLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItZmFjdG9yOiAgICAgICAgIC4yICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtY29sdW1ucy1vcmRlcjogZXZlbiAhZGVmYXVsdDtcblxuJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjogY3VycmVudGNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLXNjYWxlOiAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS1sb29wXG4kdGFibGUtdmFyaWFudHM6IChcbiAgXCJwcmltYXJ5XCI6ICAgIHNoaWZ0LWNvbG9yKCRwcmltYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInNlY29uZGFyeVwiOiAgc2hpZnQtY29sb3IoJHNlY29uZGFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzdWNjZXNzXCI6ICAgIHNoaWZ0LWNvbG9yKCRzdWNjZXNzLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImluZm9cIjogICAgICAgc2hpZnQtY29sb3IoJGluZm8sICR0YWJsZS1iZy1zY2FsZSksXG4gIFwid2FybmluZ1wiOiAgICBzaGlmdC1jb2xvcigkd2FybmluZywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJkYW5nZXJcIjogICAgIHNoaWZ0LWNvbG9yKCRkYW5nZXIsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFyayxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLWxvb3BcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGlucHV0LWJ0bi12YXJpYWJsZXNcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgICAgJGZvY3VzLXJpbmctd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHk6ICRmb2N1cy1yaW5nLW9wYWNpdHkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICAgICRmb2N1cy1yaW5nLWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ibHVyOiAgICAgICAgICAkZm9jdXMtcmluZy1ibHVyICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1idG4tdmFyaWFibGVzXG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhYmxlc1xuJGJ0bi1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJ0bi1saW5rLWZvY3VzLXNoYWRvdy1yZ2I6ICAgdG8tcmdiKG1peChjb2xvci1jb250cmFzdCgkbGluay1jb2xvciksICRsaW5rLWNvbG9yLCAxNSUpKSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRidG4taG92ZXItYmctc2hhZGUtYW1vdW50OiAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50OiAgICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50OiAgIDIwJSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50OiAgICAxMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQ6ICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQ6ICAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAyNSUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQ6ICAgMTAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFibGVzXG5cblxuLy8gRm9ybXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdGV4dC12YXJpYWJsZXNcbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tbGFiZWwtdmFyaWFibGVzXG4kZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1sYWJlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0taW5wdXQtdmFyaWFibGVzXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgNTAlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWJvcmRlci13aWR0aH0gKiAyKSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15ICogLjUpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1jb2xvci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgM3JlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1pbnB1dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tY2hlY2stdmFyaWFibGVzXG4kZm9ybS1jaGVjay1pbnB1dC13aWR0aDogICAgICAgICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1taW4taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ6ICAgICAgICAgICAgICAgICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoICsgLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI6ICAgICAgICAgIGJyaWdodG5lc3MoOTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjogICAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdtNiAxMCAzIDMgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMicgZmlsbD0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBoOCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC41ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTogICAgJGJ0bi1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDogICAgMXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1jaGVjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuJGZvcm0tc3dpdGNoLWNvbG9yOiAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgIDJlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0OiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJnLWltYWdlOiAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1ib3JkZXItcmFkaXVzOiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbjogICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3I6ICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1mb2N1cy1iZy1pbWFnZTogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlOiAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uOiByaWdodCBjZW50ZXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtZ3JvdXAtdmFyaWFibGVzXG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1ncm91cC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgZm9yIGJhY2tncm91bmQtaW1hZ2VcbiRmb3JtLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uOiAgICAgICAgICAgcmlnaHQgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAxNnB4IDEycHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMi41ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgIGNlbnRlciByaWdodCAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtc206ICAgICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZzogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC10cmFuc2l0aW9uOiAgICAgICAgICAkaW5wdXQtdHJhbnNpdGlvbiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIEVkZ2VcbiRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA3MCUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbjogICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1yYW5nZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmlsZS12YXJpYWJsZXNcbiRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWhvdmVyLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1maWxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcbiRmb3JtLWZsb2F0aW5nLWhlaWdodDogICAgICAgICAgICAgICAgICBhZGQoMy41cmVtLCAkaW5wdXQtaGVpZ2h0LWJvcmRlcikgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDogICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy15OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ6ICAgICAgICAgMS42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI6ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLWhlaWdodDogICAgICAgICAgICAxLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHk6ICAgICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm06ICAgICAgICAgc2NhbGUoLjg1KSB0cmFuc2xhdGVZKC0uNXJlbSkgdHJhbnNsYXRlWCguMTVyZW0pICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb246ICAgICAgICAgICAgICBvcGFjaXR5IC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4xcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJGZvcm0tdGV4dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXN0eWxlOiAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICAkc3VjY2VzcyAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICRkYW5nZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tY29sb3JzXG4kZm9ybS12YWxpZC1jb2xvcjogICAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1jb2xvcjogICAgICAgICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoXG4gIFwidmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3IpLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9c3VjY2VzcyksXG4gICAgXCJmb2N1cy1ib3gtc2hhZG93XCI6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEodmFyKC0tI3skcHJlZml4fXN1Y2Nlc3MtcmdiKSwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgICBcImJvcmRlci1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3IpLFxuICApLFxuICBcImludmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZCxcbiAgICBcInRvb2x0aXAtY29sb3JcIjogI2ZmZixcbiAgICBcInRvb2x0aXAtYmctY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWRhbmdlciksXG4gICAgXCJmb2N1cy1ib3gtc2hhZG93XCI6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEodmFyKC0tI3skcHJlZml4fWRhbmdlci1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yKSxcbiAgKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtc3RhY2tcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wOiAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhczogICAgICAgICAgICAgICAgICAxMDQ1ICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTUgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA4MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9hc3Q6ICAgICAgICAgICAgICAgICAgICAgIDEwOTAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1zdGFja1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LWxldmVscy1tYXBcbiR6aW5kZXgtbGV2ZWxzOiAoXG4gIG4xOiAtMSxcbiAgMDogMCxcbiAgMTogMSxcbiAgMjogMixcbiAgMzogM1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LWxldmVscy1tYXBcblxuXG4vLyBOYXZzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdmFyaWFibGVzXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC1zaXplOiAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRuYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi11bmRlcmxpbmUtZ2FwOiAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aDogICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcjogICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdmFyaWFibGVzXG5cblxuLy8gTmF2YmFyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItdmFyaWFibGVzXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogICAgICAgICRidG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogICAgICAgICBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC42NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAxKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcjogICAgICAgICAgIHJnYmEoJGJvZHktY29sb3IsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjE1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWljb24tY29sb3I6ICAgICAgICAgICAgJG5hdmJhci1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZGFyay12YXJpYWJsZXNcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi12YXJpYWJsZXNcbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBjYWxjKCN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9IC0gI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkZHJvcGRvd24tbGluay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogICAgICAgICAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tZGFyay12YXJpYWJsZXNcbiRkcm9wZG93bi1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJvcmRlci1jb2xvcjogICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1kaXZpZGVyLWJnOiAgICAgICAgICAkZHJvcGRvd24tZGl2aWRlci1iZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJveC1zaGFkb3c6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWNvbG9yOiAgICAgICAgICAkZHJvcGRvd24tZGFyay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItY29sb3I6ICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItYmc6ICAgICAgIHJnYmEoJHdoaXRlLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtY29sb3I6ICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtYmc6ICAgICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1kaXNhYmxlZC1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstaGVhZGVyLWNvbG9yOiAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIFBhZ2luYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tdmFyaWFibGVzXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQ6ICAgICAgICAgICBjYWxjKCN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofSAqIC0xKSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1jb2xvcjogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7IC8vIFRvZG8gaW4gdjY6IHJlbW92ZSB0aGlzP1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLXZhcmlhYmxlc1xuXG5cbi8vIFBsYWNlaG9sZGVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGxhY2Vob2xkZXJzXG4kcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbjogICAgICAgICAgIC4yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwbGFjZWhvbGRlcnNcblxuLy8gQ2FyZHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmQtdmFyaWFibGVzXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLXNwYWNlci15OiAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1zdWJ0aXRsZS1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRjYXJkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgKiAuNSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci14ICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2IpLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAqIC41ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLXZhcmlhYmxlc1xuXG4vLyBBY2NvcmRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFjY29yZGlvbi12YXJpYWJsZXNcbiRhY2NvcmRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgIHN1YnRyYWN0KCRhY2NvcmRpb24tYm9yZGVyLXJhZGl1cywgJGFjY29yZGlvbi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteDogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24sIGJvcmRlci1yYWRpdXMgLjE1cyBlYXNlICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktYmctc3VidGxlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXRleHQtZW1waGFzaXMpICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJvcmRlci1jb2xvcjogICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4zXG4vLyBmdXN2LWVuYWJsZVxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAkcHJpbWFyeS10ZXh0LWVtcGhhc2lzICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm06ICAgICAgICAgICAgICAgIHJvdGF0ZSgtMTgwZGVnKSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24taWNvbjogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRhY2NvcmRpb24taWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTIgNUw4IDExTDE0IDUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbjogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTIgNUw4IDExTDE0IDUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFjY29yZGlvbi12YXJpYWJsZXNcblxuLy8gVG9vbHRpcHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtdmFyaWFibGVzXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjI1ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gVE9ETzogcmVtb3ZlIHRoaXMgaW4gdjZcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtdmFyaWFibGVzXG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICBudWxsICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG5cbi8vIFBvcG92ZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLXZhcmlhYmxlc1xuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIGNhbGMoI3skcG9wb3Zlci1ib3JkZXItcmFkaXVzfSAtICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3BvdmVyLXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbi8vIERlcHJlY2F0ZWQgaW4gQm9vdHN0cmFwIDUuMi4wIGZvciBDU1MgdmFyaWFibGVzXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuLy8gZnVzdi1lbmFibGVcblxuXG4vLyBUb2FzdHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvYXN0LXZhcmlhYmxlc1xuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcbiR0b2FzdC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktYmctcmdiKSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICR0b2FzdC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvYXN0LXZhcmlhYmxlc1xuXG5cbi8vIEJhZGdlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYmFkZ2UtdmFyaWFibGVzXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjM1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtdmFyaWFibGVzXG5cblxuLy8gTW9kYWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC12YXJpYWJsZXNcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtdmFyaWFibGVzXG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC12YXJpYWJsZXNcbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yOiAgICRhbGVydC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyAzeCBjb3ZlcnMgd2lkdGggb2YgeCBwbHVzIGRlZmF1bHQgcGFkZGluZyBvbiBlaXRoZXIgc2lkZVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4kYWxlcnQtYmctc2NhbGU6ICAgICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtYm9yZGVyLXNjYWxlOiAgICAgICAgICAgIC03MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtY29sb3Itc2NhbGU6ICAgICAgICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLXZhcmlhYmxlc1xuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtdmFyaWFibGVzXG5cblxuLy8gTGlzdCBncm91cFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC12YXJpYWJsZXNcbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRsaXN0LWdyb3VwLWl0ZW0tYmctc2NhbGU6ICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4kbGlzdC1ncm91cC1pdGVtLWNvbG9yLXNjYWxlOiAgICAgICA0MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC12YXJpYWJsZXNcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aHVtYm5haWwtdmFyaWFibGVzXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctc20pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aHVtYm5haWwtdmFyaWFibGVzXG5cblxuLy8gRmlndXJlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZmlndXJlLXZhcmlhYmxlc1xuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmaWd1cmUtdmFyaWFibGVzXG5cblxuLy8gQnJlYWRjcnVtYnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItdmFyaWFibGVzXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZDogICAgICAgICRicmVhZGNydW1iLWRpdmlkZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLXZhcmlhYmxlc1xuXG4vLyBDYXJvdXNlbFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtdmFyaWFibGVzXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5OiAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk6ICAxICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J00xMS4zNTQgMS42NDZhLjUuNSAwIDAgMSAwIC43MDhMNS43MDcgOGw1LjY0NyA1LjY0NmEuNS41IDAgMCAxLS43MDguNzA4bC02LTZhLjUuNSAwIDAgMSAwLS43MDhsNi02YS41LjUgMCAwIDEgLjcwOCAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J000LjY0NiAxLjY0NmEuNS41IDAgMCAxIC43MDggMGw2IDZhLjUuNSAwIDAgMSAwIC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDgtLjcwOEwxMC4yOTMgOCA0LjY0NiAyLjM1NGEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG4kY2Fyb3VzZWwtZGFyay1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY2FwdGlvbi1jb2xvcjogICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjYXJvdXNlbC1kYXJrLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG5cblxuLy8gU3Bpbm5lcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItdmFyaWFibGVzXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogLjc1cyAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci12YXJpYWJsZXNcblxuXG4vLyBDbG9zZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtdmFyaWFibGVzXG4kYnRuLWNsb3NlLXdpZHRoOiAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaGVpZ2h0OiAgICAgICAgICAgJGJ0bi1jbG9zZS13aWR0aCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy14OiAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteTogICAgICAgICRidG4tY2xvc2UtcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1jb2xvcjogICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWJnOiAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRidG4tY2xvc2UtY29sb3J9Jz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtc2hhZG93OiAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tY2xvc2Utb3BhY2l0eTogICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk6ICAgIC43NSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eTogICAgMSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eTogLjI1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6ICAgICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCUpIGJyaWdodG5lc3MoMjAwJSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNsb3NlLXZhcmlhYmxlc1xuXG5cbi8vIE9mZmNhbnZhc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuJG9mZmNhbnZhcy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXBhZGRpbmcteDogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtaG9yaXpvbnRhbC13aWR0aDogICAgICAgIDQwMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1oZWlnaHQ6ICAgICAgICAgMzB2aCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgIC4zcyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICRtb2RhbC10aXRsZS1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmctY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY29sb3I6ICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAkbW9kYWwtYmFja2Ryb3AtYmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjE4NzVyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHJlbW92aW5nIGluIHY2XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbkBpbXBvcnQgXCJ2YXJpYWJsZXMtZGFya1wiOyAvLyBUT0RPOiBjYW4gYmUgcmVtb3ZlZCBzYWZlbHkgaW4gdjYsIG9ubHkgaGVyZSB0byBhdm9pZCBicmVha2luZyBjaGFuZ2VzIGluIHY1LjNcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRzcGFjZXI6IDE2cHg7XG4kbW9kYWwtaW5uZXItcGFkZGluZzogMTZweDtcbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46IDIwcHg7XG5cbiRzdWJtZW51LWJhci1oZWlnaHQ6IGF1dG87XG4kYXBwLW1heC13aWR0aDogMTQwMHB4O1xuJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzOiAobWJsOiAwLCBkc2s6IDk5MnB4KTtcblxuJGNvbG9yZWJhc2V2YXJpYWJpbGU6ICMwMDAwMDA7IC8vIFNFVCBNQUlOIENPTE9SXG4kZXh0cmFsaWdodGdyZXk6ICNGQUZBRkE7XG4kbGlnaHRncmV5OiAjRjVGNUY1O1xuJGdyZXk6ICM3MDcwNzA7XG4kd2hpdGU6ICNGRkY7XG4kYmxhY2s6ICMwMDA7XG4kYXRoZW5zR3JheTogI0Y4RjhGODtcbiRhdGhlbnNHcmV5OiAjRUVGMkY0O1xuJG1hZ25ldDogIzUzNTM1MztcbiRmbGludFJvY2s6ICM5MzkzOTM7XG4kYmVsZ2U6ICNGN0Y1RTY7XG4kb3hmb3JkQmx1ZTogIzUyNTI1MjtcbiR1cmJhbk1pc3Q6I0FDQUVBRjtcbiRtZWRncmV5OiNDRUNFQ0U7XG4kcGVhY2U6I0UwREFDODtcbiRidXJuaXNoZWRCcm9uemU6ICRjb2xvcmViYXNldmFyaWFiaWxlO1xuJHR1cmNoZXNlOiAjM2Q4OTgxO1xuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgxNTUsMTMyLDYzLDApIDAlLCByZ2JhKDE1NSwxMzIsNjMsLjgpIDgwJSk7XG4kYmFja2dyb3VuZC1ncmF5OiAjRTBFMEUwO1xuXG4vLyBzZWNvbmRhcmlcbiRzZWNvbmRhcnktMTogI0Y2REZCNztcbiRzZWNvbmRhcnktMjogI0I2REFDMjtcbiRzZWNvbmRhcnktMzogI0IzQ0ZFMztcbiRzZWNvbmRhcnktNDogI0Y4RDdEMztcbiRzZWNvbmRhcnktNTogI0M2QzVFMDtcbiRzZWNvbmRhcnktNjogI0U2QjdCOTtcblxuJHRleHQtY29sb3I6ICM1NzU3NTc7XG4kYmctbWVnYW1lbnUtbGlnaHQ6ICNFRUVFRUU7XG5cbiRmb290ZXItYm9yZGVyLWNvbG9yOiAkYmctbWVnYW1lbnUtbGlnaHQ7XG4kZm9vdGVyLWJnLWxpZ2h0OiAkd2hpdGU7XG4kZm9vdGVyLWJnLWRhcms6ICRibGFjaztcbiRmb290ZXItY29sb3ItbGlnaHQ6ICR3aGl0ZTtcbiRmb290ZXItY29sb3ItZGFyazogJGdyZXk7XG4kZm9vdGVyLW1heC13aWR0aDogMTQwMHB4O1xuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICAgICAgICB4czogMCxcbiAgICAgICAgc206IDU3NnB4LFxuICAgICAgICBtZDogNzY4cHgsXG4gICAgICAgIGxnOiA5OTJweCxcbiAgICAgICAgeGw6IDE0MDBweCxcbiAgICAgICAgeHhsOiAxNjAwcHhcbik7XG5cbiRoZWFkZXItcGFkZGluZzogKHhzOiAxMHB4LCBzbTogMjRweCwgbWQ6IDMwcHgpO1xuJG1haW4tcGFkZGluZzogKHhzOiAxMHB4LCBzbTogMjRweCwgbWQ6IDMwcHgsIGxnOiA0MHB4LCB4bDogODBweCwgeHhsOiAxMDBweCk7XG5cbiRpbWFnZS1wbGFjZWhvbGRlci1iZzogcmdiYSgkYmxhY2ssIC4wNSk7XG5cbiRib2R5LWNvbG9yOiAjNzA3MDcwO1xuJHByaW1hcnk6ICRjb2xvcmViYXNldmFyaWFiaWxlOyAvL1NFVCBNQUlOIENPTE9SXG4kc2Vjb25kYXJ5OiAkd2hpdGU7XG4kcHJpbWFyeS01MDogbWl4KHdoaXRlLCAkcHJpbWFyeSwgODAlKTtcblxuJGJvcmRlci1yYWRpdXM6IDBweDtcbiRib3JkZXItcmFkaXVzLXNtOiAwcHg7XG4kYm9yZGVyLXJhZGl1cy1sZzogMHB4O1xuJGJvcmRlci1yYWRpdXMtbWluOiAwcHg7XG5cbiRib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogMHB4O1xuXG4vLyAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAxcHg7XG4kYmFzZS1mb250LXdlaWdodDogNDAwO1xuJGxpZ2h0LWZvbnQtd2VpZ2h0OiAzMDA7XG4kYnRuLWZvbnQtd2VpZ2h0OiA0MDA7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogKDE0IC8gMTYpcmVtO1xuXG4kaW5wdXQtYnRuLXBhZGRpbmc6IDEwcHggMjBweDtcbiRpbnB1dC1idG4tcGFkZGluZy15OiAxMHB4O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6IDIwcHg7XG4kaW5wdXQtYnRuLXBhZGRpbmctbGFyZ2U6IDE1cHggMjVweDtcblxuJGlucHV0LXBhZGRpbmcteDogMXJlbTtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6IDdweDtcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAxLjQyZW07XG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcblxuJGhlYWRpbmdzLWZvbnQtc3R5bGU6IGluaGVyaXQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6IDQwMDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogMTtcbiRoZWFkaW5ncy1jb2xvcjogaW5oZXJpdDtcblxuJGhlYWRlci1oZWlnaHQ6IDEyMHB4O1xuJGhlYWRlci1oZWlnaHQtbWJsOiAxMTZweDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNDI7XG5cbiRncmlkLWd1dHRlci13aWR0aDogMjBweDtcblxuJHNwYWNlcjogMjBweDtcbiRndXR0ZXJzOiAoXG4gIDA6IDAsXG4gIDE6ICRzcGFjZXIgKiAuMjUsXG4gIDI6ICRzcGFjZXIgKiAuNSxcbiAgMzogJHNwYWNlcixcbiAgNDogJHNwYWNlciAqIDMsXG4gIDU6ICRzcGFjZXIgKiA0LFxuKTtcblxuXG4kcGFnaW5hdGlvbi1jb2xvcjogJGJvZHktY29sb3I7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICNFMEUwRTA7XG4kcGFnaW5hdGlvbi1mb2N1cy1jb2xvcjogJGJvZHktY29sb3I7XG4kcGFnaW5hdGlvbi1mb2N1cy1iZzogJHdoaXRlO1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgMXB4ICRibGFjaztcbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAkYm9keS1jb2xvcjtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3I7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjRTBFMEUwO1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAwO1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAjNjA2MDYwO1xuXG5cbiRhY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAxcHg7XG4kYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogI0UwRTBFMDtcbiRhY2NvcmRpb24tYm9yZGVyLXJhZGl1czogMDtcbiRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogMDtcbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6IDIwcHg7XG4kYWNjb3JkaW9uLWJvZHktcGFkZGluZy14OiAwO1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy15OiAxMHB4O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAyMHB4O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICRibGFjaztcbiRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJvcmRlci1jb2xvcjogJGJsYWNrO1xuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgMXB4ICRibGFjaztcbiRhY2NvcmRpb24taWNvbi1jb2xvcjogJGdyZXk7XG4kYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yOiAkZ3JleTtcblxuXG4kZ3JpZC1ndXR0ZXItd2lkdGgtcmVzcG9uc2l2ZTogKHhzOjMwcHgsIHNtOiA1MHB4LCBtZDozMHB4LCBsZzogNTBweCwgeGw6IDUwcHgpOyAvLyBiZXR0ZXIgZXZlbiB2YWx1ZXNcbiRncmlkLWd1dHRlci1oYWxmLXdpZHRoLXJlc3BvbnNpdmU6ICh4czoxNXB4LCBzbTogMjVweCwgbWQ6MTVweCwgbGc6IDI1cHgsIHhsOiAyNXB4KTtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhhbWJ1cmdlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGFtYnVyZ2VyLXBhZGRpbmcteCAgICAgICAgICAgOiAxMHB4O1xuJGhhbWJ1cmdlci1wYWRkaW5nLXkgICAgICAgICAgIDogMTBweDtcbiRoYW1idXJnZXItbGF5ZXItd2lkdGggICAgICAgICA6IDI3cHg7XG4kaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAgICAgICAgOiAycHg7XG4kaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgICAgICAgOiA1cHg7XG4kaGFtYnVyZ2VyLWxheWVyLWNvbG9yICAgICAgICAgOiAkYmxhY2s7XG4kaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXMgOiAwcHg7XG4kaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgICAgICAgOiAwLjc7XG4kaGFtYnVyZ2VyLWFjdGl2ZS1sYXllci1jb2xvciAgOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yO1xuJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTogJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5O1xuXG4kaGFtYnVyZ2VyLXR5cGVzOiAoXG4gIGNvbGxhcHNlXG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFN3YWwgd29ya2Fyb3VuZFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpY29uLXpvb206IDE7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMYXlvdXRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIG1haW4tcGFkZGluZygpIHtcbiAgQGluY2x1ZGUgcnBtcSgocGFkZGluZy1sZWZ0IHBhZGRpbmctcmlnaHQpLCAkbWFpbi1wYWRkaW5nKTtcbn1cblxuQG1peGluIGFwcC1tYXgtd2lkdGgoKSB7XG4gIG1heC13aWR0aDogJGFwcC1tYXgtd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb2xvcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gc2Nyb2xsLWNvbG9ycygkdHJhY2stY29sb3I6IHJnYmEodmFyKC0tdGhlbWUtY29sb3IpLCAuNCksICR0aHVtYi1jb2xvcjogcmdiYSh2YXIoLS10aGVtZS1jb2xvciksIC44KSwgJHRodW1iLWNvbG9yLWhvdmVyOiByZ2JhKHZhcigtLXRoZW1lLWNvbG9yKSwgMSkpIHtcbiAgLy8gZmlyZWZveCBzY3JvbGwgYmFycyBjb2xvclxuICBzY3JvbGxiYXItY29sb3I6ICR0aHVtYi1jb2xvci1ob3ZlciAkdHJhY2stY29sb3I7XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0cmFjay1jb2xvcjtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcyBlYXNlLW91dDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWItY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYi1jb2xvci1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXIge1xuICAgIGJhY2tncm91bmQ6ICR0cmFjay1jb2xvcjtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwiLy8gVXRpbGl0eSBnZW5lcmF0b3Jcbi8vIFVzZWQgdG8gZ2VuZXJhdGUgdXRpbGl0aWVzICYgcHJpbnQgdXRpbGl0aWVzXG5AbWl4aW4gZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4OiBcIlwiLCAkaXMtcmZzLW1lZGlhLXF1ZXJ5OiBmYWxzZSkge1xuICAkdmFsdWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCB2YWx1ZXMpO1xuXG4gIC8vIElmIHRoZSB2YWx1ZXMgYXJlIGEgbGlzdCBvciBzdHJpbmcsIGNvbnZlcnQgaXQgaW50byBhIG1hcFxuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSBcInN0cmluZ1wiIG9yIHR5cGUtb2YobnRoKCR2YWx1ZXMsIDEpKSAhPSBcImxpc3RcIiB7XG4gICAgJHZhbHVlczogemlwKCR2YWx1ZXMsICR2YWx1ZXMpO1xuICB9XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICRwcm9wZXJ0aWVzOiBtYXAtZ2V0KCR1dGlsaXR5LCBwcm9wZXJ0eSk7XG5cbiAgICAvLyBNdWx0aXBsZSBwcm9wZXJ0aWVzIGFyZSBwb3NzaWJsZSwgZm9yIGV4YW1wbGUgd2l0aCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsIG1hcmdpbnMgb3IgcGFkZGluZ3NcbiAgICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gXCJzdHJpbmdcIiB7XG4gICAgICAkcHJvcGVydGllczogYXBwZW5kKCgpLCAkcHJvcGVydGllcyk7XG4gICAgfVxuXG4gICAgLy8gVXNlIGN1c3RvbSBjbGFzcyBpZiBwcmVzZW50XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY2xhc3MpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjbGFzcyksIG50aCgkcHJvcGVydGllcywgMSkpO1xuICAgICRwcm9wZXJ0eS1jbGFzczogaWYoJHByb3BlcnR5LWNsYXNzID09IG51bGwsIFwiXCIsICRwcm9wZXJ0eS1jbGFzcyk7XG5cbiAgICAvLyBVc2UgY3VzdG9tIENTUyB2YXJpYWJsZSBuYW1lIGlmIHByZXNlbnQsIG90aGVyd2lzZSBkZWZhdWx0IHRvIGBjbGFzc2BcbiAgICAkY3NzLXZhcmlhYmxlLW5hbWU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpKTtcblxuICAgIC8vIFN0YXRlIHBhcmFtcyB0byBnZW5lcmF0ZSBwc2V1ZG8tY2xhc3Nlc1xuICAgICRzdGF0ZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIHN0YXRlKSwgbWFwLWdldCgkdXRpbGl0eSwgc3RhdGUpLCAoKSk7XG5cbiAgICAkaW5maXg6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCBzdHItc2xpY2UoJGluZml4LCAxLCAxKSA9PSBcIi1cIiwgc3RyLXNsaWNlKCRpbmZpeCwgMiksICRpbmZpeCk7XG5cbiAgICAvLyBEb24ndCBwcmVmaXggaWYgdmFsdWUga2V5IGlzIG51bGwgKGUuZy4gd2l0aCBzaGFkb3cgY2xhc3MpXG4gICAgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyOiBpZigka2V5LCBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgJGluZml4ID09IFwiXCIsIFwiXCIsIFwiLVwiKSArICRrZXksIFwiXCIpO1xuXG4gICAgQGlmIG1hcC1nZXQoJHV0aWxpdHksIHJmcykge1xuICAgICAgLy8gSW5zaWRlIHRoZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmICRpcy1yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlKTtcblxuICAgICAgICAvLyBEbyBub3QgcmVuZGVyIGFueXRoaW5nIGlmIGZsdWlkIGFuZCBub24gZmx1aWQgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgICAgICAkdmFsdWU6IGlmKCR2YWwgPT0gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSksIG51bGwsICR2YWwpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkdmFsdWU6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICRpcy1jc3MtdmFyOiBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyKTtcbiAgICAkaXMtbG9jYWwtdmFyczogbWFwLWdldCgkdXRpbGl0eSwgbG9jYWwtdmFycyk7XG4gICAgJGlzLXJ0bDogbWFwLWdldCgkdXRpbGl0eSwgcnRsKTtcblxuICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDpiZWdpbjpyZW1vdmUgKi9cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1jc3MtdmFyIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmVuZDpyZW1vdmUgKi9cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyLFxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBtaXhpbnNcblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRjb250YWluZXItcGFkZGluZy14KSB7XG4gIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuOnJvb3Qge1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLSN7JHByZWZpeH1icmVha3BvaW50LSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcblxuICAgID4gKiB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgpO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1jc3NncmlkIHtcbiAgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQodmFyKC0tI3skcHJlZml4fXJvd3MsIDEpLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLSN7JHByZWZpeH1jb2x1bW5zLCAjeyRncmlkLWNvbHVtbnN9KSwgMWZyKTtcbiAgICBnYXA6IHZhcigtLSN7JHByZWZpeH1nYXAsICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7XG5cbiAgICBAaW5jbHVkZSBtYWtlLWNzc2dyaWQoKTtcbiAgfVxufVxuXG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLy8gVE9ETzogUmV2aXNpdCBjYWxjIG9yZGVyIGFmdGVyIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC1ib290c3RyYXAvcmVhY3QtYm9vdHN0cmFwL2lzc3Vlcy82MDM5IGlzIGZpeGVkXG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCkge1xuICAvLyBBZGQgYm94IHNpemluZyBpZiBvbmx5IHRoZSBncmlkIGlzIGxvYWRlZFxuICBib3gtc2l6aW5nOiBpZih2YXJpYWJsZS1leGlzdHMoaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZykgYW5kICRpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nLCBib3JkZXItYm94LCBudWxsKTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHNldCB0aGUgd2lkdGhcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUHJldmVudCBgLmNvbC1hdXRvYCwgYC5jb2xgICgmIHJlc3BvbnNpdmUgdmFyaWFudHMpIGZyb20gYnJlYWtpbmcgb3V0IHRoZSBncmlkXG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZTogZmFsc2UsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiAkc2l6ZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xuXG4gIH0gQGVsc2Uge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXIgb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkY291bnQpKTtcbiAgfVxufVxuXG4vLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleDogMSAwIDAlOyAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIH1cblxuICAgICAgLnJvdy1jb2xzI3skaW5maXh9LWF1dG8gPiAqIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGdyaWQtcm93LWNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1yb3ctY29sdW1ucyB7XG4gICAgICAgICAgLnJvdy1jb2xzI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtYXV0bygpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICAvL1xuICAgICAgLy8gTWFrZSB1c2Ugb2YgYC5nLSpgLCBgLmd4LSpgIG9yIGAuZ3ktKmAgdXRpbGl0aWVzIHRvIGNoYW5nZSBzcGFjaW5nIGJldHdlZW4gdGhlIGNvbHVtbnMuXG4gICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGd1dHRlcnMge1xuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3gjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nI3skaW5maXh9LSN7JGtleX0sXG4gICAgICAgIC5neSN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1ndXR0ZXIteTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNzc2dyaWQoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAaWYgJGNvbHVtbnMgPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLmctY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFydCB3aXRoIGAxYCBiZWNhdXNlIGAwYCBpcyBhbiBpbnZhbGlkIHZhbHVlLlxuICAgICAgICAvLyBFbmRzIHdpdGggYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlLlxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgICAuZy1zdGFydCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMb29wIG92ZXIgZWFjaCBicmVha3BvaW50XG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuXG4gIC8vIEdlbmVyYXRlIG1lZGlhIHF1ZXJ5IGlmIG5lZWRlZFxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAvLyBMb29wIG92ZXIgZWFjaCB1dGlsaXR5IHByb3BlcnR5XG4gICAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgICAvLyBPbmx5IHByb2NlZWQgaWYgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGFyZSBlbmFibGVkIG9yIGlmIGl0J3MgdGhlIGJhc2UgbWVkaWEgcXVlcnlcbiAgICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCAobWFwLWdldCgkdXRpbGl0eSwgcmVzcG9uc2l2ZSkgb3IgJGluZml4ID09IFwiXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUkZTIHJlc2NhbGluZ1xuQG1lZGlhIChtaW4td2lkdGg6ICRyZnMtbXEtdmFsdWUpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIDwgJHJmcy1icmVha3BvaW50KSB7XG4gICAgICAvLyBMb29wIG92ZXIgZWFjaCB1dGlsaXR5IHByb3BlcnR5XG4gICAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgICAvLyBPbmx5IHByb2NlZWQgaWYgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGFyZSBlbmFibGVkIG9yIGlmIGl0J3MgdGhlIGJhc2UgbWVkaWEgcXVlcnlcbiAgICAgICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIG1hcC1nZXQoJHV0aWxpdHksIHJmcykgYW5kIChtYXAtZ2V0KCR1dGlsaXR5LCByZXNwb25zaXZlKSBvciAkaW5maXggPT0gXCJcIikge1xuICAgICAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAvLyBUaGVuIGNoZWNrIGlmIHRoZSB1dGlsaXR5IG5lZWRzIHByaW50IHN0eWxlc1xuICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCBtYXAtZ2V0KCR1dGlsaXR5LCBwcmludCkgPT0gdHJ1ZSB7XG4gICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCBcIi1wcmludFwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBidG4tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteDogI3skYnRuLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXk6ICN7JGJ0bi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1idG4tZm9udC1mYW1pbHk6ICN7JGJ0bi1mb250LWZhbWlseX07XG4gIEBpbmNsdWRlIHJmcygkYnRuLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodDogI3skYnRuLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWxpbmUtaGVpZ2h0OiAjeyRidG4tbGluZS1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGJ0bi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItd2lkdGg6ICN7JGJ0bi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXM6ICN7JGJ0bi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiAjeyRidG4tYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAjeyRidG4tZGlzYWJsZWQtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAjeyRidG4tZm9jdXMtd2lkdGh9IHJnYmEodmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiKSwgLjUpO1xuICAvLyBzY3NzLWRvY3MtZW5kIGJ0bi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1idG4tcGFkZGluZy14KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLSN7JHByZWZpeH1idG4tZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fWJ0bi1saW5lLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiAkYnRuLXdoaXRlLXNwYWNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IGlmKCRlbmFibGUtYnV0dG9uLXBvaW50ZXJzLCBwb2ludGVyLCBudWxsKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWJ0bi1iZykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdykpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLmJ0bi1jaGVjayArICY6aG92ZXIge1xuICAgIC8vIG92ZXJyaWRlIGZvciB0aGUgY2hlY2tib3gvcmFkaW8gYnV0dG9uc1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYmcpKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Zm9jdXMtdmlzaWJsZSArICYge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpjaGVja2VkICsgJixcbiAgOm5vdCguYnRuLWNoZWNrKSArICY6YWN0aXZlLFxuICAmOmZpcnN0LWNoaWxkOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gICYuc2hvdyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZyk7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdykpO1xuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpjaGVja2VkOmZvY3VzLXZpc2libGUgKyAmIHtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldDpkaXNhYmxlZCAmIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LWxvb3BzXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpZiAkY29sb3IgPT0gXCJsaWdodFwiIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJGhvdmVyLWJhY2tncm91bmQ6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkaG92ZXItYm9yZGVyOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJvcmRlcjogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KVxuICAgICAgKTtcbiAgICB9IEBlbHNlIGlmICRjb2xvciA9PSBcImRhcmtcIiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCksXG4gICAgICAgICRob3Zlci1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogdGludC1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpXG4gICAgICApO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LWxvb3BzXG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtbm9ybWFsfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiAwIDAgMCAjMDAwOyAvLyBDYW4ndCB1c2UgYG5vbmVgIGFzIGtleXdvcmQgbmVnYXRlcyBhbGwgdmFsdWVzIHdoZW4gdXNlZCB3aXRoIG11bHRpcGxlIHNoYWRvd3NcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7JGJ0bi1saW5rLWZvY3VzLXNoYWRvdy1yZ2J9O1xuXG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1iZy1taXhpblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcjogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LWJnLW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1taXhpbnNcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiBudWxsLCAkZW5kLXBlcmNlbnQ6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtbWl4aW5zXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBAaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tdmFyaWFudChcbiAgJGJhY2tncm91bmQsXG4gICRib3JkZXIsXG4gICRjb2xvcjogY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpLFxuICAkaG92ZXItYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCkpLFxuICAkaG92ZXItYm9yZGVyOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1jb2xvcjogY29sb3ItY29udHJhc3QoJGhvdmVyLWJhY2tncm91bmQpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZCksXG4gICRkaXNhYmxlZC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCxcbiAgJGRpc2FibGVkLWJvcmRlcjogJGJvcmRlcixcbiAgJGRpc2FibGVkLWNvbG9yOiBjb2xvci1jb250cmFzdCgkZGlzYWJsZWQtYmFja2dyb3VuZClcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skaG92ZXItYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGhvdmVyLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAje3RvLXJnYihtaXgoJGNvbG9yLCAkYm9yZGVyLCAxNSUpKX07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRkaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogI3skZGlzYWJsZWQtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGRpc2FibGVkLWJvcmRlcn07XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tb3V0bGluZS12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudChcbiAgJGNvbG9yLFxuICAkY29sb3ItaG92ZXI6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLFxuICAkYWN0aXZlLWJvcmRlcjogJGNvbG9yLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRjb2xvci1ob3Zlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKCRjb2xvcil9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRhY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6ICN7JGJ0bi1hY3RpdmUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWdyYWRpZW50OiBub25lO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tb3V0bGluZS12YXJpYW50LW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tc2l6ZS1taXhpblxuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXk6ICN7JHBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXg6ICN7JHBhZGRpbmcteH07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLCAtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tc2l6ZS1taXhpblxuIiwiLy9cbi8vIExhYmVsc1xuLy9cblxuLmZvcm0tbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tbGFiZWwtZm9udC1zaXplKTtcbiAgZm9udC1zdHlsZTogJGZvcm0tbGFiZWwtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIChvciBsZWdlbmQpXG4vLyB0ZXh0IHRvIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBmb250LXN0eWxlOiAkZm9ybS1sYWJlbC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG59XG4iLCIvL1xuLy8gRm9ybSB0ZXh0XG4vL1xuXG4uZm9ybS10ZXh0IHtcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tdGV4dC1mb250LXNpemUpO1xuICBmb250LXN0eWxlOiAkZm9ybS10ZXh0LWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS10ZXh0LWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbn1cbiIsIi8vXG4vLyBHZW5lcmFsIGZvcm0gY29udHJvbHMgKHBsdXMgYSBmZXcgc3BlY2lmaWMgaGlnaC1sZXZlbCBpbnRlcnZlbnRpb25zKVxuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpeCBhcHBlYXJhbmNlIGZvciBkYXRlIGlucHV0cyBpbiBTYWZhcmlcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAmW3R5cGU9XCJmaWxlXCJdIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBwcmV2ZW50IHBzZXVkbyBlbGVtZW50IGJ1dHRvbiBvdmVybGFwXG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICY6Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSB7XG4gICAgLy8gT24gQW5kcm9pZCBDaHJvbWUsIGZvcm0tY29udHJvbCdzIFwid2lkdGg6IDEwMCVcIiBtYWtlcyB0aGUgaW5wdXQgd2lkdGggdG9vIHNtYWxsXG4gICAgLy8gVGVzdGVkIHVuZGVyIEFuZHJvaWQgMTEgLyBDaHJvbWUgODksIEFuZHJvaWQgMTIgLyBDaHJvbWUgMTAwLCBBbmRyb2lkIDEzIC8gQ2hyb21lIDEwOVxuICAgIC8vXG4gICAgLy8gT24gaU9TIFNhZmFyaSwgZm9ybS1jb250cm9sJ3MgXCJhcHBlYXJhbmNlOiBub25lXCIgKyBcIndpZHRoOiAxMDAlXCIgbWFrZXMgdGhlIGlucHV0IHdpZHRoIHRvbyBzbWFsbFxuICAgIC8vIFRlc3RlZCB1bmRlciBpT1MgMTYuMiAvIFNhZmFyaSAxNi4yXG4gICAgbWluLXdpZHRoOiA4NXB4OyAvLyBTZWVtcyB0byBiZSBhIGdvb2QgbWluaW11bSBzYWZlIHdpZHRoXG5cbiAgICAvLyBBZGQgc29tZSBoZWlnaHQgdG8gZGF0ZSBpbnB1dHMgb24gaU9TXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yMzMwN1xuICAgIC8vIFRPRE86IHdlIGNhbiByZW1vdmUgdGhpcyB3b3JrYXJvdW5kIG9uY2UgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODk1OSBpcyByZXNvbHZlZFxuICAgIC8vIE11bHRpcGx5IGxpbmUtaGVpZ2h0IGJ5IDFlbSBpZiBpdCBoYXMgbm8gdW5pdFxuICAgIGhlaWdodDogaWYodW5pdCgkaW5wdXQtbGluZS1oZWlnaHQpID09IFwiXCIsICRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LWxpbmUtaGVpZ2h0KTtcblxuICAgIC8vIEFuZHJvaWQgQ2hyb21lIHR5cGU9XCJkYXRlXCIgaXMgdGFsbGVyIHRoYW4gdGhlIG90aGVyIGlucHV0c1xuICAgIC8vIGJlY2F1c2Ugb2YgXCJtYXJnaW46IDFweCAyNHB4IDFweCA0cHhcIiBpbnNpZGUgdGhlIHNoYWRvdyBET01cbiAgICAvLyBUZXN0ZWQgdW5kZXIgQW5kcm9pZCAxMSAvIENocm9tZSA4OSwgQW5kcm9pZCAxMiAvIENocm9tZSAxMDAsIEFuZHJvaWQgMTMgLyBDaHJvbWUgMTA5XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gUHJldmVudCBleGNlc3NpdmUgZGF0ZSBpbnB1dCBoZWlnaHQgaW4gV2Via2l0XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMzQ0MzNcbiAgJjo6LXdlYmtpdC1kYXRldGltZS1lZGl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBGaWxlIGlucHV0IGJ1dHRvbnMgdGhlbWluZ1xuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15KSAoLSRpbnB1dC1wYWRkaW5nLXgpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14O1xuICAgIGNvbG9yOiAkZm9ybS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSk6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1maWxlLWJ1dHRvbi1ob3Zlci1iZztcbiAgfVxufVxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteS1zbSkgKC0kaW5wdXQtcGFkZGluZy14LXNtKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgfVxufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xuXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXktbGcpICgtJGlucHV0LXBhZGRpbmcteC1sZyk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIH1cbn1cblxuLy8gTWFrZSBzdXJlIHRleHRhcmVhcyBkb24ndCBzaHJpbmsgdG9vIG11Y2ggd2hlbiByZXNpemVkXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yOTEyNFxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG50ZXh0YXJlYSB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20ge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgfVxufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLmZvcm0tY29udHJvbC1jb2xvciB7XG4gIHdpZHRoOiAkZm9ybS1jb2xvci13aWR0aDtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15O1xuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOjotbW96LWNvbG9yLXN3YXRjaCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotd2Via2l0LWNvbG9yLXN3YXRjaCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSB7IGhlaWdodDogJGlucHV0LWhlaWdodC1zbTsgfVxuICAmLmZvcm0tY29udHJvbC1sZyB7IGhlaWdodDogJGlucHV0LWhlaWdodC1sZzsgfVxufVxuIiwiLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cblxuLmZvcm0tc2VsZWN0IHtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nOiAje2VzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvcil9O1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGZvcm0tc2VsZWN0LXBhZGRpbmcteSAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgJGZvcm0tc2VsZWN0LXBhZGRpbmcteSAkZm9ybS1zZWxlY3QtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGZvcm0tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1zZWxlY3QtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1zZWxlY3QtY29sb3I7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXNlbGVjdC1iZztcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWltZyksIHZhcigtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pY29uLCBub25lKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplO1xuICBib3JkZXI6ICRmb3JtLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cywgMCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXNlbGVjdC10cmFuc2l0aW9uKTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3csICRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICZbbXVsdGlwbGVdLFxuICAmW3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBSZW1vdmUgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkZm9ybS1zZWxlY3QtY29sb3I7XG4gIH1cbn1cblxuLmZvcm0tc2VsZWN0LXNtIHtcbiAgcGFkZGluZy10b3A6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLXNlbGVjdC1sZyB7XG4gIHBhZGRpbmctdG9wOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nOiAje2VzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvci1kYXJrKX07XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ2hlY2svcmFkaW9cbi8vXG5cbi5mb3JtLWNoZWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6ICRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTtcblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgcGFkZGluZy1yaWdodDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydCAqIC0xO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZzogI3skZm9ybS1jaGVjay1pbnB1dC1iZ307XG5cbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgaGVpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgbWFyZ2luLXRvcDogKCRsaW5lLWhlaWdodC1iYXNlIC0gJGZvcm0tY2hlY2staW5wdXQtd2lkdGgpICogLjU7IC8vIGxpbmUtaGVpZ2h0IG1pbnVzIGNoZWNrIGhlaWdodFxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJvcmRlcjogJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyO1xuICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyAvLyBLZWVwIHRoZW1lZCBhcHBlYXJhbmNlIGZvciBwcmludFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLWNoZWNrLXRyYW5zaXRpb24pO1xuXG4gICZbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJlt0eXBlPVwicmFkaW9cIl0ge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1jaGVjay1yYWRpby1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGZpbHRlcjogJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gICY6Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuXG4gICAgJlt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cblxuICAgICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW3R5cGU9XCJjaGVja2JveFwiXTppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG5cbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlKX07XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZmlsdGVyOiBub25lO1xuICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cblxuICAvLyBVc2UgZGlzYWJsZWQgYXR0cmlidXRlIGluIGFkZGl0aW9uIG9mIDpkaXNhYmxlZCBwc2V1ZG8tY2xhc3NcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgY29sb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yO1xuICBjdXJzb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjtcbn1cblxuLy9cbi8vIFN3aXRjaFxuLy9cblxuLmZvcm0tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDtcblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtYmctaW1hZ2UpfTtcblxuICAgIHdpZHRoOiAkZm9ybS1zd2l0Y2gtd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXN3aXRjaC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXN3aXRjaC10cmFuc2l0aW9uKTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtZm9jdXMtYmctaW1hZ2UpfTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb247XG5cbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlKX07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5mb3JtLWNoZWNrLXJldmVyc2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0O1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi1lbmQ7XG59XG5cbi5idG4tY2hlY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICArIC5idG4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmZvcm0tc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0Om5vdCg6Y2hlY2tlZCk6bm90KDpmb2N1cykge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtYmctaW1hZ2UtZGFyayl9O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uZm9ybS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGFkZCgkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQsICRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIgICAgIHsgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0KSAqIC41OyAvLyBXZWJraXQgc3BlY2lmaWNcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uKTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uKTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGaXJlZm94IHNwZWNpZmljP1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cbiIsIi5mb3JtLWZsb2F0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIGhlaWdodDogJGZvcm0tZmxvYXRpbmctaGVpZ2h0O1xuICAgIG1pbi1oZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmxvYXRpbmctbGluZS1oZWlnaHQ7XG4gIH1cblxuICA+IGxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IDEwMCU7IC8vIGFsbG93IHRleHRhcmVhc1xuICAgIHBhZGRpbmc6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gUmVxdWlyZWQgZm9yIGFsaWduaW5nIGxhYmVsJ3MgdGV4dCB3aXRoIHRoZSBpbnB1dCBhcyBpdCBhZmZlY3RzIGlubmVyIGJveCBtb2RlbFxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICBwYWRkaW5nOiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgJGZvcm0tZmxvYXRpbmctcGFkZGluZy14O1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gICAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgICB9XG4gICAgLy8gRHVwbGljYXRlZCBiZWNhdXNlIGA6LXdlYmtpdC1hdXRvZmlsbGAgaW52YWxpZGF0ZXMgb3RoZXIgc2VsZWN0b3JzIHdoZW4gZ3JvdXBlZFxuICAgICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgICB9XG4gIH1cblxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLWNvbnRyb2w6bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksICN7JGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eX0pO1xuICAgICAgdHJhbnNmb3JtOiAkZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm07XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICgkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXggKiAuNSk7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBoZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWxhYmVsLWhlaWdodDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gRHVwbGljYXRlZCBiZWNhdXNlIGA6LXdlYmtpdC1hdXRvZmlsbGAgaW52YWxpZGF0ZXMgb3RoZXIgc2VsZWN0b3JzIHdoZW4gZ3JvdXBlZFxuICA+IC5mb3JtLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICBjb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2IpLCAjeyRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHl9KTtcbiAgICAgIHRyYW5zZm9ybTogJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgIH4gbGFiZWwge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7IC8vIFJlcXVpcmVkIHRvIHByb3Blcmx5IHBvc2l0aW9uIGxhYmVsIHRleHQgLSBhcyBleHBsYWluZWQgYWJvdmVcbiAgICB9XG4gIH1cblxuICA+IDpkaXNhYmxlZCB+IGxhYmVsLFxuICA+IC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQgfiBsYWJlbCB7IC8vIFJlcXVpcmVkIGZvciBgLmZvcm0tY29udHJvbGBzIGJlY2F1c2Ugb2Ygc3BlY2lmaWNpdHlcbiAgICBjb2xvcjogJGZvcm0tZmxvYXRpbmctbGFiZWwtZGlzYWJsZWQtY29sb3I7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tc2VsZWN0LFxuICA+IC5mb3JtLWZsb2F0aW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLXNlbGVjdDpmb2N1cyxcbiAgPiAuZm9ybS1mbG9hdGluZzpmb2N1cy13aXRoaW4ge1xuICAgIHotaW5kZXg6IDU7XG4gIH1cblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15ICRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xufVxuXG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5pbnB1dC1ncm91cCB7XG4gICY6bm90KC5oYXMtdmFsaWRhdGlvbikge1xuICAgID4gOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmxhc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXZhbGlkYXRpb24ge1xuICAgID4gOm50aC1sYXN0LWNoaWxkKG4gKyAzKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSk6bm90KC5kcm9wZG93bi1tZW51KTpub3QoLmZvcm0tZmxvYXRpbmcpLFxuICAgID4gLmRyb3Bkb3duLXRvZ2dsZTpudGgtbGFzdC1jaGlsZChuICsgNCksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICR2YWxpZGF0aW9uLW1lc3NhZ2VzOiBcIlwiO1xuICBAZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMpIHtcbiAgICAkdmFsaWRhdGlvbi1tZXNzYWdlczogJHZhbGlkYXRpb24tbWVzc2FnZXMgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItdG9vbHRpcClcIiArIFwiOm5vdCguXCIgKyB1bnF1b3RlKCRzdGF0ZSkgKyBcIi1mZWVkYmFjaylcIjtcbiAgfVxuXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tbWVudSkjeyR2YWxpZGF0aW9uLW1lc3NhZ2VzfSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIC0xKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZpcnN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmaXJzdC1jaGlsZCkgPiAuZm9ybS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cbn1cbiIsIi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoXG4gICRzdGF0ZSxcbiAgJGNvbG9yLFxuICAkaWNvbixcbiAgJHRvb2x0aXAtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICR0b29sdGlwLWJnLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KSxcbiAgJGZvY3VzLWJveC1zaGFkb3c6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAkYm9yZGVyLWNvbG9yOiAkY29sb3Jcbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgZm9udC1zdHlsZTogJGZvcm0tZmVlZGJhY2stZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZy1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRmb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLFxuICAgICAgICAmOm5vdChbbXVsdGlwbGVdKVtzaXplPVwiMVwiXSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaWNvbjogI3tlc2NhcGUtc3ZnKCRpY29uKX07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3csICRmb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbC1jb2xvciB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHdpZHRoOiBhZGQoJGZvcm0tY29sb3Itd2lkdGgsICRpbnB1dC1oZWlnaHQtaW5uZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuXG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1zZWxlY3Q6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgICBAaWYgJHN0YXRlID09IFwidmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfSBAZWxzZSBpZiAkc3RhdGUgPT0gXCJpbnZhbGlkXCIge1xuICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzdHVmZlxuXG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW1vZGFsLXppbmRleDogI3skemluZGV4LW1vZGFsfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLW1kfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZzogI3skbW9kYWwtaW5uZXItcGFkZGluZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbjogI3skbW9kYWwtZGlhbG9nLW1hcmdpbn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWNvbG9yOiAjeyRtb2RhbC1jb250ZW50LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYmc6ICN7JG1vZGFsLWNvbnRlbnQtYmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1yYWRpdXM6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15OiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmc6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nfTsgLy8gVG9kbyBpbiB2NjogU3BsaXQgdGhpcyBwYWRkaW5nIGludG8geCBhbmQgeVxuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogI3skbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAjeyRtb2RhbC10aXRsZS1saW5lLWhlaWdodH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXA6ICN7JG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2Vlbn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1iZzogI3skbW9kYWwtZm9vdGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogI3skbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGh9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1tb2RhbC16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cblxuICAvLyBXaGVuIHRyeWluZyB0byBjbG9zZSwgYW5pbWF0ZSBmb2N1cyB0byBzY2FsZVxuICAubW9kYWwubW9kYWwtc3RhdGljICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTtcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pICogMik7XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKSAqIDIpO1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3cpKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWJhY2tkcm9wLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLXppbmRleDogI3skemluZGV4LW1vZGFsLWJhY2tkcm9wfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmc6ICN7JG1vZGFsLWJhY2tkcm9wLWJnfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eTogI3skbW9kYWwtYmFja2Ryb3Atb3BhY2l0eX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtYmFja2Ryb3AtY3NzLXZhcnNcblxuICBAaW5jbHVkZSBvdmVybGF5LWJhY2tkcm9wKHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC16aW5kZXgpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3AtYmcpLCB2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eSkpO1xufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpICogLjUpO1xuICAgIG1hcmdpbjogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkpIGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXgpKSBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nKTtcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZykgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmcpO1xuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7IC8vIFRvZG8gaW4gdjY6IHJlcGxhY2Ugd2l0aCBnYXAgb24gcGFyZW50IGNsYXNzXG4gIH1cbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5tb2RhbCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luOiAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXB9O1xuICAgIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cH07XG4gIH1cblxuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXdpZHRoKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAubW9kYWwtc20ge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1zbX07XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLWxnfTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLXhsfTtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJHBvc3RmaXg6IGlmKCRpbmZpeCAhPSBcIlwiLCAkaW5maXggKyBcIi1kb3duXCIsIFwiXCIpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC5tb2RhbC1mdWxsc2NyZWVuI3skcG9zdGZpeH0ge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtaGVhZGVyLFxuICAgICAgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG4iLCIvLyBTaGFyZWQgYmV0d2VlbiBtb2RhbHMgYW5kIG9mZmNhbnZhc2VzXG5AbWl4aW4gb3ZlcmxheS1iYWNrZHJvcCgkemluZGV4LCAkYmFja2Ryb3AtYmcsICRiYWNrZHJvcC1vcGFjaXR5KSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuc2hvdyB7IG9wYWNpdHk6ICRiYWNrZHJvcC1vcGFjaXR5OyB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14OiAjeyRwYWdpbmF0aW9uLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15OiAjeyRwYWdpbmF0aW9uLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkcGFnaW5hdGlvbi1mb250LXNpemUsIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1jb2xvcjogI3skcGFnaW5hdGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYmc6ICN7JHBhZ2luYXRpb24tYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci13aWR0aDogI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6ICN7JHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItY29sb3I6ICN7JHBhZ2luYXRpb24taG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJnOiAjeyRwYWdpbmF0aW9uLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1jb2xvcjogI3skcGFnaW5hdGlvbi1mb2N1cy1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYmc6ICN7JHBhZ2luYXRpb24tZm9jdXMtYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICN7JHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJnOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICN7JHBhZ2luYXRpb24tZGlzYWJsZWQtYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwYWdpbmF0aW9uLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJnKTtcbiAgICBvdXRsaW5lOiAkcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gIC5hY3RpdmUgPiAmIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1iZykpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAuZGlzYWJsZWQgPiAmIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cblxuLnBhZ2UtaXRlbSB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCkgLnBhZ2UtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDtcbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQgPT0gY2FsYygjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH0gKiAtMSkge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXModmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXModmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gQWRkIGJvcmRlci1yYWRpdXMgdG8gYWxsIHBhZ2VMaW5rcyBpbiBjYXNlIHRoZXkgaGF2ZSBsZWZ0IG1hcmdpblxuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi1taXhpblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteDogI3skcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLCAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG59XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tbWl4aW5cbiIsIi5icmVhZGNydW1iIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXk6ICN7JGJyZWFkY3J1bWItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAjeyRicmVhZGNydW1iLW1hcmdpbi1ib3R0b219O1xuICBAaW5jbHVkZSByZnMoJGJyZWFkY3J1bWItZm9udC1zaXplLCAtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmc6ICN7JGJyZWFkY3J1bWItYmd9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICN7JGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogI3skYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICN7JGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b20pO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3IpO1xuICAgICAgY29udGVudDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKSkgI3tcIi8qIHJ0bDpcIn0gdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQpKSAje1wiKi9cIn07XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wZW5kLFxuLmRyb3Bkb3duLFxuLmRyb3BzdGFydCxcbi5kcm9wdXAtY2VudGVyLFxuLmRyb3Bkb3duLWNlbnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXppbmRleDogI3skemluZGV4LWRyb3Bkb3dufTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoOiAjeyRkcm9wZG93bi1taW4td2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteTogI3skZHJvcGRvd24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyOiAjeyRkcm9wZG93bi1zcGFjZXJ9O1xuICBAaW5jbHVkZSByZnMoJGRyb3Bkb3duLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3I6ICN7JGRyb3Bkb3duLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGl2aWRlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICN7JGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiAjeyRkcm9wZG93bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjeyRkcm9wZG93bi1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogI3skZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24taGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogI3skZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24temluZGV4KTtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgbWluLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteCk7XG4gIG1hcmdpbjogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBtYXJnaW4gb2YgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93KSk7XG5cbiAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgPiAuZHJvcGRvd24taXRlbTpmaXJzdC1jaGlsZCxcbiAgICA+IGxpOmZpcnN0LWNoaWxkIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICAgID4gLmRyb3Bkb3duLWl0ZW06bGFzdC1jaGlsZCxcbiAgICA+IGxpOmxhc3QtY2hpbGQgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuLy8gV2UgZGVsaWJlcmF0ZWx5IGhhcmRjb2RlIHRoZSBgYnMtYCBwcmVmaXggYmVjYXVzZSB3ZSBjaGVja1xuLy8gdGhpcyBjdXN0b20gcHJvcGVydHkgaW4gSlMgdG8gZGV0ZXJtaW5lIFBvcHBlcidzIHBvc2l0aW9uaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXN0YXJ0IHtcbiAgICAgIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xuXG4gICAgICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWVuZCB7XG4gICAgICAtLWJzLXBvc2l0aW9uOiBlbmQ7XG5cbiAgICAgICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHJlc3BvbnNpdmUtYnJlYWtwb2ludHNcblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3BlbmQge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoZW5kKTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BzdGFydCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoc3RhcnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXkpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZyk7XG4gIG9wYWNpdHk6IDE7IC8vIFJldmlzaXQgaW4gdjYgdG8gZGUtZHVwZSBzdHlsZXMgdGhhdCBjb25mbGljdCB3aXRoIDxocj4gZWxlbWVudFxufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tYm9yZGVyLXJhZGl1cywgMCkpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmcpKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZykpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcik7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcik7XG59XG5cbi8vIERhcmsgZHJvcGRvd25zXG4uZHJvcGRvd24tbWVudS1kYXJrIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWRhcmstY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1iZzogI3skZHJvcGRvd24tZGFyay1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiAjeyRkcm9wZG93bi1kYXJrLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnOiAjeyRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWhlYWRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tZGFyay1jc3MtdmFyc1xufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LW1peGluc1xuQG1peGluIGNhcmV0LWRvd24oJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1lbmQoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LXN0YXJ0KCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KFxuICAkZGlyZWN0aW9uOiBkb3duLFxuICAkd2lkdGg6ICRjYXJldC13aWR0aCxcbiAgJHNwYWNpbmc6ICRjYXJldC1zcGFjaW5nLFxuICAkdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnblxuKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCR3aWR0aCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgkd2lkdGgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGVuZCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWVuZCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHN0YXJ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1zdGFydCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC1taXhpbnNcbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmFjY29yZGlvbiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhY2NvcmRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yOiAjeyRhY2NvcmRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYmc6ICN7JGFjY29yZGlvbi1iZ307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi10cmFuc2l0aW9uOiAjeyRhY2NvcmRpb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3I6ICN7JGFjY29yZGlvbi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXdpZHRoOiAjeyRhY2NvcmRpb24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXg6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXk6ICN7JGFjY29yZGlvbi1idXR0b24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcjogI3skYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYmd9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1pY29uKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aDogI3skYWNjb3JkaW9uLWljb24td2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNmb3JtOiAjeyRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm19O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbjogI3skYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb246ICN7ZXNjYXBlLXN2ZygkYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbil9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3c6ICN7JGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJvZHktcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAjeyRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtYmc6ICN7JGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBhY2NvcmRpb24tY3NzLXZhcnNcbn1cblxuLmFjY29yZGlvbi1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBSZXNldCBidXR0b24gc3R5bGVcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmcpO1xuICBib3JkZXI6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLXRyYW5zaXRpb24pKTtcblxuICAmOm5vdCguY29sbGFwc2VkKSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGgpKSAwIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uKTtcbiAgICAgIHRyYW5zZm9ybTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjY29yZGlvbiBpY29uXG4gICY6OmFmdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24pO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24tdHJhbnNpdGlvbikpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgfVxufVxuXG4uYWNjb3JkaW9uLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hY2NvcmRpb24taXRlbSB7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgPiAuYWNjb3JkaW9uLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICAvLyBPbmx5IHNldCBhIGJvcmRlci1yYWRpdXMgb24gdGhlIGxhc3QgaXRlbSBpZiB0aGUgYWNjb3JkaW9uIGlzIGNvbGxhcHNlZFxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxufVxuXG4uYWNjb3JkaW9uLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy14KTtcbn1cblxuXG4vLyBGbHVzaCBhY2NvcmRpb24gaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGFjY29yZGlvbiBpdGVtcyBlZGdlLXRvLWVkZ2UuXG5cbi5hY2NvcmRpb24tZmx1c2gge1xuICA+IC5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXRvcDogMDsgfVxuICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDA7IH1cblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC1jbGFzc1xuICAgID4gLmFjY29yZGlvbi1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgJixcbiAgICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1tYXgtY2xhc3NcblxuICAgID4gLmFjY29yZGlvbi1jb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuYWNjb3JkaW9uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24taWNvbi1kYXJrKX07XG4gICAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb24tZGFyayl9O1xuICAgIH1cbiAgfVxufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sbGFwc2UtY2xhc3Nlc1xuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcblxuICAmLmNvbGxhcHNlLWhvcml6b250YWwge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjb2xsYXBzZS1jbGFzc2VzXG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1hbGVydC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteDogI3skYWxlcnQtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy15OiAjeyRhbGVydC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hbGVydC1tYXJnaW4tYm90dG9tOiAjeyRhbGVydC1tYXJnaW4tYm90dG9tfTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtY29sb3I6IGluaGVyaXQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlcjogI3skYWxlcnQtYm9yZGVyLXdpZHRofSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLXJhZGl1czogI3skYWxlcnQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3I6IGluaGVyaXQ7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtbWFyZ2luLWJvdHRvbSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXIpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yKTtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGFsZXJ0LWRpc21pc3NpYmxlLXBhZGRpbmctcjtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuYnRuLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6ICRzdHJldGNoZWQtbGluay16LWluZGV4ICsgMTtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICogMS4yNSAkYWxlcnQtcGFkZGluZy14O1xuICB9XG59XG5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LW1vZGlmaWVyc1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydFxuQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCR0aGVtZS1jb2xvcnMpIHtcbiAgLmFsZXJ0LSN7JHN0YXRlfSB7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYm9yZGVyLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC1tb2RpZmllcnNcbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdi1saW5rLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2LWxpbmstcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRuYXYtbGluay1mb250LXNpemUsIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0OiAjeyRuYXYtbGluay1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yOiAjeyRuYXYtbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yOiAjeyRuYXYtbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRuYXYtbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbmF2LWxpbmstdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJG5hdi1saW5rLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi10YWJzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aDogI3skbmF2LXRhYnMtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItcmFkaXVzOiAjeyRuYXYtdGFicy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi10YWJzLWNzcy12YXJzXG5cbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcik7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1yYWRpdXMpKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBQcmV2ZW50cyBhY3RpdmUgLm5hdi1saW5rIHRhYiBvdmVybGFwcGluZyBmb2N1cyBvdXRsaW5lIG9mIHByZXZpb3VzL25leHQgLm5hdi1saW5rXG4gICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi1waWxscy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogI3skbmF2LXBpbGxzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogI3skbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtcGlsbHMtY3NzLXZhcnNcblxuICAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1ib3JkZXItcmFkaXVzKSk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmcpKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBVbmRlcmxpbmVcbi8vXG5cbi5uYXYtdW5kZXJsaW5lIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi11bmRlcmxpbmUtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1nYXA6ICN7JG5hdi11bmRlcmxpbmUtZ2FwfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGg6ICN7JG5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXVuZGVybGluZS1jc3MtdmFyc1xuXG4gIGdhcDogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtZ2FwKTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudGNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1maWxsLFxuLm5hdi1qdXN0aWZpZWQge1xuICAubmF2LWl0ZW0gLm5hdi1saW5rIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gTWFrZSBzdXJlIGJ1dHRvbiB3aWxsIGdyb3dcbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgLy8gUmVzZXQgbmVlZGVkIGZvciBuZXN0aW5nIHRhYmxlc1xuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlOiBpbml0aWFsO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy10eXBlOiBpbml0aWFsO1xuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGU6IGluaXRpYWw7XG4gIC8vIEVuZCBvZiByZXNldFxuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvcjogI3skdGFibGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1iZzogI3skdGFibGUtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3I6ICN7JHRhYmxlLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjY2VudC1iZzogI3skdGFibGUtYWNjZW50LWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcjogI3skdGFibGUtc3RyaXBlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmc6ICN7JHRhYmxlLXN0cmlwZWQtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3I6ICN7JHRhYmxlLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZzogI3skdGFibGUtYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3I6ICN7JHRhYmxlLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItYmc6ICN7JHRhYmxlLWhvdmVyLWJnfTtcblxuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgdmVydGljYWwtYWxpZ246ICR0YWJsZS1jZWxsLXZlcnRpY2FsLWFsaWduO1xuICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3IpO1xuXG4gIC8vIFRhcmdldCB0aCAmIHRkXG4gIC8vIFdlIG5lZWQgdGhlIGNoaWxkIGNvbWJpbmF0b3IgdG8gcHJldmVudCBzdHlsZXMgbGVha2luZyB0byBuZXN0ZWQgdGFibGVzIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIGAudGFibGVgIGNsYXNzLlxuICAvLyBXZSB1c2UgdGhlIHVuaXZlcnNhbCBzZWxlY3RvcnMgaGVyZSB0byBzaW1wbGlmeSB0aGUgc2VsZWN0b3IgKGVsc2Ugd2Ugd291bGQgbmVlZCA2IGRpZmZlcmVudCBzZWxlY3RvcnMpLlxuICAvLyBBbm90aGVyIGFkdmFudGFnZSBpcyB0aGF0IHRoaXMgZ2VuZXJhdGVzIGxlc3MgY29kZSBhbmQgbWFrZXMgdGhlIHNlbGVjdG9yIGxlc3Mgc3BlY2lmaWMgbWFraW5nIGl0IGVhc2llciB0byBvdmVycmlkZS5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmcteSAkdGFibGUtY2VsbC1wYWRkaW5nLXg7XG4gICAgLy8gRm9sbG93aW5nIHRoZSBwcmVjZXB0IG9mIGNhc2NhZGVzOiBodHRwczovL2NvZGVwZW4uaW8vbWlyaWFtc3V6YW5uZS9mdWxsL3ZZTmdvZGJcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXN0YXRlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKSkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1iZyk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA5OTk5cHggdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjY2VudC1iZykpKTtcbiAgfVxuXG4gID4gdGJvZHkge1xuICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICB9XG5cbiAgPiB0aGVhZCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgfVxufVxuXG4udGFibGUtZ3JvdXAtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IGNhbGMoI3skdGFibGUtYm9yZGVyLXdpZHRofSAqIDIpIHNvbGlkICR0YWJsZS1ncm91cC1zZXBhcmF0b3ItY29sb3I7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbi8vXG4vLyBDaGFuZ2UgcGxhY2VtZW50IG9mIGNhcHRpb25zIHdpdGggYSBjbGFzc1xuLy9cblxuLmNhcHRpb24tdG9wIHtcbiAgY2FwdGlvbi1zaWRlOiB0b3A7XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXktc20gJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cbi8vXG4vLyBXaGVuIGJvcmRlcnMgYXJlIGFkZGVkIG9uIGFsbCBzaWRlcyBvZiB0aGUgY2VsbHMsIHRoZSBjb3JuZXJzIGNhbiByZW5kZXIgb2RkIHdoZW5cbi8vIHRoZXNlIGJvcmRlcnMgZG8gbm90IGhhdmUgdGhlIHNhbWUgY29sb3Igb3IgaWYgdGhleSBhcmUgc2VtaS10cmFuc3BhcmVudC5cbi8vIFRoZXJlZm9yZSB3ZSBhZGQgdG9wIGFuZCBib3JkZXIgYm90dG9tcyB0byB0aGUgYHRyYHMgYW5kIGxlZnQgYW5kIHJpZ2h0IGJvcmRlcnNcbi8vIHRvIHRoZSBgdGRgcyBvciBgdGhgc1xuXG4udGFibGUtYm9yZGVyZWQge1xuICA+IDpub3QoY2FwdGlvbikgPiAqIHtcbiAgICBib3JkZXItd2lkdGg6ICR0YWJsZS1ib3JkZXItd2lkdGggMDtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gICAgPiAqIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG5cbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4vLyBGb3Igcm93c1xuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgfVxufVxuXG4vLyBGb3IgY29sdW1uc1xuLnRhYmxlLXN0cmlwZWQtY29sdW1ucyB7XG4gID4gOm5vdChjYXB0aW9uKSA+IHRyID4gOm50aC1jaGlsZCgjeyR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXJ9KSB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgfVxufVxuXG4vLyBBY3RpdmUgdGFibGVcbi8vXG4vLyBUaGUgYC50YWJsZS1hY3RpdmVgIGNsYXNzIGNhbiBiZSBhZGRlZCB0byBoaWdobGlnaHQgcm93cyBvciBjZWxsc1xuXG4udGFibGUtYWN0aXZlIHtcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3IpO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZyk7XG59XG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZyk7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSB2YXJpYW50c1xuLy9cbi8vIFRhYmxlIHZhcmlhbnRzIHNldCB0aGUgdGFibGUgY2VsbCBiYWNrZ3JvdW5kcywgYm9yZGVyIGNvbG9yc1xuLy8gYW5kIHRoZSBjb2xvcnMgb2YgdGhlIHN0cmlwZWQsIGhvdmVyZWQgJiBhY3RpdmUgdGFibGVzXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0YWJsZS12YXJpYW50cyB7XG4gIEBpbmNsdWRlIHRhYmxlLXZhcmlhbnQoJGNvbG9yLCAkdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC50YWJsZS1yZXNwb25zaXZlI3skaW5maXh9IHtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFudFxuQG1peGluIHRhYmxlLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KG9wYXF1ZSgkYm9keS1iZywgJGJhY2tncm91bmQpKTtcbiAgICAkaG92ZXItYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpKTtcbiAgICAkc3RyaXBlZC1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSk7XG4gICAgJGFjdGl2ZS1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpKTtcbiAgICAkdGFibGUtYm9yZGVyLWNvbG9yOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYm9yZGVyLWZhY3RvcikpO1xuXG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JGNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZzogI3skYmFja2dyb3VuZH07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmc6ICN7JHN0cmlwZWQtYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJHN0cmlwZWQtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skaG92ZXItYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRob3Zlci1iZyl9O1xuXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYW50XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY2xlYXJmaXhcbiIsIi8vIEFsbC1jYXBzIGBSR0JBKClgIGZ1bmN0aW9uIHVzZWQgYmVjYXVzZSBvZiB0aGlzIFNhc3MgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9ub2RlLXNhc3MvaXNzdWVzLzIyNTFcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAudGV4dC1iZy0jeyRjb2xvcn0ge1xuICAgIGNvbG9yOiBjb2xvci1jb250cmFzdCgkdmFsdWUpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYiksIHZhcigtLSN7JHByZWZpeH1iZy1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgfVxufVxuIiwiLy8gQWxsLWNhcHMgYFJHQkEoKWAgZnVuY3Rpb24gdXNlZCBiZWNhdXNlIG9mIHRoaXMgU2FzcyBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL25vZGUtc2Fzcy9pc3N1ZXMvMjI1MVxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5saW5rLSN7JGNvbG9yfSB7XG4gICAgY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgICBAaWYgJGxpbmstc2hhZGUtcGVyY2VudGFnZSAhPSAwIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgJGhvdmVyLWNvbG9yOiBpZihjb2xvci1jb250cmFzdCgkdmFsdWUpID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJHZhbHVlLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSwgdGludC1jb2xvcigkdmFsdWUsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpKTtcbiAgICAgICAgY29sb3I6IFJHQkEoI3t0by1yZ2IoJGhvdmVyLWNvbG9yKX0sIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodG8tcmdiKCRob3Zlci1jb2xvciksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT25lLW9mZiBzcGVjaWFsIGxpbmsgaGVscGVyIGFzIGEgYnJpZGdlIHVudGlsIHY2XG4ubGluay1ib2R5LWVtcGhhc2lzIHtcbiAgY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcblxuICBAaWYgJGxpbmstc2hhZGUtcGVyY2VudGFnZSAhPSAwIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIC43NSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IFJHQkEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAuNzUpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvY3VzLXJpbmc6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICAvLyBCeSBkZWZhdWx0LCB0aGVyZSBpcyBubyBgLS1icy1mb2N1cy1yaW5nLXhgLCBgLS1icy1mb2N1cy1yaW5nLXlgLCBvciBgLS1icy1mb2N1cy1yaW5nLWJsdXJgLCBidXQgd2UgcHJvdmlkZSBDU1MgdmFyaWFibGVzIHdpdGggZmFsbGJhY2tzIHRvIGluaXRpYWwgYDBgIHZhbHVlc1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy14LCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy15LCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1ibHVyLCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy13aWR0aCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctY29sb3IpO1xufVxuIiwiLmljb24tbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6ICRpY29uLWxpbmstZ2FwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgLjUpKTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAkaWNvbi1saW5rLXVuZGVybGluZS1vZmZzZXQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICA+IC5iaSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6ICRpY29uLWxpbmstaWNvbi1zaXplO1xuICAgIGhlaWdodDogJGljb24tbGluay1pY29uLXNpemU7XG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGljb24tbGluay1pY29uLXRyYW5zaXRpb24pO1xuICB9XG59XG5cbi5pY29uLWxpbmstaG92ZXIge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgID4gLmJpIHtcbiAgICAgIHRyYW5zZm9ybTogdmFyKC0tI3skcHJlZml4fWljb24tbGluay10cmFuc2Zvcm0sICRpY29uLWxpbmstaWNvbi10cmFuc2Zvcm0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5yYXRpbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tI3skcHJlZml4fWFzcGVjdC1yYXRpbyk7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AZWFjaCAka2V5LCAkcmF0aW8gaW4gJGFzcGVjdC1yYXRpb3Mge1xuICAucmF0aW8tI3ska2V5fSB7XG4gICAgLS0jeyRwcmVmaXh9YXNwZWN0LXJhdGlvOiAjeyRyYXRpb307XG4gIH1cbn1cbiIsIi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4vLyBSZXNwb25zaXZlIHN0aWNreSB0b3AgYW5kIGJvdHRvbVxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnN0aWNreSN7JGluZml4fS10b3Age1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICAgIH1cblxuICAgIC5zdGlja3kjeyRpbmZpeH0tYm90dG9tIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBzdGFja3Ncbi5oc3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4udnN0YWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIGF1dG87XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG4vLyBzY3NzLWRvY3MtZW5kIHN0YWNrc1xuIiwiLy9cbi8vIFZpc3VhbGx5IGhpZGRlblxuLy9cblxuLnZpc3VhbGx5LWhpZGRlbixcbi52aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEhpZGUgY29udGVudCB2aXN1YWxseSB3aGlsZSBrZWVwaW5nIGl0IGFjY2Vzc2libGUgdG8gYXNzaXN0aXZlIHRlY2hub2xvZ2llc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9raXR0eWdpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuKCkge1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7IC8vIEZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTY4NlxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcblxuICAvLyBGaXggZm9yIHBvc2l0aW9uZWQgdGFibGUgY2FwdGlvbiB0aGF0IGNvdWxkIGJlY29tZSBhbm9ueW1vdXMgY2VsbHNcbiAgJjpub3QoY2FwdGlvbikge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFVzZSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZCwgb3Igb25lIG9mIGl0cyBjaGlsZCBlbGVtZW50cyBpcyBmb2N1c2VkXG4vLyAoaS5lLiB3aGVuIGZvY3VzIGlzIHdpdGhpbiB0aGUgZWxlbWVudC9jb250YWluZXIgdGhhdCB0aGUgY2xhc3Mgd2FzIGFwcGxpZWQgdG8pXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSgpIHtcbiAgJjpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICB9XG59XG4iLCIvL1xuLy8gU3RyZXRjaGVkIGxpbmtcbi8vXG5cbi5zdHJldGNoZWQtbGluayB7XG4gICY6OiN7JHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50fSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkc3RyZXRjaGVkLWxpbmstei1pbmRleDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvL1xuLy8gVGV4dCB0cnVuY2F0aW9uXG4vL1xuXG4udGV4dC10cnVuY2F0ZSB7XG4gIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLnZyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB3aWR0aDogJHZyLWJvcmRlci13aWR0aDtcbiAgbWluLWhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohXG4gKiBIYW1idXJnZXJzXG4gKiBAZGVzY3JpcHRpb24gVGFzdHkgQ1NTLWFuaW1hdGVkIGhhbWJ1cmdlcnNcbiAqIEBhdXRob3IgSm9uYXRoYW4gU3VoIEBqb25zdWhcbiAqIEBzaXRlIGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcbiAqL1xuXG4vLyBTZXR0aW5nc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRoYW1idXJnZXItcGFkZGluZy14ICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLXBhZGRpbmcteSAgICAgICAgICAgOiAxNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci13aWR0aCAgICAgICAgIDogNDBweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICAgICAgICA6IDRweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAgICAgICA6IDZweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItY29sb3IgICAgICAgICA6ICMwMDAgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXMgOiA0cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgICAgICAgOiAwLjcgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWFjdGl2ZS1sYXllci1jb2xvciAgOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTogJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5ICFkZWZhdWx0O1xuXG4vLyBUbyB1c2UgQ1NTIGZpbHRlcnMgYXMgdGhlIGhvdmVyIGVmZmVjdCBpbnN0ZWFkIG9mIG9wYWNpdHksXG4vLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXG4vLyBjaGFuZ2UgdGhlIHZhbHVlIG9mICRoYW1idXJnZXItaG92ZXItZmlsdGVyIGFjY29yZGluZ2x5LlxuJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgICAgIDogb3BhY2l0eSg1MCUpICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAhZGVmYXVsdDtcblxuLy8gVHlwZXMgKFJlbW92ZSBvciBjb21tZW50IG91dCB3aGF0IHlvdSBkb27igJl0IG5lZWQpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci10eXBlczogKFxuICAzZHgsXG4gIDNkeC1yLFxuICAzZHksXG4gIDNkeS1yLFxuICAzZHh5LFxuICAzZHh5LXIsXG4gIGFycm93LFxuICBhcnJvdy1yLFxuICBhcnJvd2FsdCxcbiAgYXJyb3dhbHQtcixcbiAgYXJyb3d0dXJuLFxuICBhcnJvd3R1cm4tcixcbiAgYm9yaW5nLFxuICBjb2xsYXBzZSxcbiAgY29sbGFwc2UtcixcbiAgZWxhc3RpYyxcbiAgZWxhc3RpYy1yLFxuICBlbXBoYXRpYyxcbiAgZW1waGF0aWMtcixcbiAgbWludXMsXG4gIHNsaWRlcixcbiAgc2xpZGVyLXIsXG4gIHNwaW4sXG4gIHNwaW4tcixcbiAgc3ByaW5nLFxuICBzcHJpbmctcixcbiAgc3RhbmQsXG4gIHN0YW5kLXIsXG4gIHNxdWVlemUsXG4gIHZvcnRleCxcbiAgdm9ydGV4LXJcbikgIWRlZmF1bHQ7XG5cbi8vIEJhc2UgSGFtYnVyZ2VyIChXZSBuZWVkIHRoaXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcImJhc2VcIjtcblxuLy8gSGFtYnVyZ2VyIHR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcInR5cGVzLzNkeFwiO1xuQGltcG9ydCBcInR5cGVzLzNkeC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHh5XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4eS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvdy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHRcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9ib3JpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZVwiO1xuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljXCI7XG5AaW1wb3J0IFwidHlwZXMvZWxhc3RpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvbWludXNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXItclwiO1xuQGltcG9ydCBcInR5cGVzL3NwaW5cIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcGluLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmctclwiO1xuQGltcG9ydCBcInR5cGVzL3N0YW5kXCI7XG5AaW1wb3J0IFwidHlwZXMvc3RhbmQtclwiO1xuQGltcG9ydCBcInR5cGVzL3NxdWVlemVcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXhcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXgtclwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29va2luZyB1cCBhZGRpdGlvbmFsIHR5cGVzOlxuLy9cbi8vIFRoZSBTYXNzIGZvciBlYWNoIGhhbWJ1cmdlciB0eXBlIHNob3VsZCBiZSBuZXN0ZWRcbi8vIGluc2lkZSBhbiBAaWYgZGlyZWN0aXZlIHRvIGNoZWNrIHdoZXRoZXIgb3Igbm90XG4vLyBpdCBleGlzdHMgaW4gJGhhbWJ1cmdlci10eXBlcyBzbyBvbmx5IHRoZSBDU1MgZm9yXG4vLyBpbmNsdWRlZCB0eXBlcyBhcmUgZ2VuZXJhdGVkLlxuLy9cbi8vIGUuZy4gaGFtYnVyZ2Vycy90eXBlcy9fbmV3LXR5cGUuc2Nzc1xuLy9cbi8vIEBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBuZXctdHlwZSkge1xuLy8gICAuaGFtYnVyZ2VyLS1uZXctdHlwZSB7XG4vLyAgICAgLi4uXG4vLyAgIH1cbi8vIH1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLy8gSGFtYnVyZ2VyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmhhbWJ1cmdlciB7XG4gIHBhZGRpbmc6ICRoYW1idXJnZXItcGFkZGluZy15ICRoYW1idXJnZXItcGFkZGluZy14O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuXG4gIC8vIE5vcm1hbGl6ZSAoPGJ1dHRvbj4pXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAmOmhvdmVyIHtcbiAgICBAaWYgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyID09IHRydWUge1xuICAgICAgZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpZiAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgPT0gdHJ1ZSB7XG4gICAgICAgIGZpbHRlcjogJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItZmlsdGVyO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBvcGFjaXR5OiAkaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1vcGFjaXR5O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIsXG4gICAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLFxuICAgIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItYWN0aXZlLWxheWVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gIHdpZHRoOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoO1xuICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMyArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGFtYnVyZ2VyLWlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiBtYXRoLmRpdigkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCwgLTIpO1xuXG4gICYsXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoO1xuICAgIGhlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1sYXllci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgfVxuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgY29sbGFwc2UpIHtcbiAgLypcbiAgICogQ29sbGFwc2VcbiAgICovXG4gIC5oYW1idXJnZXItLWNvbGxhcHNlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMiArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4yMnMgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE2cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiEgUGhvdG9Td2lwZSBEZWZhdWx0IFVJIENTUyBieSBEbWl0cnkgU2VtZW5vdiB8IHBob3Rvc3dpcGUuY29tIHwgTUlUIGxpY2Vuc2UgKi9cblxuLypcblxuXHRDb250ZW50czpcblxuXHQxLiBCdXR0b25zXG5cdDIuIFNoYXJlIG1vZGFsIGFuZCBsaW5rc1xuXHQzLiBJbmRleCBpbmRpY2F0b3IgKFwiMSBvZiBYXCIgY291bnRlcilcblx0NC4gQ2FwdGlvblxuXHQ1LiBMb2FkaW5nIGluZGljYXRvclxuXHQ2LiBBZGRpdGlvbmFsIHN0eWxlcyAocm9vdCBlbGVtZW50LCB0b3AgYmFyLCBpZGxlIHN0YXRlLCBoaWRkZW4gc3RhdGUsIGV0Yy4pXG5cbiovXG5cbi8vIFBob3RvU3dpcGUgdXNlcyBBdXRvcHJlZml4ZXIsIHNvIHZlbmRvciBwcmVmaXhlZCBhcmUgYWRkZWQgYXV0b21hdGljYWxseSB3aGVuIG5lZWRlZC5cblxuXG5cbkBpbXBvcnQgXCIuLi9tYWluLXNldHRpbmdzXCI7XG5cblxuLypcblx0XG5cdDEuIEJ1dHRvbnNcblxuICovXG5cbi8qIDxidXR0b24+IGNzcyByZXNldCAqL1xuLnBzd3BfX2J1dHRvbiB7XG5cdHdpZHRoOiA0NHB4O1xuXHRoZWlnaHQ6IDQ0cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGZsb2F0OiByaWdodDtcblx0b3BhY2l0eTogMC43NTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuXHRib3gtc2hhZG93OiBub25lO1xuXG5cdCY6Zm9jdXMsXG5cdCY6aG92ZXIge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0XG5cdCY6YWN0aXZlIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdG9wYWNpdHk6IDAuOTtcblx0fVxuXG5cdCY6Oi1tb3otZm9jdXMtaW5uZXIge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Ym9yZGVyOiAwXG5cdH1cbn1cblxuLyogcHN3cF9fdWktLW92ZXItY2xvc2UgY2xhc3MgaXQgYWRkZWQgd2hlbiBtb3VzZSBpcyBvdmVyIGVsZW1lbnQgdGhhdCBzaG91bGQgY2xvc2UgZ2FsbGVyeSAqL1xuLnBzd3BfX3VpLS1vdmVyLWNsb3NlIC5wc3dwX19idXR0b24tLWNsb3NlIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLnBzd3BfX2J1dHRvbixcbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kOiB1cmwoI3skcHN3cF9fYXNzZXRzLXBhdGh9ZGVmYXVsdC1za2luLnBuZykgMCAwIG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiAyNjRweCA4OHB4O1xuXHR3aWR0aDogNDRweDtcblx0aGVpZ2h0OiA0NHB4O1xufVxuXG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4xKSwgIChtaW4tcmVzb2x1dGlvbjogMTA1ZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAxLjFkcHB4KSB7XG5cblx0LyogU2VydmUgU1ZHIHNwcml0ZSBpZiBicm93c2VyIHN1cHBvcnRzIFNWRyBhbmQgcmVzb2x1dGlvbiBpcyBtb3JlIHRoYW4gMTA1ZHBpICovXG4gICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLFxuICAgIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlLFxuXHQucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skcHN3cF9fYXNzZXRzLXBhdGh9ZGVmYXVsdC1za2luLnN2Zyk7XG4gICAgfVxuXG4gICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcblx0LnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdH1cbn1cblxuLnBzd3BfX2J1dHRvbi0tY2xvc2Uge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00NHB4O1xufVxuXG4ucHN3cF9fYnV0dG9uLS1zaGFyZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC00NHB4IC00NHB4O1xufVxuXG4ucHN3cF9fYnV0dG9uLS1mcyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wc3dwLS1zdXBwb3J0cy1mcyAucHN3cF9fYnV0dG9uLS1mcyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHN3cC0tZnMgLnBzd3BfX2J1dHRvbi0tZnMge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDRweCAwO1xufVxuXG4ucHN3cF9fYnV0dG9uLS16b29tIHtcblx0ZGlzcGxheTogbm9uZTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTg4cHggMDtcbn1cblxuLnBzd3AtLXpvb20tYWxsb3dlZCAucHN3cF9fYnV0dG9uLS16b29tIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2J1dHRvbi0tem9vbSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IC0xMzJweCAwO1xufVxuXG4vKiBubyBhcnJvd3Mgb24gdG91Y2ggc2NyZWVucyAqL1xuLnBzd3AtLXRvdWNoIHtcblx0LnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG5cdC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1x0XHRcblx0fVxufVxuXG4vKlxuXHRBcnJvdyBidXR0b25zIGhpdCBhcmVhXG5cdChpY29uIGlzIGFkZGVkIHRvIDpiZWZvcmUgcHNldWRvLWVsZW1lbnQpXG4qL1xuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHR0b3A6IDUwJTtcblx0bWFyZ2luLXRvcDogLTUwcHg7XG5cdHdpZHRoOiA3MHB4O1xuXHRoZWlnaHQ6IDEwMHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0IHtcblx0bGVmdDogMDtcbn1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcblx0cmlnaHQ6IDA7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuXHRjb250ZW50OiAnJztcblx0dG9wOiAzNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMyk7XG5cdGhlaWdodDogMzBweDtcblx0d2lkdGg6IDMycHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlIHtcblx0bGVmdDogNnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTM4cHggLTQ0cHg7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuXHRyaWdodDogNnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTRweCAtNDRweDtcbn1cblxuXG4vKlxuXG5cdDIuIFNoYXJlIG1vZGFsL3BvcHVwIGFuZCBsaW5rc1xuXG4gKi9cblxuLnBzd3BfX2NvdW50ZXIsXG4ucHN3cF9fc2hhcmUtbW9kYWwge1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnBzd3BfX3NoYXJlLW1vZGFsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6ICRwc3dwX19yb290LXotaW5kZXggKyAxMDA7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG5cdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHR3aWxsLWNoYW5nZTogb3BhY2l0eTtcbn1cblxuLnBzd3BfX3NoYXJlLW1vZGFsLS1oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ucHN3cF9fc2hhcmUtdG9vbHRpcCB7XG5cdHotaW5kZXg6ICRwc3dwX19yb290LXotaW5kZXggKyAxMjA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZDogI0ZGRjtcblx0dG9wOiA1NnB4O1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogYXV0bztcblx0cmlnaHQ6IDQ0cHg7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzO1xuXHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblxuXHRhIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiA4cHggMTJweDtcblx0XHRjb2xvcjogIzAwMDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRjb2xvcjogIzAwMDtcblx0XHR9XG5cblx0XHRcblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdC8qIHJvdW5kIGNvcm5lcnMgb24gdGhlIGZpcnN0L2xhc3QgbGlzdCBpdGVtICovXG5cdFx0XHRib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDtcblx0XHR9XG5cdFx0XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDAgMCAycHggMnB4O1xuXHRcdH1cblx0fVxufVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwtLWZhZGUtaW4ge1xuXHRvcGFjaXR5OiAxO1xuXG5cdC5wc3dwX19zaGFyZS10b29sdGlwIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdH1cbn1cblxuLyogaW5jcmVhc2Ugc2l6ZSBvZiBzaGFyZSBsaW5rcyBvbiB0b3VjaCBkZXZpY2VzICovXG4ucHN3cC0tdG91Y2ggLnBzd3BfX3NoYXJlLXRvb2x0aXAgYSB7XG5cdHBhZGRpbmc6IDE2cHggMTJweDtcbn1cblxuYS5wc3dwX19zaGFyZS0tZmFjZWJvb2sge1xuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IC0xMnB4O1xuXHRcdHJpZ2h0OiAxNXB4O1xuXHRcdGJvcmRlcjogNnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRjtcblx0XHQtd2Via2l0LXBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdC1tb3otcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiAjM0U1QzlBO1xuXHRcdGNvbG9yOiAjRkZGO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogIzNFNUM5QTtcblx0XHR9XG5cdH1cbn1cblxuYS5wc3dwX19zaGFyZS0tdHdpdHRlciB7XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6ICM1NUFDRUU7XG5cdFx0Y29sb3I6ICNGRkY7XG5cdH1cbn1cblxuYS5wc3dwX19zaGFyZS0tcGludGVyZXN0IHtcblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZDogI0NDQztcblx0XHRjb2xvcjogI0NFMjcyRDtcblx0fVxufVxuXG5hLnBzd3BfX3NoYXJlLS1kb3dubG9hZCB7XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6ICNEREQ7XG5cdH1cbn1cblxuXG4vKlxuXG5cdDMuIEluZGV4IGluZGljYXRvciAoXCIxIG9mIFhcIiBjb3VudGVyKVxuXG4gKi9cblxuLnBzd3BfX2NvdW50ZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiA0NHB4O1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGxpbmUtaGVpZ2h0OiA0NHB4O1xuXHRjb2xvcjogI0ZGRjtcblx0b3BhY2l0eTogMC43NTtcblx0cGFkZGluZzogMCAxMHB4O1xufVxuXG5cbi8qXG5cdFxuXHQ0LiBDYXB0aW9uXG5cbiAqL1xuXG4ucHN3cF9fY2FwdGlvbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0Ym90dG9tOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogNDRweDtcblx0XG5cdHNtYWxsIHtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0Y29sb3I6ICNCQkI7XG5cdH1cbn1cblxuLnBzd3BfX2NhcHRpb25fX2NlbnRlciB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdG1heC13aWR0aDogNDIwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRmb250LXNpemU6IDEzcHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRjb2xvcjogI0NDQztcbn1cblxuLnBzd3BfX2NhcHRpb24tLWVtcHR5IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogRmFrZSBjYXB0aW9uIGVsZW1lbnQsIHVzZWQgdG8gY2FsY3VsYXRlIGhlaWdodCBvZiBuZXh0L3ByZXYgaW1hZ2UgKi9cbi5wc3dwX19jYXB0aW9uLS1mYWtlIHtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5cbi8qXG5cblx0NS4gTG9hZGluZyBpbmRpY2F0b3IgKHByZWxvYWRlcilcblxuXHRZb3UgY2FuIHBsYXkgd2l0aCBpdCBoZXJlIC0gaHR0cDovL2NvZGVwZW4uaW8vZGltc2VtZW5vdi9wZW4veXlCV29SXG5cbiAqL1xuXG4ucHN3cF9fcHJlbG9hZGVyIHtcblx0d2lkdGg6IDQ0cHg7XG5cdGhlaWdodDogNDRweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLWxlZnQ6IC0yMnB4O1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0OyBcblx0d2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG5cdGRpcmVjdGlvbjogbHRyO1xufVxuXG4ucHN3cF9fcHJlbG9hZGVyX19pY24ge1xuXHR3aWR0aDogMjBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHRtYXJnaW46IDEycHg7XG59XG5cbi5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSB7XG5cdG9wYWNpdHk6IDE7XG5cblx0LnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcblx0XHQvKiBXZSB1c2UgLmdpZiBpbiBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgQ1NTIGFuaW1hdGlvbiAqL1xuXHRcdGJhY2tncm91bmQ6IHVybCgjeyRwc3dwX19hc3NldHMtcGF0aH1wcmVsb2FkZXIuZ2lmKSAwIDAgbm8tcmVwZWF0O1xuXHR9XG59XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIHtcblx0LnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIHtcblx0XHRvcGFjaXR5OiAxO1xuXG5cdFx0LnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcblx0XHRcdGFuaW1hdGlvbjogY2xvY2t3aXNlIDUwMG1zIGxpbmVhciBpbmZpbml0ZTtcblx0XHR9XG5cblx0XHQucHN3cF9fcHJlbG9hZGVyX19kb251dCB7XG5cdFx0XHRhbmltYXRpb246IGRvbnV0LXJvdGF0ZSAxMDAwbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIyLDEpIGluZmluaXRlO1xuXHRcdH1cblx0fVxuXHRcblx0LnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdG9wYWNpdHk6IDAuNzU7XG5cdFx0d2lkdGg6IDE0cHg7XG5cdFx0aGVpZ2h0OiAxNHB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAxNXB4O1xuXHRcdHRvcDogMTVweDtcblx0XHRtYXJnaW46IDA7XG5cdH1cblxuXHRcblx0LnBzd3BfX3ByZWxvYWRlcl9fY3V0IHtcblx0XHQvKiBcblx0XHRcdFRoZSBpZGVhIG9mIGFuaW1hdGluZyBpbm5lciBjaXJjbGUgaXMgYmFzZWQgb24gUG9seW1lciAoXCJtYXRlcmlhbFwiKSBsb2FkaW5nIGluZGljYXRvciBcblx0XHRcdCBieSBLZWFudSBMZWUgaHR0cHM6Ly9ibG9nLmtlYW51bGVlLmNvbS8yMDE0LzEwLzIwL3RoZS10YWxlLW9mLXRocmVlLXNwaW5uZXJzLmh0bWxcblx0XHQqL1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR3aWR0aDogN3B4O1xuXHRcdGhlaWdodDogMTRweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cblx0LnBzd3BfX3ByZWxvYWRlcl9fZG9udXQge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0d2lkdGg6IDE0cHg7XG5cdFx0aGVpZ2h0OiAxNHB4O1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICNGRkY7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cdC5wc3dwX19wcmVsb2FkZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRsZWZ0OiBhdXRvO1xuXHRcdHRvcDogYXV0bztcblx0XHRtYXJnaW46IDA7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgY2xvY2t3aXNlIHtcbiAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIH1cbn1cblxuQGtleWZyYW1lcyBkb251dC1yb3RhdGUge1xuICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDApIH1cbiAgNTAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZykgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMCkgfVxufVxuXG5cbi8qXG5cdFxuXHQ2LiBBZGRpdGlvbmFsIHN0eWxlc1xuXG4gKi9cblxuLyogcm9vdCBlbGVtZW50IG9mIFVJICovXG4ucHN3cF9fdWkge1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRvcGFjaXR5OiAxO1xuXHR6LWluZGV4OiAkcHN3cF9fcm9vdC16LWluZGV4ICsgNTA7XG59XG5cbi8qIHRvcCBibGFjayBiYXIgd2l0aCBidXR0b25zIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvciAqL1xuLnBzd3BfX3RvcC1iYXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0aGVpZ2h0OiA0NHB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnBzd3BfX2NhcHRpb24sXG4ucHN3cF9fdG9wLWJhcixcbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG5cdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyBcblx0d2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgJHBzd3BfX2NvbnRyb2xzLXRyYW5zaXRpb24tZHVyYXRpb24gY3ViaWMtYmV6aWVyKC40LDAsLjIyLDEpO1xufVxuXG4vKiBwc3dwLS1oYXNfbW91c2UgY2xhc3MgaXMgYWRkZWQgb25seSB3aGVuIHR3byBzdWJzZXF1ZW50IG1vdXNlbW92ZSBldmVudHMgb2NjdXIgKi9cbi5wc3dwLS1oYXNfbW91c2Uge1xuXHQucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcblx0LnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9XG59XG5cbi5wc3dwX190b3AtYmFyLFxuLnBzd3BfX2NhcHRpb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNSk7XG59XG5cbi8qIHBzd3BfX3VpLS1maXQgY2xhc3MgaXMgYWRkZWQgd2hlbiBtYWluIGltYWdlIFwiZml0c1wiIGJldHdlZW4gdG9wIGJhciBhbmQgYm90dG9tIGJhciAoY2FwdGlvbikgKi9cbi5wc3dwX191aS0tZml0IHtcblx0LnBzd3BfX3RvcC1iYXIsXG5cdC5wc3dwX19jYXB0aW9uIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMyk7XG5cdH1cbn1cblxuLyogcHN3cF9fdWktLWlkbGUgY2xhc3MgaXMgYWRkZWQgd2hlbiBtb3VzZSBpc24ndCBtb3ZpbmcgZm9yIHNldmVyYWwgc2Vjb25kcyAoSlMgb3B0aW9uIHRpbWVUb0lkbGUpICovXG5cdFxuLnBzd3BfX3VpLS1pZGxlIHtcblx0LnBzd3BfX3RvcC1iYXIgeyBcblx0XHRvcGFjaXR5OiAwOyBcblx0fVxuXG5cdC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuXHQucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuLypcblx0cHN3cF9fdWktLWhpZGRlbiBjbGFzcyBpcyBhZGRlZCB3aGVuIGNvbnRyb2xzIGFyZSBoaWRkZW5cblx0ZS5nLiB3aGVuIHVzZXIgdGFwcyB0byB0b2dnbGUgdmlzaWJpbGl0eSBvZiBjb250cm9sc1xuKi9cbi5wc3dwX191aS0taGlkZGVuIHtcblx0LnBzd3BfX3RvcC1iYXIsXG5cdC5wc3dwX19jYXB0aW9uLFxuXHQucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcblx0LnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcblx0XHQvKiBGb3JjZSBwYWludCAmIGNyZWF0ZSBjb21wb3NpdGlvbiBsYXllciBmb3IgY29udHJvbHMuICovXG5cdFx0b3BhY2l0eTogMC4wMDE7IFxuXHR9XG59XG5cbi8qIHBzd3BfX3VpLS1vbmUtc2xpZGUgY2xhc3MgaXMgYWRkZWQgd2hlbiB0aGVyZSBpcyBqdXN0IG9uZSBpdGVtIGluIGdhbGxlcnkgKi9cbi5wc3dwX191aS0tb25lLXNsaWRlIHtcblx0LnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG5cdC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCxcblx0LnBzd3BfX2NvdW50ZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLnBzd3BfX2VsZW1lbnQtLWRpc2FibGVkIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AaWYgJHBzd3BfX2luY2x1ZGUtbWluaW1hbC1zdHlsZSA9PSB0cnVlIHtcblx0LnBzd3AtLW1pbmltYWwtLWRhcmsge1xuXHRcdC5wc3dwX190b3AtYmFyIHtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCIuc3dhbDItcG9wdXAge1xuICAmLnN3YWwyLXRvYXN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGdyaWQtY29sdW1uOiAxLzQgIWltcG9ydGFudDtcbiAgICBncmlkLXJvdzogMS80ICFpbXBvcnRhbnQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4tY29udGVudCBhdXRvIG1pbi1jb250ZW50O1xuICAgIHBhZGRpbmc6ICRzd2FsMi10b2FzdC1wYWRkaW5nO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAkc3dhbDItdG9hc3QtYmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiAkc3dhbDItdG9hc3QtYm94LXNoYWRvdztcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuXG4gICAgPiAqIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIH1cblxuICAgIC5zd2FsMi10aXRsZSB7XG4gICAgICBtYXJnaW46ICRzd2FsMi10b2FzdC10aXRsZS1tYXJnaW47XG4gICAgICBwYWRkaW5nOiAkc3dhbDItdG9hc3QtdGl0bGUtcGFkZGluZztcbiAgICAgIGZvbnQtc2l6ZTogJHN3YWwyLXRvYXN0LXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLnN3YWwyLWxvYWRpbmcge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnN3YWwyLWlucHV0IHtcbiAgICAgIGhlaWdodDogJHN3YWwyLXRvYXN0LWlucHV0LWhlaWdodDtcbiAgICAgIG1hcmdpbjogJHN3YWwyLXRvYXN0LWlucHV0LW1hcmdpbjtcbiAgICAgIGZvbnQtc2l6ZTogJHN3YWwyLXRvYXN0LWlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAuc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIGZvbnQtc2l6ZTogJHN3YWwyLXRvYXN0LXZhbGlkYXRpb24tZm9udC1zaXplO1xuICAgIH1cblxuICAgIC5zd2FsMi1mb290ZXIge1xuICAgICAgbWFyZ2luOiAkc3dhbDItdG9hc3QtZm9vdGVyLW1hcmdpbjtcbiAgICAgIHBhZGRpbmc6ICRzd2FsMi10b2FzdC1mb290ZXItbWFyZ2luO1xuICAgICAgZm9udC1zaXplOiAkc3dhbDItdG9hc3QtZm9vdGVyLWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICAuc3dhbDItY2xvc2Uge1xuICAgICAgZ3JpZC1jb2x1bW46IDMvMztcbiAgICAgIGdyaWQtcm93OiAxLzk5O1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgd2lkdGg6ICRzd2FsMi10b2FzdC1jbG9zZS1idXR0b24td2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzd2FsMi10b2FzdC1jbG9zZS1idXR0b24taGVpZ2h0O1xuICAgICAgbWFyZ2luOiAkc3dhbDItdG9hc3QtY2xvc2UtYnV0dG9uLW1hcmdpbjtcbiAgICAgIGZvbnQtc2l6ZTogJHN3YWwyLXRvYXN0LWNsb3NlLWJ1dHRvbi1mb250LXNpemU7XG4gICAgfVxuXG4gICAgLnN3YWwyLWh0bWwtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogJHN3YWwyLXRvYXN0LWh0bWwtY29udGFpbmVyLW1hcmdpbjtcbiAgICAgIHBhZGRpbmc6ICRzd2FsMi10b2FzdC1odG1sLWNvbnRhaW5lci1wYWRkaW5nO1xuICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgICBmb250LXNpemU6ICRzd2FsMi10b2FzdC1odG1sLWNvbnRhaW5lci1mb250LXNpemU7XG4gICAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xuXG4gICAgICAmOmVtcHR5IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dhbDItbG9hZGVyIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgZ3JpZC1yb3c6IDEvOTk7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMmVtO1xuICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICBtYXJnaW46IDAuMjVlbTtcbiAgICB9XG5cbiAgICAuc3dhbDItaWNvbiB7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGdyaWQtcm93OiAxLzk5O1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIG1pbi13aWR0aDogMmVtO1xuICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICBtYXJnaW46IDAgMC41ZW0gMCAwO1xuXG4gICAgICAuc3dhbDItaWNvbi1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAkc3dhbDItdG9hc3QtaWNvbi1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuXG4gICAgICAmLnN3YWwyLXN1Y2Nlc3Mge1xuICAgICAgICAuc3dhbDItc3VjY2Vzcy1yaW5nIHtcbiAgICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuc3dhbDItZXJyb3Ige1xuICAgICAgICBbY2xhc3NePSdzd2FsMi14LW1hcmstbGluZSddIHtcbiAgICAgICAgICB0b3A6IDAuODc1ZW07XG4gICAgICAgICAgd2lkdGg6IDEuMzc1ZW07XG5cbiAgICAgICAgICAmW2NsYXNzJD0nbGVmdCddIHtcbiAgICAgICAgICAgIGxlZnQ6IDAuMzEyNWVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICZbY2xhc3MkPSdyaWdodCddIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjMxMjVlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dhbDItYWN0aW9ucyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICAgIHBhZGRpbmc6IDAgMC41ZW07XG4gICAgfVxuXG4gICAgLnN3YWwyLXN0eWxlZCB7XG4gICAgICBtYXJnaW46IDAuMjVlbSAwLjVlbTtcbiAgICAgIHBhZGRpbmc6IDAuNGVtIDAuNmVtO1xuICAgICAgZm9udC1zaXplOiAkc3dhbDItdG9hc3QtYnV0dG9ucy1mb250LXNpemU7XG4gICAgfVxuXG4gICAgLnN3YWwyLXN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkc3dhbDItc3VjY2VzcztcblxuICAgICAgW2NsYXNzXj0nc3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lJ10ge1xuICAgICAgICAvLyBFbXVsYXRlIG1vdmluZyBjaXJjdWxhciBsaW5lXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEuNmVtO1xuICAgICAgICBoZWlnaHQ6IDNlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgICZbY2xhc3MkPSdsZWZ0J10ge1xuICAgICAgICAgIHRvcDogLTAuOGVtO1xuICAgICAgICAgIGxlZnQ6IC0wLjVlbTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDJlbSAyZW07XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNGVtIDAgMCA0ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmW2NsYXNzJD0ncmlnaHQnXSB7XG4gICAgICAgICAgdG9wOiAtMC4yNWVtO1xuICAgICAgICAgIGxlZnQ6IDAuOTM3NWVtO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMS41ZW07XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCA0ZW0gNGVtIDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnN3YWwyLXN1Y2Nlc3MtcmluZyB7XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgfVxuXG4gICAgICAuc3dhbDItc3VjY2Vzcy1maXgge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDAuNDM3NWVtO1xuICAgICAgICB3aWR0aDogMC40Mzc1ZW07XG4gICAgICAgIGhlaWdodDogMi42ODc1ZW07XG4gICAgICB9XG5cbiAgICAgIFtjbGFzc149J3N3YWwyLXN1Y2Nlc3MtbGluZSddIHtcbiAgICAgICAgaGVpZ2h0OiAwLjMxMjVlbTtcblxuICAgICAgICAmW2NsYXNzJD0ndGlwJ10ge1xuICAgICAgICAgIHRvcDogMS4xMjVlbTtcbiAgICAgICAgICBsZWZ0OiAwLjE4NzVlbTtcbiAgICAgICAgICB3aWR0aDogMC43NWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJltjbGFzcyQ9J2xvbmcnXSB7XG4gICAgICAgICAgdG9wOiAwLjkzNzVlbTtcbiAgICAgICAgICByaWdodDogMC4xODc1ZW07XG4gICAgICAgICAgd2lkdGg6IDEuMzc1ZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi1pY29uLXNob3cge1xuICAgICAgICBAaWYgJHN3YWwyLWljb24tYW5pbWF0aW9ucyB7XG4gICAgICAgICAgLnN3YWwyLXN1Y2Nlc3MtbGluZS10aXAge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBzd2FsMi10b2FzdC1hbmltYXRlLXN1Y2Nlc3MtbGluZS10aXAgMC43NXM7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnN3YWwyLXN1Y2Nlc3MtbGluZS1sb25nIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogc3dhbDItdG9hc3QtYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZyAwLjc1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN3YWwyLXNob3cge1xuICAgICAgYW5pbWF0aW9uOiAkc3dhbDItdG9hc3Qtc2hvdy1hbmltYXRpb247XG4gICAgfVxuXG4gICAgJi5zd2FsMi1oaWRlIHtcbiAgICAgIGFuaW1hdGlvbjogJHN3YWwyLXRvYXN0LWhpZGUtYW5pbWF0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiJHN3YWwyLXdoaXRlOiAjZmZmICFkZWZhdWx0O1xuJHN3YWwyLWJsYWNrOiAjMDAwICFkZWZhdWx0O1xuJHN3YWwyLW91dGxpbmUtY29sb3I6IHJnYmEoMTAwLCAxNTAsIDIwMCwgMC41KSAhZGVmYXVsdDtcblxuLy8gQ09OVEFJTkVSXG4kc3dhbDItY29udGFpbmVyLXBhZGRpbmc6IDAuNjI1ZW0gIWRlZmF1bHQ7XG5cbi8vIFBPUFVQXG4kc3dhbDItd2lkdGg6IDMyZW0gIWRlZmF1bHQ7XG4kc3dhbDItcGFkZGluZzogMCAwIDEuMjVlbSAhZGVmYXVsdDtcbiRzd2FsMi1ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kc3dhbDItY29sb3I6IGxpZ2h0ZW4oJHN3YWwyLWJsYWNrLCAzMykgIWRlZmF1bHQ7XG4kc3dhbDItYm9yZGVyLXJhZGl1czogNXB4ICFkZWZhdWx0O1xuJHN3YWwyLWJveC1zaGFkb3c6ICNkOWQ5ZDkgIWRlZmF1bHQ7XG5cbi8vIEFOSU1BVElPTlNcbiRzd2FsMi1zaG93LWFuaW1hdGlvbjogc3dhbDItc2hvdyAwLjNzICFkZWZhdWx0O1xuJHN3YWwyLWhpZGUtYW5pbWF0aW9uOiBzd2FsMi1oaWRlIDAuMTVzIGZvcndhcmRzICFkZWZhdWx0O1xuXG4vLyBCQUNLR1JPVU5EXG4kc3dhbDItYmFja2dyb3VuZDogJHN3YWwyLXdoaXRlICFkZWZhdWx0O1xuXG4vLyBUWVBPR1JBUEhZXG4kc3dhbDItZm9udDogaW5oZXJpdCAhZGVmYXVsdDtcbiRzd2FsMi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIEJBQ0tEUk9QXG4kc3dhbDItYmFja2Ryb3A6IHJnYmEoJHN3YWwyLWJsYWNrLCAwLjQpICFkZWZhdWx0O1xuJHN3YWwyLWJhY2tkcm9wLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyAhZGVmYXVsdDtcblxuLy8gSUNPTlNcbiRzd2FsMi1pY29uLXNpemU6IDVlbSAhZGVmYXVsdDtcbiRzd2FsMi1pY29uLWFuaW1hdGlvbnM6IHRydWUgIWRlZmF1bHQ7XG4kc3dhbDItaWNvbi1tYXJnaW46IDIuNWVtIGF1dG8gMC42ZW0gIWRlZmF1bHQ7XG4kc3dhbDItaWNvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRzd2FsMi1pY29uLWZvbnQtc2l6ZTogMy43NWVtICFkZWZhdWx0O1xuJHN3YWwyLWljb24tYm9yZGVyLWNvbG9yOiAjMDAwICFkZWZhdWx0O1xuJHN3YWwyLWljb24tem9vbTogbnVsbCAhZGVmYXVsdDtcbiRzd2FsMi1zdWNjZXNzOiAjYTVkYzg2ICFkZWZhdWx0O1xuJHN3YWwyLXN1Y2Nlc3MtYm9yZGVyOiByZ2JhKCRzd2FsMi1zdWNjZXNzLCAwLjMpICFkZWZhdWx0O1xuJHN3YWwyLWVycm9yOiAjZjI3NDc0ICFkZWZhdWx0O1xuJHN3YWwyLXdhcm5pbmc6ICNmOGJiODYgIWRlZmF1bHQ7XG4kc3dhbDItaW5mbzogIzNmYzNlZSAhZGVmYXVsdDtcbiRzd2FsMi1xdWVzdGlvbjogIzg3YWRiZCAhZGVmYXVsdDtcblxuLy8gSU1BR0VcbiRzd2FsMi1pbWFnZS1tYXJnaW46IDJlbSBhdXRvIDFlbSAhZGVmYXVsdDtcblxuLy8gVElUTEVcbiRzd2FsMi10aXRsZS1wb3NpdGlvbjogcmVsYXRpdmUgIWRlZmF1bHQ7XG4kc3dhbDItdGl0bGUtbWF4LXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJHN3YWwyLXRpdGxlLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRzd2FsMi10aXRsZS1wYWRkaW5nOiAwLjhlbSAxZW0gMCAhZGVmYXVsdDtcbiRzd2FsMi10aXRsZS1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcbiRzd2FsMi10aXRsZS1mb250LXNpemU6IDEuODc1ZW0gIWRlZmF1bHQ7XG4kc3dhbDItdGl0bGUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRzd2FsMi10aXRsZS10ZXh0LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vIEhUTUwgQ09OVEFJTkVSXG4kc3dhbDItaHRtbC1jb250YWluZXItanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XG4kc3dhbDItaHRtbC1jb250YWluZXItbWFyZ2luOiAwICFkZWZhdWx0O1xuJHN3YWwyLWh0bWwtY29udGFpbmVyLXBhZGRpbmc6IDFlbSAxLjZlbSAwLjNlbSAhZGVmYXVsdDtcbiRzd2FsMi1odG1sLWNvbnRhaW5lci1vdmVyZmxvdzogYXV0byAhZGVmYXVsdDtcbiRzd2FsMi1odG1sLWNvbnRhaW5lci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcbiRzd2FsMi1odG1sLWNvbnRhaW5lci1mb250LXNpemU6IDEuMTI1ZW0gIWRlZmF1bHQ7XG4kc3dhbDItaHRtbC1jb250YWluZXItZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRzd2FsMi1odG1sLWNvbnRhaW5lci1saW5lLWhlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJHN3YWwyLWh0bWwtY29udGFpbmVyLXRleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRzd2FsMi1odG1sLWNvbnRhaW5lci13b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWRlZmF1bHQ7XG4kc3dhbDItaHRtbC1jb250YWluZXItd29yZC1icmVhazogYnJlYWstd29yZCAhZGVmYXVsdDtcblxuLy8gSU5QVVRcbiRzd2FsMi1pbnB1dC1tYXJnaW46IDFlbSAyZW0gM3B4ICFkZWZhdWx0O1xuJHN3YWwyLWlucHV0LXdpZHRoOiBhdXRvICFkZWZhdWx0O1xuJHN3YWwyLWlucHV0LWhlaWdodDogMi42MjVlbSAhZGVmYXVsdDtcbiRzd2FsMi1pbnB1dC1wYWRkaW5nOiAwIDAuNzVlbSAhZGVmYXVsdDtcbiRzd2FsMi1pbnB1dC1ib3JkZXI6IDFweCBzb2xpZCBsaWdodGVuKCRzd2FsMi1ibGFjaywgODUpICFkZWZhdWx0O1xuJHN3YWwyLWlucHV0LWJvcmRlci1yYWRpdXM6IDAuMTg3NWVtICFkZWZhdWx0O1xuJHN3YWwyLWlucHV0LWJveC1zaGFkb3c6XG4gIGluc2V0IDAgMXB4IDFweCByZ2JhKCRzd2FsMi1ibGFjaywgMC4wNiksXG4gIDAgMCAwIDNweCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzd2FsMi1pbnB1dC1mb250LXNpemU6IDEuMTI1ZW0gIWRlZmF1bHQ7XG4kc3dhbDItaW5wdXQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc3dhbDItaW5wdXQtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG4kc3dhbDItaW5wdXQtdHJhbnNpdGlvbjpcbiAgYm9yZGVyLWNvbG9yIDAuMXMsXG4gIGJveC1zaGFkb3cgMC4xcyAhZGVmYXVsdDtcblxuLy8gSU5QVVQ6Rk9DVVNcbiRzd2FsMi1pbnB1dC1mb2N1cy1ib3JkZXI6IDFweCBzb2xpZCAjYjRkYmVkICFkZWZhdWx0O1xuJHN3YWwyLWlucHV0LWZvY3VzLW91dGxpbmU6IG5vbmUgIWRlZmF1bHQ7XG4kc3dhbDItaW5wdXQtZm9jdXMtYm94LXNoYWRvdzpcbiAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJHN3YWwyLWJsYWNrLCAwLjA2KSxcbiAgMCAwIDAgM3B4ICRzd2FsMi1vdXRsaW5lLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBURVhUQVJFQSBTUEVDSUZJQyBWQVJJQUJMRVNcbiRzd2FsMi10ZXh0YXJlYS1oZWlnaHQ6IDYuNzVlbSAhZGVmYXVsdDtcbiRzd2FsMi10ZXh0YXJlYS1wYWRkaW5nOiAwLjc1ZW0gIWRlZmF1bHQ7XG5cbi8vIElOUFVUIExBQkVMXG4kc3dhbDItaW5wdXQtbGFiZWwtbWFyZ2luOiAxZW0gYXV0byAwICFkZWZhdWx0O1xuJHN3YWwyLWlucHV0LWxhYmVsLWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xuXG4vLyBWQUxJREFUSU9OIE1FU1NBR0VcbiRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcbiRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XG4kc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlLW1hcmdpbjogMWVtIDAgMCAhZGVmYXVsdDtcbiRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtcGFkZGluZzogMC42MjVlbSAhZGVmYXVsdDtcbiRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDogbGlnaHRlbigkc3dhbDItYmxhY2ssIDk0KSAhZGVmYXVsdDtcbiRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtY29sb3I6IGxpZ2h0ZW4oJHN3YWwyLWJsYWNrLCA0MCkgIWRlZmF1bHQ7XG4kc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogMWVtICFkZWZhdWx0O1xuJHN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZS1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuJHN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZS1pY29uLWJhY2tncm91bmQ6ICRzd2FsMi1lcnJvciAhZGVmYXVsdDtcbiRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtaWNvbi1jb2xvcjogJHN3YWwyLXdoaXRlICFkZWZhdWx0O1xuJHN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZS1pY29uLXpvb206IG51bGwgIWRlZmF1bHQ7XG5cbi8vIFBST0dSRVNTIFNURVBTXG4kc3dhbDItcHJvZ3Jlc3Mtc3RlcHMtZmxleC13cmFwOiB3cmFwICFkZWZhdWx0O1xuJHN3YWwyLXByb2dyZXNzLXN0ZXBzLWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG4kc3dhbDItcHJvZ3Jlc3Mtc3RlcHMtbWF4LXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJHN3YWwyLXByb2dyZXNzLXN0ZXBzLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHN3YWwyLXByb2dyZXNzLXN0ZXBzLW1hcmdpbjogMS4yNWVtIGF1dG8gIWRlZmF1bHQ7XG4kc3dhbDItcHJvZ3Jlc3Mtc3RlcHMtcGFkZGluZzogMCAhZGVmYXVsdDtcbiRzd2FsMi1wcm9ncmVzcy1zdGVwcy1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuJHN3YWwyLXByb2dyZXNzLXN0ZXBzLWRpc3RhbmNlOiAyLjVlbSAhZGVmYXVsdDtcbiRzd2FsMi1wcm9ncmVzcy1zdGVwLXdpZHRoOiAyZW07XG4kc3dhbDItcHJvZ3Jlc3Mtc3RlcC1oZWlnaHQ6IDJlbTtcbiRzd2FsMi1wcm9ncmVzcy1zdGVwLWJvcmRlci1yYWRpdXM6IDJlbTtcbiRzd2FsMi1wcm9ncmVzcy1zdGVwLWJhY2tncm91bmQ6ICNhZGQ4ZTYgIWRlZmF1bHQ7XG4kc3dhbDItcHJvZ3Jlc3Mtc3RlcC1jb2xvcjogJHN3YWwyLXdoaXRlICFkZWZhdWx0O1xuJHN3YWwyLWFjdGl2ZS1zdGVwLWJhY2tncm91bmQ6ICMyNzc4YzQgIWRlZmF1bHQ7XG4kc3dhbDItYWN0aXZlLXN0ZXAtY29sb3I6ICRzd2FsMi13aGl0ZSAhZGVmYXVsdDtcblxuLy8gRk9PVEVSXG4kc3dhbDItZm9vdGVyLW1hcmdpbjogMWVtIDAgMCAhZGVmYXVsdDtcbiRzd2FsMi1mb290ZXItcGFkZGluZzogMWVtIDFlbSAwICFkZWZhdWx0O1xuJHN3YWwyLWZvb3Rlci1ib3JkZXItY29sb3I6ICNlZWUgIWRlZmF1bHQ7XG4kc3dhbDItZm9vdGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuJHN3YWwyLWZvb3Rlci1mb250LXNpemU6IDFlbSAhZGVmYXVsdDtcbiRzd2FsMi1mb290ZXItdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLyBUSU1FUiBQUk9HUkVTUyBCQVJcbiRzd2FsMi10aW1lci1wcm9ncmVzcy1iYXItaGVpZ2h0OiAwLjI1ZW07XG4kc3dhbDItdGltZXItcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6IHJnYmEoJHN3YWwyLWJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLyBDTE9TRSBCVVRUT05cbiRzd2FsMi1jbG9zZS1idXR0b24tanVzdGlmeS1zZWxmOiBlbmQgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xuJHN3YWwyLWNsb3NlLWJ1dHRvbi13aWR0aDogMS4yZW0gIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLWhlaWdodDogMS4yZW0gIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLXBvc2l0aW9uOiBudWxsICFkZWZhdWx0O1xuJHN3YWwyLWNsb3NlLWJ1dHRvbi1nYXA6IDAgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLXRyYW5zaXRpb246XG4gIGNvbG9yIDAuMXMsXG4gIGJveC1zaGFkb3cgMC4xcyAhZGVmYXVsdDtcbiRzd2FsMi1jbG9zZS1idXR0b24tYm9yZGVyOiBub25lICFkZWZhdWx0O1xuJHN3YWwyLWNsb3NlLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAkc3dhbDItYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRzd2FsMi1jbG9zZS1idXR0b24tb3V0bGluZTogbnVsbCAhZGVmYXVsdDtcbiRzd2FsMi1jbG9zZS1idXR0b24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLWNvbG9yOiAjY2NjICFkZWZhdWx0O1xuJHN3YWwyLWNsb3NlLWJ1dHRvbi1mb250LWZhbWlseTogbW9ub3NwYWNlICFkZWZhdWx0O1xuJHN3YWwyLWNsb3NlLWJ1dHRvbi1mb250LXNpemU6IDIuNWVtICFkZWZhdWx0O1xuJHN3YWwyLWNsb3NlLWJ1dHRvbi1ib3gtc2hhZG93OiBpbnNldCAwIDAgMCAzcHggdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIENMT1NFIEJVVFRPTjpIT1ZFUlxuJHN3YWwyLWNsb3NlLWJ1dHRvbi1ob3Zlci10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLWhvdmVyLWNvbG9yOiAkc3dhbDItZXJyb3IgIWRlZmF1bHQ7XG4kc3dhbDItY2xvc2UtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBDTE9TRSBCVVRUT046Rk9DVVNcbiRzd2FsMi1jbG9zZS1idXR0b24tZm9jdXMtb3V0bGluZTogbm9uZSAhZGVmYXVsdDtcbiRzd2FsMi1jbG9zZS1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgM3B4ICRzd2FsMi1vdXRsaW5lLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBBQ1RJT05TXG4kc3dhbDItYWN0aW9ucy1mbGV4LXdyYXA6IHdyYXAgIWRlZmF1bHQ7XG4kc3dhbDItYWN0aW9ucy1hbGlnbi1pdGVtczogY2VudGVyICFkZWZhdWx0O1xuJHN3YWwyLWFjdGlvbnMtanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XG4kc3dhbDItYWN0aW9ucy13aWR0aDogYXV0byAhZGVmYXVsdDtcbiRzd2FsMi1hY3Rpb25zLW1hcmdpbjogMS4yNWVtIGF1dG8gMCAhZGVmYXVsdDtcbiRzd2FsMi1hY3Rpb25zLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbi8vIENPTU1PTiBWQVJJQUJMRVMgRk9SIEFMTCBBQ1RJT04gQlVUVE9OU1xuJHN3YWwyLWJ1dHRvbi1tYXJnaW46IDAuMzEyNWVtICFkZWZhdWx0O1xuJHN3YWwyLWJ1dHRvbi1wYWRkaW5nOiAwLjYyNWVtIDEuMWVtICFkZWZhdWx0O1xuJHN3YWwyLWJ1dHRvbi10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgIWRlZmF1bHQ7XG4kc3dhbDItYnV0dG9uLWJveC1zaGFkb3c6IDAgMCAwIDNweCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzd2FsMi1idXR0b24tZm9udC13ZWlnaHQ6IDUwMCAhZGVmYXVsdDtcbiRzd2FsMi1idXR0b24tZGFya2VuLWhvdmVyOiByZ2JhKCRzd2FsMi1ibGFjaywgMC4xKSAhZGVmYXVsdDtcbiRzd2FsMi1idXR0b24tZGFya2VuLWFjdGl2ZTogcmdiYSgkc3dhbDItYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG4kc3dhbDItYnV0dG9uLWZvY3VzLW91dGxpbmU6IG5vbmUgIWRlZmF1bHQ7XG4kc3dhbDItYnV0dG9uLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwIDNweCAkc3dhbDItb3V0bGluZS1jb2xvciAhZGVmYXVsdDtcblxuLy8gQ09ORklSTSBCVVRUT05cbiRzd2FsMi1jb25maXJtLWJ1dHRvbi1vcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRzd2FsMi1jb25maXJtLWJ1dHRvbi1ib3JkZXI6IDAgIWRlZmF1bHQ7XG4kc3dhbDItY29uZmlybS1idXR0b24tYm9yZGVyLXJhZGl1czogMC4yNWVtICFkZWZhdWx0O1xuJHN3YWwyLWNvbmZpcm0tYnV0dG9uLWJhY2tncm91bmQtY29sb3I6ICM3MDY2ZTAgIWRlZmF1bHQ7XG4kc3dhbDItY29uZmlybS1idXR0b24tY29sb3I6ICRzd2FsMi13aGl0ZSAhZGVmYXVsdDtcbiRzd2FsMi1jb25maXJtLWJ1dHRvbi1mb250LXNpemU6IDFlbSAhZGVmYXVsdDtcbiRzd2FsMi1jb25maXJtLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgkc3dhbDItY29uZmlybS1idXR0b24tYmFja2dyb3VuZC1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8gREVOWSBCVVRUT05cbiRzd2FsMi1kZW55LWJ1dHRvbi1vcmRlcjogbnVsbCAhZGVmYXVsdDtcbiRzd2FsMi1kZW55LWJ1dHRvbi1ib3JkZXI6IDAgIWRlZmF1bHQ7XG4kc3dhbDItZGVueS1idXR0b24tYm9yZGVyLXJhZGl1czogMC4yNWVtICFkZWZhdWx0O1xuJHN3YWwyLWRlbnktYnV0dG9uLWJhY2tncm91bmQtY29sb3I6ICNkYzM3NDEgIWRlZmF1bHQ7XG4kc3dhbDItZGVueS1idXR0b24tY29sb3I6ICRzd2FsMi13aGl0ZSAhZGVmYXVsdDtcbiRzd2FsMi1kZW55LWJ1dHRvbi1mb250LXNpemU6IDFlbSAhZGVmYXVsdDtcbiRzd2FsMi1kZW55LWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgkc3dhbDItZGVueS1idXR0b24tYmFja2dyb3VuZC1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8gQ0FOQ0VMIEJVVFRPTlxuJHN3YWwyLWNhbmNlbC1idXR0b24tb3JkZXI6IG51bGwgIWRlZmF1bHQ7XG4kc3dhbDItY2FuY2VsLWJ1dHRvbi1ib3JkZXI6IDAgIWRlZmF1bHQ7XG4kc3dhbDItY2FuY2VsLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAwLjI1ZW0gIWRlZmF1bHQ7XG4kc3dhbDItY2FuY2VsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yOiAjNmU3ODgxICFkZWZhdWx0O1xuJHN3YWwyLWNhbmNlbC1idXR0b24tY29sb3I6ICRzd2FsMi13aGl0ZSAhZGVmYXVsdDtcbiRzd2FsMi1jYW5jZWwtYnV0dG9uLWZvbnQtc2l6ZTogMWVtICFkZWZhdWx0O1xuJHN3YWwyLWNhbmNlbC1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoJHN3YWwyLWNhbmNlbC1idXR0b24tYmFja2dyb3VuZC1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8gTE9BREVSXG4kc3dhbDItbG9hZGVyLWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XG4kc3dhbDItbG9hZGVyLWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xuJHN3YWwyLWxvYWRlci13aWR0aDogMi4yZW0gIWRlZmF1bHQ7XG4kc3dhbDItbG9hZGVyLWhlaWdodDogMi4yZW0gIWRlZmF1bHQ7XG4kc3dhbDItbG9hZGVyLW1hcmdpbjogMCAxLjg3NWVtICFkZWZhdWx0O1xuJHN3YWwyLWxvYWRlci1hbmltYXRpb246IHN3YWwyLXJvdGF0ZS1sb2FkaW5nIDEuNXMgbGluZWFyIDBzIGluZmluaXRlIG5vcm1hbCAhZGVmYXVsdDtcbiRzd2FsMi1sb2FkZXItYm9yZGVyLXdpZHRoOiAwLjI1ZW0gIWRlZmF1bHQ7XG4kc3dhbDItbG9hZGVyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kc3dhbDItbG9hZGVyLWJvcmRlci1yYWRpdXM6IDEwMCUgIWRlZmF1bHQ7XG4kc3dhbDItbG9hZGVyLWJvcmRlci1jb2xvcjogIzI3NzhjNCB0cmFuc3BhcmVudCAjMjc3OGM0IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBUT0FTVFNcbiRzd2FsMi10b2FzdC1zaG93LWFuaW1hdGlvbjogc3dhbDItdG9hc3Qtc2hvdyAwLjVzICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWhpZGUtYW5pbWF0aW9uOiBzd2FsMi10b2FzdC1oaWRlIDAuMXMgZm9yd2FyZHMgIWRlZmF1bHQ7XG4kc3dhbDItdG9hc3QtYm9yZGVyOiBub25lICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWJveC1zaGFkb3c6XG4gIDAgMCAxcHggaHNsKDBkZWcgMCUgMCUgLyAwLjA3NSksXG4gIDAgMXB4IDJweCBoc2woMGRlZyAwJSAwJSAvIDAuMDc1KSxcbiAgMXB4IDJweCA0cHggaHNsKDBkZWcgMCUgMCUgLyAwLjA3NSksXG4gIDFweCAzcHggOHB4IGhzbCgwZGVnIDAlIDAlIC8gMC4wNzUpLFxuICAycHggNHB4IDE2cHggaHNsKDBkZWcgMCUgMCUgLyAwLjA3NSkgIWRlZmF1bHQ7XG4kc3dhbDItdG9hc3QtYmFja2dyb3VuZDogJHN3YWwyLXdoaXRlICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWNsb3NlLWJ1dHRvbi13aWR0aDogMC44ZW0gIWRlZmF1bHQ7XG4kc3dhbDItdG9hc3QtY2xvc2UtYnV0dG9uLWhlaWdodDogMC44ZW0gIWRlZmF1bHQ7XG4kc3dhbDItdG9hc3QtY2xvc2UtYnV0dG9uLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC1jbG9zZS1idXR0b24tZm9udC1zaXplOiAyZW0gIWRlZmF1bHQ7XG4kc3dhbDItdG9hc3Qtd2lkdGg6IDM2MHB4ICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LXBhZGRpbmc6IDFlbSAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC10aXRsZS1tYXJnaW46IDAuNWVtIDFlbSAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC10aXRsZS1wYWRkaW5nOiAwICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LXRpdGxlLWZvbnQtc2l6ZTogMWVtICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWljb24tZm9udC1zaXplOiAxLjhlbSAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC1odG1sLWNvbnRhaW5lci1tYXJnaW46IDAuNWVtIDFlbSAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC1odG1sLWNvbnRhaW5lci1wYWRkaW5nOiAwICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWh0bWwtY29udGFpbmVyLWZvbnQtc2l6ZTogMWVtICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWlucHV0LWhlaWdodDogMmVtICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWlucHV0LW1hcmdpbjogMC41ZW0gIWRlZmF1bHQ7XG4kc3dhbDItdG9hc3QtaW5wdXQtZm9udC1zaXplOiAxZW0gIWRlZmF1bHQ7XG4kc3dhbDItdG9hc3QtdmFsaWRhdGlvbi1mb250LXNpemU6IDFlbSAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC1idXR0b25zLWZvbnQtc2l6ZTogMWVtICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWZvb3Rlci1tYXJnaW46IDAuNWVtIDAgMCAhZGVmYXVsdDtcbiRzd2FsMi10b2FzdC1mb290ZXItcGFkZGluZzogMC41ZW0gMCAwICFkZWZhdWx0O1xuJHN3YWwyLXRvYXN0LWZvb3Rlci1mb250LXNpemU6IDAuOGVtICFkZWZhdWx0O1xuIiwiQHVzZSAnc2FzczptYXRoJztcblxuZGl2OndoZXJlKC5zd2FsMi1jb250YWluZXIpIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDYwO1xuICBpbnNldDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAndG9wLXN0YXJ0ICAgICB0b3AgICAgICAgICAgICB0b3AtZW5kJ1xuICAgICdjZW50ZXItc3RhcnQgIGNlbnRlciAgICAgICAgIGNlbnRlci1lbmQnXG4gICAgJ2JvdHRvbS1zdGFydCAgYm90dG9tLWNlbnRlciAgYm90dG9tLWVuZCc7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KG1pbi1jb250ZW50LCBhdXRvKSBtaW5tYXgobWluLWNvbnRlbnQsIGF1dG8pIG1pbm1heChtaW4tY29udGVudCwgYXV0byk7XG4gIGhlaWdodDogMTAwJTsgLy8gU2FmYXJpXG4gIHBhZGRpbmc6ICRzd2FsMi1jb250YWluZXItcGFkZGluZztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiAkc3dhbDItYmFja2Ryb3AtdHJhbnNpdGlvbjtcblxuICAvLyBzd2VldGFsZXJ0Mi9pc3N1ZXMvOTA1XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAmLnN3YWwyLWJhY2tkcm9wLXNob3csXG4gICYuc3dhbDItbm9hbmltYXRpb24ge1xuICAgIGJhY2tncm91bmQ6ICRzd2FsMi1iYWNrZHJvcDtcbiAgfVxuXG4gICYuc3dhbDItYmFja2Ryb3AtaGlkZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxuXG4gICYuc3dhbDItdG9wLXN0YXJ0LFxuICAmLnN3YWwyLWNlbnRlci1zdGFydCxcbiAgJi5zd2FsMi1ib3R0b20tc3RhcnQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgYXV0byBhdXRvO1xuICB9XG5cbiAgJi5zd2FsMi10b3AsXG4gICYuc3dhbDItY2VudGVyLFxuICAmLnN3YWwyLWJvdHRvbSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gIH1cblxuICAmLnN3YWwyLXRvcC1lbmQsXG4gICYuc3dhbDItY2VudGVyLWVuZCxcbiAgJi5zd2FsMi1ib3R0b20tZW5kIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgfVxuXG4gICYuc3dhbDItdG9wLXN0YXJ0ID4gLnN3YWwyLXBvcHVwIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgfVxuXG4gICYuc3dhbDItdG9wID4gLnN3YWwyLXBvcHVwIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBwbGFjZS1zZWxmOiBzdGFydCBjZW50ZXI7XG4gIH1cblxuICAmLnN3YWwyLXRvcC1lbmQgPiAuc3dhbDItcG9wdXAsXG4gICYuc3dhbDItdG9wLXJpZ2h0ID4gLnN3YWwyLXBvcHVwIHtcbiAgICBncmlkLWNvbHVtbjogMztcbiAgICBwbGFjZS1zZWxmOiBzdGFydCBlbmQ7XG4gIH1cblxuICAmLnN3YWwyLWNlbnRlci1zdGFydCA+IC5zd2FsMi1wb3B1cCxcbiAgJi5zd2FsMi1jZW50ZXItbGVmdCA+IC5zd2FsMi1wb3B1cCB7XG4gICAgZ3JpZC1yb3c6IDI7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG5cbiAgJi5zd2FsMi1jZW50ZXIgPiAuc3dhbDItcG9wdXAge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAyO1xuICAgIHBsYWNlLXNlbGY6IGNlbnRlciBjZW50ZXI7XG4gIH1cblxuICAmLnN3YWwyLWNlbnRlci1lbmQgPiAuc3dhbDItcG9wdXAsXG4gICYuc3dhbDItY2VudGVyLXJpZ2h0ID4gLnN3YWwyLXBvcHVwIHtcbiAgICBncmlkLWNvbHVtbjogMztcbiAgICBncmlkLXJvdzogMjtcbiAgICBwbGFjZS1zZWxmOiBjZW50ZXIgZW5kO1xuICB9XG5cbiAgJi5zd2FsMi1ib3R0b20tc3RhcnQgPiAuc3dhbDItcG9wdXAsXG4gICYuc3dhbDItYm90dG9tLWxlZnQgPiAuc3dhbDItcG9wdXAge1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIGdyaWQtcm93OiAzO1xuICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgfVxuXG4gICYuc3dhbDItYm90dG9tID4gLnN3YWwyLXBvcHVwIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMztcbiAgICBwbGFjZS1zZWxmOiBlbmQgY2VudGVyO1xuICB9XG5cbiAgJi5zd2FsMi1ib3R0b20tZW5kID4gLnN3YWwyLXBvcHVwLFxuICAmLnN3YWwyLWJvdHRvbS1yaWdodCA+IC5zd2FsMi1wb3B1cCB7XG4gICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgZ3JpZC1yb3c6IDM7XG4gICAgcGxhY2Utc2VsZjogZW5kIGVuZDtcbiAgfVxuXG4gICYuc3dhbDItZ3Jvdy1yb3cgPiAuc3dhbDItcG9wdXAsXG4gICYuc3dhbDItZ3Jvdy1mdWxsc2NyZWVuID4gLnN3YWwyLXBvcHVwIHtcbiAgICBncmlkLWNvbHVtbjogMS80O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi5zd2FsMi1ncm93LWNvbHVtbiA+IC5zd2FsMi1wb3B1cCxcbiAgJi5zd2FsMi1ncm93LWZ1bGxzY3JlZW4gPiAuc3dhbDItcG9wdXAge1xuICAgIGdyaWQtcm93OiAxLzQ7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgfVxuXG4gICYuc3dhbDItbm8tdHJhbnNpdGlvbiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgZGl2OndoZXJlKC5zd2FsMi1wb3B1cCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMTAwJSk7XG4gICAgd2lkdGg6ICRzd2FsMi13aWR0aDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogJHN3YWwyLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkc3dhbDItYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2FsMi1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2FsMi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3dhbDItY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRzd2FsMi1mb250O1xuICAgIGZvbnQtc2l6ZTogJHN3YWwyLWZvbnQtc2l6ZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnN3YWwyLWxvYWRpbmcge1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIGgyOndoZXJlKC5zd2FsMi10aXRsZSkge1xuICAgIHBvc2l0aW9uOiAkc3dhbDItdGl0bGUtcG9zaXRpb247XG4gICAgbWF4LXdpZHRoOiAkc3dhbDItdGl0bGUtbWF4LXdpZHRoO1xuICAgIG1hcmdpbjogJHN3YWwyLXRpdGxlLW1hcmdpbjtcbiAgICBwYWRkaW5nOiAkc3dhbDItdGl0bGUtcGFkZGluZztcbiAgICBjb2xvcjogJHN3YWwyLXRpdGxlLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHN3YWwyLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHN3YWwyLXRpdGxlLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtYWxpZ246ICRzd2FsMi10aXRsZS10ZXh0LWFsaWduO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgfVxuXG4gIGRpdjp3aGVyZSguc3dhbDItYWN0aW9ucykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgei1pbmRleDogMTsgLy8gcHJldmVudCBzdWNjZXNzIGljb24gZnJvbSBvdmVybGFwcGluZyBidXR0b25zXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmbGV4LXdyYXA6ICRzd2FsMi1hY3Rpb25zLWZsZXgtd3JhcDtcbiAgICBhbGlnbi1pdGVtczogJHN3YWwyLWFjdGlvbnMtYWxpZ24taXRlbXM7XG4gICAganVzdGlmeS1jb250ZW50OiAkc3dhbDItYWN0aW9ucy1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgd2lkdGg6ICRzd2FsMi1hY3Rpb25zLXdpZHRoO1xuICAgIG1hcmdpbjogJHN3YWwyLWFjdGlvbnMtbWFyZ2luO1xuICAgIHBhZGRpbmc6ICRzd2FsMi1hY3Rpb25zLXBhZGRpbmc7XG5cbiAgICAmOm5vdCguc3dhbDItbG9hZGluZykge1xuICAgICAgLnN3YWwyLXN0eWxlZCB7XG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN3YWwyLWJ1dHRvbi1kYXJrZW4taG92ZXIsICRzd2FsMi1idXR0b24tZGFya2VuLWhvdmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN3YWwyLWJ1dHRvbi1kYXJrZW4tYWN0aXZlLCAkc3dhbDItYnV0dG9uLWRhcmtlbi1hY3RpdmUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGl2OndoZXJlKC5zd2FsMi1sb2FkZXIpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiAkc3dhbDItbG9hZGVyLWFsaWduLWl0ZW1zO1xuICAgIGp1c3RpZnktY29udGVudDogJHN3YWwyLWxvYWRlci1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgd2lkdGg6ICRzd2FsMi1sb2FkZXItd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dhbDItbG9hZGVyLWhlaWdodDtcbiAgICBtYXJnaW46ICRzd2FsMi1sb2FkZXItbWFyZ2luO1xuICAgIGFuaW1hdGlvbjogJHN3YWwyLWxvYWRlci1hbmltYXRpb247XG4gICAgYm9yZGVyLXdpZHRoOiAkc3dhbDItbG9hZGVyLWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItc3R5bGU6ICRzd2FsMi1sb2FkZXItYm9yZGVyLXN0eWxlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2FsMi1sb2FkZXItYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItY29sb3I6ICRzd2FsMi1sb2FkZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgYnV0dG9uOndoZXJlKC5zd2FsMi1zdHlsZWQpIHtcbiAgICBtYXJnaW46ICRzd2FsMi1idXR0b24tbWFyZ2luO1xuICAgIHBhZGRpbmc6ICRzd2FsMi1idXR0b24tcGFkZGluZztcbiAgICB0cmFuc2l0aW9uOiAkc3dhbDItYnV0dG9uLXRyYW5zaXRpb247XG4gICAgYm94LXNoYWRvdzogJHN3YWwyLWJ1dHRvbi1ib3gtc2hhZG93O1xuICAgIGZvbnQtd2VpZ2h0OiAkc3dhbDItYnV0dG9uLWZvbnQtd2VpZ2h0O1xuXG4gICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6d2hlcmUoLnN3YWwyLWNvbmZpcm0pIHtcbiAgICAgIG9yZGVyOiAkc3dhbDItY29uZmlybS1idXR0b24tb3JkZXI7XG4gICAgICBib3JkZXI6ICRzd2FsMi1jb25maXJtLWJ1dHRvbi1ib3JkZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc3dhbDItY29uZmlybS1idXR0b24tYm9yZGVyLXJhZGl1cztcbiAgICAgIGJhY2tncm91bmQ6IGluaXRpYWw7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3dhbDItY29uZmlybS1idXR0b24tYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGNvbG9yOiAkc3dhbDItY29uZmlybS1idXR0b24tY29sb3I7XG4gICAgICBmb250LXNpemU6ICRzd2FsMi1jb25maXJtLWJ1dHRvbi1mb250LXNpemU7XG5cbiAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRzd2FsMi1jb25maXJtLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6d2hlcmUoLnN3YWwyLWRlbnkpIHtcbiAgICAgIG9yZGVyOiAkc3dhbDItZGVueS1idXR0b24tb3JkZXI7XG4gICAgICBib3JkZXI6ICRzd2FsMi1kZW55LWJ1dHRvbi1ib3JkZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc3dhbDItZGVueS1idXR0b24tYm9yZGVyLXJhZGl1cztcbiAgICAgIGJhY2tncm91bmQ6IGluaXRpYWw7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3dhbDItZGVueS1idXR0b24tYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGNvbG9yOiAkc3dhbDItZGVueS1idXR0b24tY29sb3I7XG4gICAgICBmb250LXNpemU6ICRzd2FsMi1kZW55LWJ1dHRvbi1mb250LXNpemU7XG5cbiAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRzd2FsMi1kZW55LWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6d2hlcmUoLnN3YWwyLWNhbmNlbCkge1xuICAgICAgb3JkZXI6ICRzd2FsMi1jYW5jZWwtYnV0dG9uLW9yZGVyO1xuICAgICAgYm9yZGVyOiAkc3dhbDItY2FuY2VsLWJ1dHRvbi1ib3JkZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc3dhbDItY2FuY2VsLWJ1dHRvbi1ib3JkZXItcmFkaXVzO1xuICAgICAgYmFja2dyb3VuZDogaW5pdGlhbDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzd2FsMi1jYW5jZWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3I7XG4gICAgICBjb2xvcjogJHN3YWwyLWNhbmNlbC1idXR0b24tY29sb3I7XG4gICAgICBmb250LXNpemU6ICRzd2FsMi1jYW5jZWwtYnV0dG9uLWZvbnQtc2l6ZTtcblxuICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYm94LXNoYWRvdzogJHN3YWwyLWNhbmNlbC1idXR0b24tZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN3YWwyLWRlZmF1bHQtb3V0bGluZSB7XG4gICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBib3gtc2hhZG93OiAkc3dhbDItYnV0dG9uLWZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6ICRzd2FsMi1idXR0b24tZm9jdXMtb3V0bGluZTtcbiAgICB9XG5cbiAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICBkaXY6d2hlcmUoLnN3YWwyLWZvb3Rlcikge1xuICAgIG1hcmdpbjogJHN3YWwyLWZvb3Rlci1tYXJnaW47XG4gICAgcGFkZGluZzogJHN3YWwyLWZvb3Rlci1wYWRkaW5nO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkc3dhbDItZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgICBjb2xvcjogJHN3YWwyLWZvb3Rlci1jb2xvcjtcbiAgICBmb250LXNpemU6ICRzd2FsMi1mb290ZXItZm9udC1zaXplO1xuICAgIHRleHQtYWxpZ246ICRzd2FsMi1mb290ZXItdGV4dC1hbGlnbjtcbiAgfVxuXG4gIC5zd2FsMi10aW1lci1wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZ3JpZC1jb2x1bW46IGF1dG8gIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkc3dhbDItYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkc3dhbDItYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIGRpdjp3aGVyZSguc3dhbDItdGltZXItcHJvZ3Jlc3MtYmFyKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkc3dhbDItdGltZXItcHJvZ3Jlc3MtYmFyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkc3dhbDItdGltZXItcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICBpbWc6d2hlcmUoLnN3YWwyLWltYWdlKSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogJHN3YWwyLWltYWdlLW1hcmdpbjtcbiAgfVxuXG4gIGJ1dHRvbjp3aGVyZSguc3dhbDItY2xvc2UpIHtcbiAgICBwb3NpdGlvbjogJHN3YWwyLWNsb3NlLWJ1dHRvbi1wb3NpdGlvbjtcbiAgICB6LWluZGV4OiAyOyAvLyBzd2VldGFsZXJ0Mi9pc3N1ZXMvMTYxN1xuICAgIGFsaWduLWl0ZW1zOiAkc3dhbDItY2xvc2UtYnV0dG9uLWFsaWduLWl0ZW1zO1xuICAgIGp1c3RpZnktY29udGVudDogJHN3YWwyLWNsb3NlLWJ1dHRvbi1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgd2lkdGg6ICRzd2FsMi1jbG9zZS1idXR0b24td2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dhbDItY2xvc2UtYnV0dG9uLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAkc3dhbDItY2xvc2UtYnV0dG9uLWdhcDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzd2FsMi1jbG9zZS1idXR0b24tZ2FwO1xuICAgIG1hcmdpbi1ib3R0b206IC0kc3dhbDItY2xvc2UtYnV0dG9uLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkc3dhbDItY2xvc2UtYnV0dG9uLXBhZGRpbmc7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiAkc3dhbDItY2xvc2UtYnV0dG9uLXRyYW5zaXRpb247XG4gICAgYm9yZGVyOiAkc3dhbDItY2xvc2UtYnV0dG9uLWJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dhbDItY2xvc2UtYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgb3V0bGluZTogJHN3YWwyLWNsb3NlLWJ1dHRvbi1vdXRsaW5lO1xuICAgIGJhY2tncm91bmQ6ICRzd2FsMi1jbG9zZS1idXR0b24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN3YWwyLWNsb3NlLWJ1dHRvbi1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJHN3YWwyLWNsb3NlLWJ1dHRvbi1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRzd2FsMi1jbG9zZS1idXR0b24tZm9udC1zaXplO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBqdXN0aWZ5LXNlbGY6ICRzd2FsMi1jbG9zZS1idXR0b24tanVzdGlmeS1zZWxmO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06ICRzd2FsMi1jbG9zZS1idXR0b24taG92ZXItdHJhbnNmb3JtO1xuICAgICAgYmFja2dyb3VuZDogJHN3YWwyLWNsb3NlLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICRzd2FsMi1jbG9zZS1idXR0b24taG92ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6ICRzd2FsMi1jbG9zZS1idXR0b24tZm9jdXMtb3V0bGluZTtcbiAgICAgIGJveC1zaGFkb3c6ICRzd2FsMi1jbG9zZS1idXR0b24tZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG5cbiAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAuc3dhbDItaHRtbC1jb250YWluZXIge1xuICAgIHotaW5kZXg6IDE7IC8vIHByZXZlbnQgc3VjY2VzcyBpY29uIG92ZXJsYXBwaW5nIHRoZSBjb250ZW50XG4gICAganVzdGlmeS1jb250ZW50OiAkc3dhbDItaHRtbC1jb250YWluZXItanVzdGlmeS1jb250ZW50O1xuICAgIG1hcmdpbjogJHN3YWwyLWh0bWwtY29udGFpbmVyLW1hcmdpbjtcbiAgICBwYWRkaW5nOiAkc3dhbDItaHRtbC1jb250YWluZXItcGFkZGluZztcbiAgICBvdmVyZmxvdzogJHN3YWwyLWh0bWwtY29udGFpbmVyLW92ZXJmbG93O1xuICAgIGNvbG9yOiAkc3dhbDItaHRtbC1jb250YWluZXItY29sb3I7XG4gICAgZm9udC1zaXplOiAkc3dhbDItaHRtbC1jb250YWluZXItZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkc3dhbDItaHRtbC1jb250YWluZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzd2FsMi1odG1sLWNvbnRhaW5lci1saW5lLWhlaWdodDtcbiAgICB0ZXh0LWFsaWduOiAkc3dhbDItaHRtbC1jb250YWluZXItdGV4dC1hbGlnbjtcbiAgICB3b3JkLXdyYXA6ICRzd2FsMi1odG1sLWNvbnRhaW5lci13b3JkLXdyYXA7XG4gICAgd29yZC1icmVhazogJHN3YWwyLWh0bWwtY29udGFpbmVyLXdvcmQtYnJlYWs7XG4gIH1cblxuICBpbnB1dDp3aGVyZSguc3dhbDItaW5wdXQpLFxuICBpbnB1dDp3aGVyZSguc3dhbDItZmlsZSksXG4gIHRleHRhcmVhOndoZXJlKC5zd2FsMi10ZXh0YXJlYSksXG4gIHNlbGVjdDp3aGVyZSguc3dhbDItc2VsZWN0KSxcbiAgZGl2OndoZXJlKC5zd2FsMi1yYWRpbyksXG4gIGxhYmVsOndoZXJlKC5zd2FsMi1jaGVja2JveCkge1xuICAgIG1hcmdpbjogJHN3YWwyLWlucHV0LW1hcmdpbjtcbiAgfVxuXG4gIGlucHV0OndoZXJlKC5zd2FsMi1pbnB1dCksXG4gIGlucHV0OndoZXJlKC5zd2FsMi1maWxlKSxcbiAgdGV4dGFyZWE6d2hlcmUoLnN3YWwyLXRleHRhcmVhKSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJHN3YWwyLWlucHV0LXdpZHRoO1xuICAgIHRyYW5zaXRpb246ICRzd2FsMi1pbnB1dC10cmFuc2l0aW9uO1xuICAgIGJvcmRlcjogJHN3YWwyLWlucHV0LWJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dhbDItaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dhbDItaW5wdXQtYmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiAkc3dhbDItaW5wdXQtYm94LXNoYWRvdztcbiAgICBjb2xvcjogJHN3YWwyLWlucHV0LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHN3YWwyLWlucHV0LWZvbnQtc2l6ZTtcblxuICAgICYuc3dhbDItaW5wdXRlcnJvciB7XG4gICAgICBib3JkZXItY29sb3I6ICRzd2FsMi1lcnJvciAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDJweCAkc3dhbDItZXJyb3IgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogJHN3YWwyLWlucHV0LWZvY3VzLWJvcmRlcjtcbiAgICAgIG91dGxpbmU6ICRzd2FsMi1pbnB1dC1mb2N1cy1vdXRsaW5lO1xuICAgICAgYm94LXNoYWRvdzogJHN3YWwyLWlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNjY2M7XG4gICAgfVxuICB9XG5cbiAgLnN3YWwyLXJhbmdlIHtcbiAgICBtYXJnaW46ICRzd2FsMi1pbnB1dC1tYXJnaW47XG4gICAgYmFja2dyb3VuZDogJHN3YWwyLWJhY2tncm91bmQ7XG5cbiAgICBpbnB1dCB7XG4gICAgICB3aWR0aDogODAlO1xuICAgIH1cblxuICAgIG91dHB1dCB7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgY29sb3I6ICRzd2FsMi1pbnB1dC1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgb3V0cHV0IHtcbiAgICAgIGhlaWdodDogJHN3YWwyLWlucHV0LWhlaWdodDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6ICRzd2FsMi1pbnB1dC1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJHN3YWwyLWlucHV0LWhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuc3dhbDItaW5wdXQge1xuICAgIGhlaWdodDogJHN3YWwyLWlucHV0LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkc3dhbDItaW5wdXQtcGFkZGluZztcbiAgfVxuXG4gIC5zd2FsMi1maWxlIHtcbiAgICB3aWR0aDogNzUlO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiAkc3dhbDItaW5wdXQtYmFja2dyb3VuZDtcbiAgICBmb250LXNpemU6ICRzd2FsMi1pbnB1dC1mb250LXNpemU7XG4gIH1cblxuICAuc3dhbDItdGV4dGFyZWEge1xuICAgIGhlaWdodDogJHN3YWwyLXRleHRhcmVhLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkc3dhbDItdGV4dGFyZWEtcGFkZGluZztcbiAgfVxuXG4gIC5zd2FsMi1zZWxlY3Qge1xuICAgIG1pbi13aWR0aDogNTAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjM3NWVtIDAuNjI1ZW07XG4gICAgYmFja2dyb3VuZDogJHN3YWwyLWlucHV0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzd2FsMi1pbnB1dC1jb2xvcjtcbiAgICBmb250LXNpemU6ICRzd2FsMi1pbnB1dC1mb250LXNpemU7XG4gIH1cblxuICAuc3dhbDItcmFkaW8sXG4gIC5zd2FsMi1jaGVja2JveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkc3dhbDItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN3YWwyLWlucHV0LWNvbG9yO1xuXG4gICAgbGFiZWwge1xuICAgICAgbWFyZ2luOiAwIDAuNmVtO1xuICAgICAgZm9udC1zaXplOiAkc3dhbDItaW5wdXQtZm9udC1zaXplO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luOiAwIDAuNGVtO1xuICAgIH1cbiAgfVxuXG4gIGxhYmVsOndoZXJlKC5zd2FsMi1pbnB1dC1sYWJlbCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiAkc3dhbDItaW5wdXQtbGFiZWwtanVzdGlmeS1jb250ZW50O1xuICAgIG1hcmdpbjogJHN3YWwyLWlucHV0LWxhYmVsLW1hcmdpbjtcbiAgfVxuXG4gIGRpdjp3aGVyZSguc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlKSB7XG4gICAgYWxpZ24taXRlbXM6ICRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtYWxpZ24taXRlbXM7XG4gICAganVzdGlmeS1jb250ZW50OiAkc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlLWp1c3RpZnktY29udGVudDtcbiAgICBtYXJnaW46ICRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtbWFyZ2luO1xuICAgIHBhZGRpbmc6ICRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtcGFkZGluZztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlLWZvbnQtd2VpZ2h0O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICchJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgIG1pbi13aWR0aDogMS41ZW07XG4gICAgICBoZWlnaHQ6IDEuNWVtO1xuICAgICAgbWFyZ2luOiAwIDAuNjI1ZW07XG4gICAgICB6b29tOiAkc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlLWljb24tem9vbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtaWNvbi1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICRzd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2UtaWNvbi1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLnN3YWwyLXByb2dyZXNzLXN0ZXBzIHtcbiAgICBmbGV4LXdyYXA6ICRzd2FsMi1wcm9ncmVzcy1zdGVwcy1mbGV4LXdyYXA7XG4gICAgYWxpZ24taXRlbXM6ICRzd2FsMi1wcm9ncmVzcy1zdGVwcy1hbGlnbi1pdGVtcztcbiAgICBtYXgtd2lkdGg6ICRzd2FsMi1wcm9ncmVzcy1zdGVwcy1tYXgtd2lkdGg7XG4gICAgbWFyZ2luOiAkc3dhbDItcHJvZ3Jlc3Mtc3RlcHMtbWFyZ2luO1xuICAgIHBhZGRpbmc6ICRzd2FsMi1wcm9ncmVzcy1zdGVwcy1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRzd2FsMi1wcm9ncmVzcy1zdGVwcy1iYWNrZ3JvdW5kO1xuICAgIGZvbnQtd2VpZ2h0OiAkc3dhbDItcHJvZ3Jlc3Mtc3RlcHMtZm9udC13ZWlnaHQ7XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnN3YWwyLXByb2dyZXNzLXN0ZXAge1xuICAgICAgei1pbmRleDogMjA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHdpZHRoOiAkc3dhbDItcHJvZ3Jlc3Mtc3RlcC13aWR0aDtcbiAgICAgIGhlaWdodDogJHN3YWwyLXByb2dyZXNzLXN0ZXAtaGVpZ2h0O1xuICAgICAgYm9yZGVyLXJhZGl1czogJHN3YWwyLXByb2dyZXNzLXN0ZXAtYm9yZGVyLXJhZGl1cztcbiAgICAgIGJhY2tncm91bmQ6ICRzd2FsMi1hY3RpdmUtc3RlcC1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICRzd2FsMi1hY3RpdmUtc3RlcC1jb2xvcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkc3dhbDItcHJvZ3Jlc3Mtc3RlcC1oZWlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICYuc3dhbDItYWN0aXZlLXByb2dyZXNzLXN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc3dhbDItYWN0aXZlLXN0ZXAtYmFja2dyb3VuZDtcblxuICAgICAgICB+IC5zd2FsMi1wcm9ncmVzcy1zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkc3dhbDItcHJvZ3Jlc3Mtc3RlcC1iYWNrZ3JvdW5kO1xuICAgICAgICAgIGNvbG9yOiAkc3dhbDItcHJvZ3Jlc3Mtc3RlcC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIH4gLnN3YWwyLXByb2dyZXNzLXN0ZXAtbGluZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHN3YWwyLXByb2dyZXNzLXN0ZXAtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2FsMi1wcm9ncmVzcy1zdGVwLWxpbmUge1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHdpZHRoOiAkc3dhbDItcHJvZ3Jlc3Mtc3RlcHMtZGlzdGFuY2U7XG4gICAgICBoZWlnaHQ6IDAuNGVtO1xuICAgICAgbWFyZ2luOiAwIC0xcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkc3dhbDItYWN0aXZlLXN0ZXAtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuQGltcG9ydCAnaWNvbnMnO1xuXG4vLyBnaXRodWIuY29tL3N3ZWV0YWxlcnQyL3N3ZWV0YWxlcnQyL2lzc3Vlcy8yNjhcbltjbGFzc149J3N3YWwyJ10ge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc3dhbDItc2hvdyB7XG4gIGFuaW1hdGlvbjogJHN3YWwyLXNob3ctYW5pbWF0aW9uO1xufVxuXG4uc3dhbDItaGlkZSB7XG4gIGFuaW1hdGlvbjogJHN3YWwyLWhpZGUtYW5pbWF0aW9uO1xufVxuXG4uc3dhbDItbm9hbmltYXRpb24ge1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5zd2FsMi1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBSaWdodC10by1sZWZ0IHN1cHBvcnRcbi5zd2FsMi1ydGwge1xuICAuc3dhbDItY2xvc2Uge1xuICAgIG1hcmdpbi1yaWdodDogaW5pdGlhbDtcbiAgICBtYXJnaW4tbGVmdDogJHN3YWwyLWNsb3NlLWJ1dHRvbi1nYXA7XG4gIH1cblxuICAuc3dhbDItdGltZXItcHJvZ3Jlc3MtYmFyIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG4iLCIvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTIzMzU4NDEvMTMzMTQyNVxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCRudW1iZXIpIHtcbiAgQHJldHVybiBtYXRoLmRpdigkbnVtYmVyLCAoJG51bWJlciAqIDAgKyAxKSk7XG59XG4kaWNvbi16b29tOiBtYXRoLmRpdihzdHJpcC11bml0cygkc3dhbDItaWNvbi1zaXplKSwgNSk7XG5cbmRpdjp3aGVyZSguc3dhbDItaWNvbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6ICRzd2FsMi1pY29uLXNpemU7XG4gIGhlaWdodDogJHN3YWwyLWljb24tc2l6ZTtcbiAgbWFyZ2luOiAkc3dhbDItaWNvbi1tYXJnaW47XG4gIHpvb206ICRzd2FsMi1pY29uLXpvb207XG4gIGJvcmRlcjogI3swLjI1ZW0gKiAkaWNvbi16b29tfSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItY29sb3I6ICRzd2FsMi1pY29uLWJvcmRlci1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRzd2FsMi1pY29uLWZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogJHN3YWwyLWljb24tc2l6ZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAuc3dhbDItaWNvbi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAkc3dhbDItaWNvbi1mb250LXNpemU7XG4gIH1cblxuICAmLnN3YWwyLWVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICRzd2FsMi1lcnJvcjtcbiAgICBjb2xvcjogJHN3YWwyLWVycm9yO1xuXG4gICAgLnN3YWwyLXgtbWFyayB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgIEBpZiAkaWNvbi16b29tICE9IDEge1xuICAgICAgICB6b29tOiAkaWNvbi16b29tO1xuICAgICAgfVxuICAgIH1cblxuICAgIFtjbGFzc149J3N3YWwyLXgtbWFyay1saW5lJ10ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDIuMzEyNWVtO1xuICAgICAgd2lkdGg6IDIuOTM3NWVtO1xuICAgICAgaGVpZ2h0OiAwLjMxMjVlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1ZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3dhbDItZXJyb3I7XG5cbiAgICAgICZbY2xhc3MkPSdsZWZ0J10ge1xuICAgICAgICBsZWZ0OiAxLjA2MjVlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgfVxuXG4gICAgICAmW2NsYXNzJD0ncmlnaHQnXSB7XG4gICAgICAgIHJpZ2h0OiAxZW07XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXJyb3IgaWNvbiBhbmltYXRpb25cbiAgICAmLnN3YWwyLWljb24tc2hvdyB7XG4gICAgICBAaWYgJHN3YWwyLWljb24tYW5pbWF0aW9ucyB7XG4gICAgICAgIGFuaW1hdGlvbjogc3dhbDItYW5pbWF0ZS1lcnJvci1pY29uIDAuNXM7XG5cbiAgICAgICAgLnN3YWwyLXgtbWFyayB7XG4gICAgICAgICAgYW5pbWF0aW9uOiBzd2FsMi1hbmltYXRlLWVycm9yLXgtbWFyayAwLjVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zd2FsMi13YXJuaW5nIHtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJHN3YWwyLXdhcm5pbmcsIDcpO1xuICAgIGNvbG9yOiAkc3dhbDItd2FybmluZztcblxuICAgIC8vIFdhcm5pbmcgaWNvbiBhbmltYXRpb25cbiAgICAmLnN3YWwyLWljb24tc2hvdyB7XG4gICAgICBAaWYgJHN3YWwyLWljb24tYW5pbWF0aW9ucyB7XG4gICAgICAgIGFuaW1hdGlvbjogc3dhbDItYW5pbWF0ZS1lcnJvci1pY29uIDAuNXM7XG5cbiAgICAgICAgLnN3YWwyLWljb24tY29udGVudCB7XG4gICAgICAgICAgYW5pbWF0aW9uOiBzd2FsMi1hbmltYXRlLWktbWFyayAwLjVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zd2FsMi1pbmZvIHtcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJHN3YWwyLWluZm8sIDIwKTtcbiAgICBjb2xvcjogJHN3YWwyLWluZm87XG5cbiAgICAvLyBJbmZvIGljb24gYW5pbWF0aW9uXG4gICAgJi5zd2FsMi1pY29uLXNob3cge1xuICAgICAgQGlmICRzd2FsMi1pY29uLWFuaW1hdGlvbnMge1xuICAgICAgICBhbmltYXRpb246IHN3YWwyLWFuaW1hdGUtZXJyb3ItaWNvbiAwLjVzO1xuXG4gICAgICAgIC5zd2FsMi1pY29uLWNvbnRlbnQge1xuICAgICAgICAgIGFuaW1hdGlvbjogc3dhbDItYW5pbWF0ZS1pLW1hcmsgMC44cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc3dhbDItcXVlc3Rpb24ge1xuICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkc3dhbDItcXVlc3Rpb24sIDIwKTtcbiAgICBjb2xvcjogJHN3YWwyLXF1ZXN0aW9uO1xuXG4gICAgLy8gUXVlc3Rpb24gaWNvbiBhbmltYXRpb25cbiAgICAmLnN3YWwyLWljb24tc2hvdyB7XG4gICAgICBAaWYgJHN3YWwyLWljb24tYW5pbWF0aW9ucyB7XG4gICAgICAgIGFuaW1hdGlvbjogc3dhbDItYW5pbWF0ZS1lcnJvci1pY29uIDAuNXM7XG5cbiAgICAgICAgLnN3YWwyLWljb24tY29udGVudCB7XG4gICAgICAgICAgYW5pbWF0aW9uOiBzd2FsMi1hbmltYXRlLXF1ZXN0aW9uLW1hcmsgMC44cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc3dhbDItc3VjY2VzcyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc3dhbDItc3VjY2VzcztcbiAgICBjb2xvcjogJHN3YWwyLXN1Y2Nlc3M7XG5cbiAgICBbY2xhc3NePSdzd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmUnXSB7XG4gICAgICAvLyBFbXVsYXRlIG1vdmluZyBjaXJjdWxhciBsaW5lXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMy43NWVtO1xuICAgICAgaGVpZ2h0OiA3LjVlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgJltjbGFzcyQ9J2xlZnQnXSB7XG4gICAgICAgIHRvcDogLTAuNDM3NWVtO1xuICAgICAgICBsZWZ0OiAtMi4wNjM1ZW07XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDMuNzVlbSAzLjc1ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDcuNWVtIDAgMCA3LjVlbTtcblxuICAgICAgICBAaWYgJGljb24tem9vbSAhPSAxIHtcbiAgICAgICAgICB6b29tOiAkaWNvbi16b29tO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZbY2xhc3MkPSdyaWdodCddIHtcbiAgICAgICAgdG9wOiAtMC42ODc1ZW07XG4gICAgICAgIGxlZnQ6IDEuODc1ZW07XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMy43NWVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDcuNWVtIDcuNWVtIDA7XG5cbiAgICAgICAgQGlmICRpY29uLXpvb20gIT0gMSB7XG4gICAgICAgICAgem9vbTogJGljb24tem9vbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2FsMi1zdWNjZXNzLXJpbmcge1xuICAgICAgLy8gUmluZ1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHRvcDogLTAuMjVlbTtcbiAgICAgIGxlZnQ6IC0wLjI1ZW07XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyOiAwLjI1ZW0gc29saWQgJHN3YWwyLXN1Y2Nlc3MtYm9yZGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICBAaWYgJGljb24tem9vbSAhPSAxIHtcbiAgICAgICAgem9vbTogJGljb24tem9vbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dhbDItc3VjY2Vzcy1maXgge1xuICAgICAgLy8gSGlkZSBjb3JuZXJzIGxlZnQgZnJvbSBhbmltYXRpb25cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0b3A6IDAuNWVtO1xuICAgICAgbGVmdDogMS42MjVlbTtcbiAgICAgIHdpZHRoOiAwLjQzNzVlbTtcbiAgICAgIGhlaWdodDogNS42MjVlbTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgIEBpZiAkaWNvbi16b29tICE9IDEge1xuICAgICAgICB6b29tOiAkaWNvbi16b29tO1xuICAgICAgfVxuICAgIH1cblxuICAgIFtjbGFzc149J3N3YWwyLXN1Y2Nlc3MtbGluZSddIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGhlaWdodDogMC4zMTI1ZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjEyNWVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN3YWwyLXN1Y2Nlc3M7XG5cbiAgICAgICZbY2xhc3MkPSd0aXAnXSB7XG4gICAgICAgIHRvcDogMi44NzVlbTtcbiAgICAgICAgbGVmdDogMC44MTI1ZW07XG4gICAgICAgIHdpZHRoOiAxLjU2MjVlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgfVxuXG4gICAgICAmW2NsYXNzJD0nbG9uZyddIHtcbiAgICAgICAgdG9wOiAyLjM3NWVtO1xuICAgICAgICByaWdodDogMC41ZW07XG4gICAgICAgIHdpZHRoOiAyLjkzNzVlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRpY29uLXpvb20gIT0gMSB7XG4gICAgICAgIHpvb206ICRpY29uLXpvb207XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3VjY2VzcyBpY29uIGFuaW1hdGlvblxuICAgICYuc3dhbDItaWNvbi1zaG93IHtcbiAgICAgIEBpZiAkc3dhbDItaWNvbi1hbmltYXRpb25zIHtcbiAgICAgICAgLnN3YWwyLXN1Y2Nlc3MtbGluZS10aXAge1xuICAgICAgICAgIGFuaW1hdGlvbjogc3dhbDItYW5pbWF0ZS1zdWNjZXNzLWxpbmUtdGlwIDAuNzVzO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3YWwyLXN1Y2Nlc3MtbGluZS1sb25nIHtcbiAgICAgICAgICBhbmltYXRpb246IHN3YWwyLWFuaW1hdGUtc3VjY2Vzcy1saW5lLWxvbmcgMC43NXM7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lLXJpZ2h0IHtcbiAgICAgICAgICBhbmltYXRpb246IHN3YWwyLXJvdGF0ZS1zdWNjZXNzLWNpcmN1bGFyLWxpbmUgNC4yNXMgZWFzZS1pbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQW5pbWF0aW9uc1xuQGtleWZyYW1lcyBzd2FsMi10b2FzdC1zaG93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC42MjVlbSkgcm90YXRlWigyZGVnKTtcbiAgfVxuXG4gIDMzJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZVooLTJkZWcpO1xuICB9XG5cbiAgNjYlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4zMTI1ZW0pIHJvdGF0ZVooMmRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlWigwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3YWwyLXRvYXN0LWhpZGUge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3YWwyLXRvYXN0LWFuaW1hdGUtc3VjY2Vzcy1saW5lLXRpcCB7XG4gIDAlIHtcbiAgICB0b3A6IDAuNTYyNWVtO1xuICAgIGxlZnQ6IDAuMDYyNWVtO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgNTQlIHtcbiAgICB0b3A6IDAuMTI1ZW07XG4gICAgbGVmdDogMC4xMjVlbTtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdG9wOiAwLjYyNWVtO1xuICAgIGxlZnQ6IC0wLjI1ZW07XG4gICAgd2lkdGg6IDEuNjI1ZW07XG4gIH1cblxuICA4NCUge1xuICAgIHRvcDogMS4wNjI1ZW07XG4gICAgbGVmdDogMC43NWVtO1xuICAgIHdpZHRoOiAwLjVlbTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRvcDogMS4xMjVlbTtcbiAgICBsZWZ0OiAwLjE4NzVlbTtcbiAgICB3aWR0aDogMC43NWVtO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dhbDItdG9hc3QtYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZyB7XG4gIDAlIHtcbiAgICB0b3A6IDEuNjI1ZW07XG4gICAgcmlnaHQ6IDEuMzc1ZW07XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICA2NSUge1xuICAgIHRvcDogMS4yNWVtO1xuICAgIHJpZ2h0OiAwLjkzNzVlbTtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIDg0JSB7XG4gICAgdG9wOiAwLjkzNzVlbTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMS4xMjVlbTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRvcDogMC45Mzc1ZW07XG4gICAgcmlnaHQ6IDAuMTg3NWVtO1xuICAgIHdpZHRoOiAxLjM3NWVtO1xuICB9XG59XG4iLCJAaW1wb3J0ICd0b2FzdHMtYW5pbWF0aW9ucyc7XG5cbi8vIEFwcGVhcmFuY2UgYW5pbWF0aW9uXG5Aa2V5ZnJhbWVzIHN3YWwyLXNob3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG4vLyBEaXNwcGVhcmFuY2UgYW5pbWF0aW9uXG5Aa2V5ZnJhbWVzIHN3YWwyLWhpZGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLy8gU3VjY2VzcyBpY29uIGFuaW1hdGlvbnNcbkBrZXlmcmFtZXMgc3dhbDItYW5pbWF0ZS1zdWNjZXNzLWxpbmUtdGlwIHtcbiAgMCUge1xuICAgIHRvcDogMS4xODc1ZW07XG4gICAgbGVmdDogMC4wNjI1ZW07XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICA1NCUge1xuICAgIHRvcDogMS4wNjI1ZW07XG4gICAgbGVmdDogMC4xMjVlbTtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdG9wOiAyLjE4NzVlbTtcbiAgICBsZWZ0OiAtMC4zNzVlbTtcbiAgICB3aWR0aDogMy4xMjVlbTtcbiAgfVxuXG4gIDg0JSB7XG4gICAgdG9wOiAzZW07XG4gICAgbGVmdDogMS4zMTI1ZW07XG4gICAgd2lkdGg6IDEuMDYyNWVtO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdG9wOiAyLjgxMjVlbTtcbiAgICBsZWZ0OiAwLjgxMjVlbTtcbiAgICB3aWR0aDogMS41NjI1ZW07XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS1sb25nIHtcbiAgMCUge1xuICAgIHRvcDogMy4zNzVlbTtcbiAgICByaWdodDogMi44NzVlbTtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIDY1JSB7XG4gICAgdG9wOiAzLjM3NWVtO1xuICAgIHJpZ2h0OiAyLjg3NWVtO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgODQlIHtcbiAgICB0b3A6IDIuMTg3NWVtO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzLjQzNzVlbTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRvcDogMi4zNzVlbTtcbiAgICByaWdodDogMC41ZW07XG4gICAgd2lkdGg6IDIuOTM3NWVtO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dhbDItcm90YXRlLXN1Y2Nlc3MtY2lyY3VsYXItbGluZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB9XG5cbiAgNSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIH1cblxuICAxMiUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7XG4gIH1cbn1cblxuLy8gRXJyb3IgaWNvbiBhbmltYXRpb25zXG5Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtZXJyb3IteC1tYXJrIHtcbiAgMCUge1xuICAgIG1hcmdpbi10b3A6IDEuNjI1ZW07XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjQpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA1MCUge1xuICAgIG1hcmdpbi10b3A6IDEuNjI1ZW07XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjQpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA4MCUge1xuICAgIG1hcmdpbi10b3A6IC0wLjM3NWVtO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtZXJyb3ItaWNvbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2FsMi1yb3RhdGUtbG9hZGluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuLy8gUXVlc3Rpb24gbWFyayBhbmltYXRpb25cbkBrZXlmcmFtZXMgc3dhbDItYW5pbWF0ZS1xdWVzdGlvbi1tYXJrIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgtMzYwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgwKTtcbiAgfVxufVxuXG4vLyBJbmZvIGFuZCBXYXJuaW5nIG1hcmsgYW5pbWF0aW9uXG5Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtaS1tYXJrIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWig0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKC0yNWRlZyk7XG4gICAgb3BhY2l0eTogMC40O1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMTVkZWcpO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxuXG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKC01ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbiIsIi8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zMDI1MDE2MVxuQG1peGluIG5vdCgkaWdub3ItbGlzdC4uLikge1xuICBAaWYgKGxlbmd0aCgkaWdub3ItbGlzdCkgPT0gMSkge1xuICAgICRpZ25vci1saXN0OiBudGgoJGlnbm9yLWxpc3QsIDEpO1xuICB9XG5cbiAgJG5vdC1vdXRwdXQ6ICcnO1xuXG4gIEBlYWNoICRub3QgaW4gJGlnbm9yLWxpc3Qge1xuICAgICRub3Qtb3V0cHV0OiAkbm90LW91dHB1dCArICc6bm90KCN7JG5vdH0pJzsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBzY3NzL25vLWR1cGxpY2F0ZS1kb2xsYXItdmFyaWFibGVzXG4gIH1cblxuICAmI3skbm90LW91dHB1dH0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAaW1wb3J0ICd0b2FzdHMtYm9keSc7XG5cbkBtaXhpbiBzd2VldGFsZXJ0Mi1ib2R5KCkge1xuICAmLnN3YWwyLXNob3duIHtcbiAgICBAaW5jbHVkZSBub3QoJy5zd2FsMi1uby1iYWNrZHJvcCcsICcuc3dhbDItdG9hc3Qtc2hvd24nKSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBub3Qgb3ZlcmZsb3cteSBiZWNhdXNlIG9mIFNhcmFyaSwgIzEyNTNcbiAgICB9XG4gIH1cblxuICAmLnN3YWwyLWhlaWdodC1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgLy8gIzc4MSAjMTEwN1xuICB9XG5cbiAgJi5zd2FsMi1uby1iYWNrZHJvcCB7XG4gICAgLnN3YWwyLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgIC5zd2FsMi1wb3B1cCB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICB9XG5cbiAgICAgIC5zd2FsMi1tb2RhbCB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4ICRzd2FsMi1iYWNrZHJvcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICYuc3dhbDItc2hvd24ge1xuICAgICAgQGluY2x1ZGUgbm90KCcuc3dhbDItbm8tYmFja2Ryb3AnLCAnLnN3YWwyLXRvYXN0LXNob3duJykge1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGwgIWltcG9ydGFudDtcblxuICAgICAgICA+IFthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3YWwyLWNvbnRhaW5lciB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gc3dlZXRhbGVydDItdG9hc3RzLWJvZHkoKSB7XG4gICYuc3dhbDItdG9hc3Qtc2hvd24ge1xuICAgIC5zd2FsMi1jb250YWluZXIge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiAkc3dhbDItdG9hc3Qtd2lkdGg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAmLnN3YWwyLXRvcCB7XG4gICAgICAgIGluc2V0OiAwIGF1dG8gYXV0byA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi10b3AtZW5kLFxuICAgICAgJi5zd2FsMi10b3AtcmlnaHQge1xuICAgICAgICBpbnNldDogMCAwIGF1dG8gYXV0bztcbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi10b3Atc3RhcnQsXG4gICAgICAmLnN3YWwyLXRvcC1sZWZ0IHtcbiAgICAgICAgaW5zZXQ6IDAgYXV0byBhdXRvIDA7XG4gICAgICB9XG5cbiAgICAgICYuc3dhbDItY2VudGVyLXN0YXJ0LFxuICAgICAgJi5zd2FsMi1jZW50ZXItbGVmdCB7XG4gICAgICAgIGluc2V0OiA1MCUgYXV0byBhdXRvIDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi1jZW50ZXIge1xuICAgICAgICBpbnNldDogNTAlIGF1dG8gYXV0byA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgfVxuXG4gICAgICAmLnN3YWwyLWNlbnRlci1lbmQsXG4gICAgICAmLnN3YWwyLWNlbnRlci1yaWdodCB7XG4gICAgICAgIGluc2V0OiA1MCUgMCBhdXRvIGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi1ib3R0b20tc3RhcnQsXG4gICAgICAmLnN3YWwyLWJvdHRvbS1sZWZ0IHtcbiAgICAgICAgaW5zZXQ6IGF1dG8gYXV0byAwIDA7XG4gICAgICB9XG5cbiAgICAgICYuc3dhbDItYm90dG9tIHtcbiAgICAgICAgaW5zZXQ6IGF1dG8gYXV0byAwIDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgfVxuXG4gICAgICAmLnN3YWwyLWJvdHRvbS1lbmQsXG4gICAgICAmLnN3YWwyLWJvdHRvbS1yaWdodCB7XG4gICAgICAgIGluc2V0OiBhdXRvIDAgMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb21tb24gbWl4aW4gYW5kIGZ1bmN0aW9uc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cblxuLy8vIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHJlbW92ZSB1bml0IGZyb21cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpID09ICdudW1iZXInIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xuICAgIEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xuICB9XG5cbiAgQHJldHVybiAkbnVtYmVyO1xufVxuXG4vLy8gQGV4YW1wbGVcbi8vLyBAaW5jbHVkZSByZnNtcSgoeHM6IDMwcHgsIHNtOiAzNnB4LCBtZDogNDhweCwgeGw6IDY0cHgpKTtcbi8vL1xuLy8vIEBwYXJhbSAkc2l6ZXMgW1Nhc3M6OlNjcmlwdDo6VmFsdWU6Ok1hcF1cbi8vLyBAcGFyYW0gJGJyZWFrcG9pbnRzIFtTYXNzOjpTY3JpcHQ6OlZhbHVlOjpNYXBdXG5AbWl4aW4gcmZzbXEoJHNpemVzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkc2l6ZXMsICRicmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0obWFwLWdldCgkc2l6ZXMsICRicmVha3BvaW50KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBAZXhhbXBsZVxuLy8vIEBpbmNsdWRlIHJwbXEobWFyZ2luLWJvdHRvbSwgKHhzOiAxNnB4LCBtZDogMjBweCwgeGw6IDI0cHgpKTtcbi8vLyBAaW5jbHVkZSBycG1xKChtYXJnaW4tYm90dG9tLCBtYXJnaW4tdG9wKSwgKHhzOiAxNnB4LCBtZDogMjBweCwgeGw6IDI0cHgpKTtcbi8vL1xuLy8vIEBwYXJhbSAkcHJvcGVydGllcyBbU2Fzczo6U2NyaXB0OjpWYWx1ZTo6TWFwXVxuLy8vIEBwYXJhbSAkdmFsdWVzIFtTYXNzOjpTY3JpcHQ6OlZhbHVlOjpNYXBdXG4vLy8gQHBhcmFtICRicmVha3BvaW50cyBbU2Fzczo6U2NyaXB0OjpWYWx1ZTo6TWFwXVxuQG1peGluIHJwbXEoJHByb3BlcnRpZXMsICR2YWx1ZXMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCR2YWx1ZXMsICRicmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAjeyRwcm9wZXJ0eX06IG1hcC1nZXQoJHZhbHVlcywgJGJyZWFrcG9pbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIGhvdmVyKCRzZWxlY3RvcnM6ICc6aG92ZXInICc6Zm9jdXMnICc6YWN0aXZlJykge1xuXG4gIC8vICVob3ZlclN0eWxlcyB7XG4gIC8vICAgQGNvbnRlbnQ7XG4gIC8vIH1cblxuICBAZWFjaCAkc2VsZWN0b3IgaW4gJHNlbGVjdG9ycyB7XG4gICAgQGlmICRzZWxlY3RvciAhPSAnOmhvdmVyJyB7XG4gICAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgICAgLy8gQGV4dGVuZCAlaG92ZXJTdHlsZXM7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBpbmRleCgkc2VsZWN0b3JzLCAnOmhvdmVyJykge1xuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuXG4vLy8gQGV4YW1wbGVcbi8vLyBAaW5jbHVkZSByZW0oMjBweCk7XG4vLy9cbi8vLyBAcGFyYW0gJHNpemUgW1Nhc3M6OlNjcmlwdDo6VmFsdWU6Ok1hcF1cbkBmdW5jdGlvbiByZW0oJHNpemUpIHtcbiAgQGlmIHR5cGUtb2YoJHNpemUpID09ICdudW1iZXInIGFuZCB1bml0KCRzaXplKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIGRlY2ltYWwtcm91bmQoKHN0cmlwLXVuaXQoJHNpemUpIC8gMTYpLCAyKSArIHJlbTtcbiAgfVxuICBAcmV0dXJuICRzaXplO1xufVxuXG5cbkBmdW5jdGlvbiBkZWNpbWFsLXJvdW5kICgkbnVtYmVyLCAkZGlnaXRzOiAwLCAkbW9kZTogcm91bmQpIHtcbiAgJG46IDE7XG4gIC8vICRudW1iZXIgbXVzdCBiZSBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkbnVtYmVyKSAhPSBudW1iZXIge1xuICAgIEB3YXJuICcjeyAkbnVtYmVyIH0gaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkbnVtYmVyO1xuICB9XG4gIC8vICRkaWdpdHMgbXVzdCBiZSBhIHVuaXRsZXNzIG51bWJlclxuICBAaWYgdHlwZS1vZigkZGlnaXRzKSAhPSBudW1iZXIge1xuICAgIEB3YXJuICcjeyAkZGlnaXRzIH0gaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkbnVtYmVyO1xuICB9IEBlbHNlIGlmIG5vdCB1bml0bGVzcygkZGlnaXRzKSB7XG4gICAgQHdhcm4gJyN7ICRkaWdpdHMgfSBoYXMgYSB1bml0Lic7XG4gICAgQHJldHVybiAkbnVtYmVyO1xuICB9XG4gIEBpZiAkZGlnaXRzID4gMCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZGlnaXRzIHtcbiAgICAgICRuOiAkbiAqIDEwO1xuICAgIH1cbiAgfVxuICBAaWYgJG1vZGUgPT0gcm91bmQge1xuICAgIEByZXR1cm4gcm91bmQoJG51bWJlciAqICRuKSAvICRuO1xuICB9IEBlbHNlIGlmICRtb2RlID09IGNlaWwge1xuICAgIEByZXR1cm4gY2VpbCgkbnVtYmVyICogJG4pIC8gJG47XG4gIH0gQGVsc2UgaWYgJG1vZGUgPT0gZmxvb3Ige1xuICAgIEByZXR1cm4gZmxvb3IoJG51bWJlciAqICRuKSAvICRuO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnI3sgJG1vZGUgfSBpcyB1bmRlZmluZWQga2V5d29yZC4nO1xuICAgIEByZXR1cm4gJG51bWJlcjtcbiAgfVxufVxuXG5cbkBmdW5jdGlvbiBsaW5lYXItaW50ZXJwb2xhdGlvbigkbWluLCAkbWF4LCAkZnJvbS1icmVha3BvaW50OiAneHMnLCAkdG8tYnJlYWtwb2ludDogJ3h4bCcsICRicmVha3BvaW50czogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkdmFsdWVzOiAoKTtcblxuICBAaWYgJGZyb20tYnJlYWtwb2ludCA9PSAneHMnIGFuZCBtYXAtZ2V0KCRicmVha3BvaW50cywgXCJ4c1wiKSA9PSBudWxsIHtcbiAgICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgoeHM6IDApLCAkYnJlYWtwb2ludHMpO1xuICAgICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpO1xuICB9XG5cbiAgJG1pbi1icmVha3BvaW50LWluZGV4OiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJGZyb20tYnJlYWtwb2ludCk7XG4gIEBpZiAkbWluLWJyZWFrcG9pbnQtaW5kZXggPT0gbnVsbCB7XG4gICAgQGVycm9yKCdicmVha3BvaW50ICcgKyAkZnJvbS1icmVha3BvaW50ICsgJyBub3QgZm91bmQgaW4gJyArICRicmVha3BvaW50cyk7XG4gIH1cbiAgJG1pbi1icmVha3BvaW50LXZhbDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRtaW4tYnJlYWtwb2ludC1pbmRleCk7XG5cbiAgJG1heC1icmVha3BvaW50LWluZGV4OiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJHRvLWJyZWFrcG9pbnQpO1xuICBAaWYgJG1heC1icmVha3BvaW50LWluZGV4ID09IG51bGwge1xuICAgIEBlcnJvcignYnJlYWtwb2ludCAnICsgJHRvLWJyZWFrcG9pbnQgKyAnIG5vdCBmb3VuZCBpbiAnICsgJGJyZWFrcG9pbnRzKTtcbiAgfVxuICAkbWF4LWJyZWFrcG9pbnQtdmFsOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG1heC1icmVha3BvaW50LWluZGV4KTtcblxuICAkdk1heDogJG1heCAtICRtaW47XG4gICRiMDogc3RyaXAtdW5pdChtYXAtZ2V0KCRicmVha3BvaW50cywgJGZyb20tYnJlYWtwb2ludCkpO1xuICBAaWYgJGIwID09IDAge1xuICAgICRiMDogcm91bmQoKHN0cmlwLXVuaXQobWFwLWdldCgkYnJlYWtwb2ludHMsIGJyZWFrcG9pbnQtbmV4dCgkZnJvbS1icmVha3BvaW50LCAkYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzKSkpIC8gMykgKiAyKTtcbiAgfVxuXG4gICRiTWF4OiBzdHJpcC11bml0KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdG8tYnJlYWtwb2ludCkpO1xuXG4gIC8vIEBlYWNoICRpbmRleCBpbiByYW5nZSgkbWluLWJyZWFrcG9pbnQtaW5kZXgsICRtYXgtYnJlYWtwb2ludC1pbmRleClcbiAgQGZvciAkaW5kZXggZnJvbSAkbWluLWJyZWFrcG9pbnQtaW5kZXggdGhyb3VnaCAkbWF4LWJyZWFrcG9pbnQtaW5kZXgge1xuICAgICRicmVha3BvaW50LW5hbWU6IG50aCgkYnJlYWtwb2ludC1uYW1lcywgJGluZGV4KTtcbiAgICAkYjogJGIwO1xuICAgIEBpZiAkYnJlYWtwb2ludC1uYW1lICE9ICRmcm9tLWJyZWFrcG9pbnQge1xuICAgICAgJGI6IHN0cmlwLXVuaXQobWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWUpKTtcbiAgICB9XG5cbiAgICAkdmFsdWU6ICgoKCRiIC0gJGIwKSAqICR2TWF4KSAvICgkYk1heCAtICRiMCkpICsgJG1pbjtcbiAgICAvLyBtYXAtc2V0KCR2YWx1ZXMsICRicmVha3BvaW50LW5hbWUsIHJvdW5kKCR2YWx1ZSwgMikpO1xuICAgICR2YWx1ZXM6IG1hcC1tZXJnZSgkdmFsdWVzLCAoJGJyZWFrcG9pbnQtbmFtZTogZGVjaW1hbC1yb3VuZCgkdmFsdWUsIDIpKSlcblxuICAgIC8vIHdhcm4oXCItLS0+IFwiICsgJGJyZWFrcG9pbnQtbmFtZSArIFwiOiAgbWluKFwiICsgJG1pbiArIFwiKSBtYXgoXCIgKyAkbWF4ICsgXCIpIHZNYXgoXCIgKyAkdk1heCArIFwiKSBiMChcIiArICRiMCArIFwiKSBiTWF4KFwiICsgJGJNYXggKyBcIikgLS0+IFwiICsgJHZhbHVlc1skYnJlYWtwb2ludC1uYW1lXSArIFwiIFwiKVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWVzXG59XG5cbi8vIFR1cm4gbWFwcyBpbnRvIGl0cyBuZWdhdGl2ZSB2YXJpYW50LlxuQGZ1bmN0aW9uIG5lZ2F0aXZpZnktbWFwLXNhbWUta2V5KCRtYXApIHtcbiAgJHJlc3VsdDogKCk7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICBAaWYgJGtleSAhPSAwIHtcbiAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGtleTogKC0kdmFsdWUpKSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cbiIsIi8vIC0tLS1cbi8vIFNhc3MgKHYzLjMuNylcbi8vIENvbXBhc3MgKHYxLjAuMC5hbHBoYS4xOClcbi8vIC0tLS1cblxuLy8gSGVscGVyIG1peGluIGZvciBvZmZzZXQgcG9zaXRpb25pbmdcbi8vIEFib3V0OiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNC8wNS8xOS9uZXctb2Zmc2V0cy1zYXNzLW1peGluLyBOYjogZml4ZWQgYW4gZXJyb3I6IGluZGV4IHJldHVybiBudWxsIG5vdCBmYWxzZSB3aGVuIHZhbHVlIG5vdCBmb3VuZFxuLy8gLS0tXG4vLyBIZXJlIGlzIGFuIGltcHJvdmVkIHZlcnNpb24gYWRkaW5nIHNvbWUgZXh0cmEgZmVhdHVyZXNcbi8vIC0tLVxuLy8gQHBhcmFtIFtzdHJpbmddICRwb3NpdGlvbjogcG9zaXRpb25cbi8vIEBwYXJhbSBbbGlzdF0gJGFyZ3MgKCgpKTogb2Zmc2V0cyBsaXN0XG4vLyAtLS1cbi8vIEV4cGxhbmF0aW9uc1xuLy8gMS4gT3V0cHV0IHBvc2l0aW9uXG4vLyAyLiBJZiBgJGFyZ3NgIGlzIG5vdCBlbXB0eVxuLy8gMy4gTG9vcCBvdGhlciB0aGUgNCBwb3B1bGFyIG9mZnNldHMgKGAkb2Zmc2V0c2ApXG4vLyA0LiBDaGVjayBpZiB0aGUgY3VycmVudCBvbmUgZXhpc3RzIGluIGAkYXJnc2Bcbi8vIDUuIElmIGl0IGlzIGZvdW5kIGluIGAkYXJnc2Bcbi8vIDYuIEFuZCBpZiBpdCBpcyBhdCBsYXN0IHBvc2l0aW9uXG4vLyA3LiBTZXQgaXQgdG8gMFxuLy8gOC4gRWxzZSBpZiBpdCBpcyBmb3VuZCBhdCBhbnkgb3RoZXIgaW5kZXhcbi8vIDkuIFN0b3JlIHRoZSBuZXh0IHZhbHVlIGZyb20gYCRhcmdzYFxuLy8gMTAuIElmIGl0IGlzIGEgdmFsaWQgbGVuZ3RoXG4vLyAxMS4gU2V0IHRoZSBvZmZzZXQgdG8gdGhpcyB2YWx1ZVxuLy8gMTIuIEVsc2UgaWYgaXQgaXMgYW5vdGhlciBvZmZzZXRcbi8vIDEzLiBTZXQgdGhlIG9mZnNldCB0byAwXG4vLyAxNC4gRWxzZVxuLy8gMTUuIFdhcm4gdGhlIHVzZXJcbi8vIC0tLVxuXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uLCAkYXJnczogKCkpIHtcbiAgJG9mZnNldHM6IHRvcCByaWdodCBib3R0b20gbGVmdDtcbiAgcG9zaXRpb246ICRwb3NpdGlvbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDFcblxuICBAZWFjaCAkb2Zmc2V0IGluICRvZmZzZXRzIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gM1xuICAgICRpbmRleDogaW5kZXgoJGFyZ3MsICRvZmZzZXQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gNFxuXG4gICAgQGlmICRpbmRleCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA1XG4gICAgICBAaWYgJGluZGV4ID09IGxlbmd0aCgkYXJncykgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA2XG4gICAgICAgICN7JG9mZnNldH06IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA3XG4gICAgICB9XG4gICAgICBAZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA4XG4gICAgICAgICRuZXh0OiBudGgoJGFyZ3MsICRpbmRleCArIDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA5XG4gICAgICAgIEBpZiBpcy12YWxpZC1sZW5ndGgoJG5leHQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAxMFxuICAgICAgICAgICN7JG9mZnNldH06ICRuZXh0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMTFcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSBpZiBpbmRleCgkb2Zmc2V0cywgJG5leHQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMTJcbiAgICAgICAgICAjeyRvZmZzZXR9OiAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEzXG4gICAgICAgIH1cbiAgICAgICAgQGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDE0XG4gICAgICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGAjeyRuZXh0fWAgZm9yIG9mZnNldCBgI3skb2Zmc2V0fWAuXCI7IC8vIDE1XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRnVuY3Rpb24gY2hlY2tpbmcgaWYgJHZhbHVlIGlzIGEgdmFsaWQgbGVuZ3RoXG4vLyAtLS1cbi8vIEBwYXJhbSBbbGl0ZXJhbF0gJHZhbHVlOiB2YWx1ZSB0byB0ZXN0XG4vLyAtLS1cbi8vIEByZXR1cm4gW2Jvb2xdXG5cbkBmdW5jdGlvbiBpcy12YWxpZC1sZW5ndGgoJHZhbHVlKSB7XG4gIEByZXR1cm4gKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCBub3QgdW5pdGxlc3MoJHZhbHVlKSkgb3IgKGluZGV4KGF1dG8gaW5pdGlhbCBpbmhlcml0IDAsICR2YWx1ZSkgIT0gbnVsbCk7XG59XG5cbi8vIFNob3J0aGFuZHNcbi8vIC0tLVxuXG5AbWl4aW4gYWJzb2x1dGUoJGFyZ3M6ICgpKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAkYXJncyk7XG59XG5cbkBtaXhpbiBmaXhlZCgkYXJnczogKCkpIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsICRhcmdzKTtcbn1cblxuQG1peGluIHJlbGF0aXZlKCRhcmdzOiAoKSkge1xuICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgJGFyZ3MpO1xufVxuXG4vLyBFeGFtcGxlc1xuLy8gLS0tXG5cblxuLy8gLmEge1xuLy8gICBAaW5jbHVkZSBhYnNvbHV0ZSgpO1xuLy8gfVxuLy9cbi8vIC5iIHtcbi8vICAgQGluY2x1ZGUgYWJzb2x1dGUodG9wKTtcbi8vIH1cbi8vXG4vLyAuYyB7XG4vLyAgIEBpbmNsdWRlIGFic29sdXRlKHRvcCByaWdodCk7XG4vLyB9XG4vL1xuLy8gLmQge1xuLy8gICBAaW5jbHVkZSBhYnNvbHV0ZSh0b3AgcmlnaHQgYm90dG9tKTtcbi8vIH1cbi8vXG4vLyAuZSB7XG4vLyAgIEBpbmNsdWRlIGFic29sdXRlKHRvcCByaWdodCBib3R0b20gbGVmdCk7XG4vLyB9XG4vL1xuLy8gLmYge1xuLy8gICBAaW5jbHVkZSBhYnNvbHV0ZSh0b3AgcmlnaHQgMWVtKTtcbi8vIH1cbi8vXG4vLyAuZyB7XG4vLyAgIEBpbmNsdWRlIGFic29sdXRlKHRvcCAxZW0gcmlnaHQpO1xuLy8gfVxuLy9cbi8vIC5oIHtcbi8vICAgQGluY2x1ZGUgYWJzb2x1dGUodG9wIDFlbSByaWdodCAxMDAlKTtcbi8vIH1cbi8vXG4vLyAuaSB7XG4vLyAgIEBpbmNsdWRlIGFic29sdXRlKHRvcCByaWdodCBtaXN0YWtlKTtcbi8vIH1cbi8vXG4vLyAuaiB7XG4vLyAgIEBpbmNsdWRlIGFic29sdXRlKHRvcCAxZW0gcmlnaHQgMWVtIGJvdHRvbSAxZW0gbGVmdCAxZW0pXG4vLyB9XG5cblxuIiwiLmRmZC1mdWxsc2NyZWVuLmRmZC1hbmltYXRlIC5kZmQtbGF5ZXIge1xuICBAaW5jbHVkZSBycG1xKChsZWZ0KSwgKHhzOiBub25lLCBsZzogMzAlKSk7XG4gIEBpbmNsdWRlIHJwbXEoKHdpZHRoKSwgKHhzOiBub25lLCBsZzogNzAlKSk7XG4gIEBpbmNsdWRlIHJwbXEoKG1heC1oZWlnaHQpLCAoeHM6IDEwMCUsIGxnOiA3NSUpKTtcblxuICAgIC5kZmQtc2VhcmNoYm94IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDAwMDAwO1xuICAgIH1cblxuLyogICAgLmRmZC1jYXJkLXRpdGxlOjpmaXJzdC1sZXR0ZXJ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5kZmQtY2FyZC10aXRsZXtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgfSovXG5cbiAgICAuZGZkLWJ0bi10ZXJtLWZpbHRlcjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICB9XG5cbiAgICAuZGZkLWNsb3NlLWJ1dHRvbiB7XG4gICAgICAtLWRmZC1jbG9zZS1idXR0b24tc2NhbGU6IDcwJTtcbiAgICB9XG5cbiAgICAuZGZkLWNhcmQtZmxhZ3tcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgfVxuXG4gICAgLmRmZC1zbGlkZXItdG9vbHRpcCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgfVxuXG4gICAgLmRmZC1zbGlkZXItaGFuZGxlIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7XG4gICAgfVxuXG4gICAgLmRmZC1jYXJkOmhvdmVyLCAuZGZkLWNhcmQ6Zm9jdXMtdmlzaWJsZXtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgIC5kZmQtY2FyZHtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZGYtbmV1dHJhbC1vdXRsaW5lLCAjY2JjY2NkKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1kZi1uZXV0cmFsLWhpZ2gtY29udHJhc3QsICMzMjMzMzQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGYtbmV1dHJhbC1zdXJmYWNlLCB3aGl0ZSk7XG5cbiAgICB9XG5cbiAgICAuZGZkLW1ldGEsIC5kZmQtYnJhbmRpbmd7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmRmZC1hc2lkZXtcbiAgICAgIHdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5kZmQtcmVzdWx0cy1ncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLWRmZC1yZXN1bHRzLWdyaWQtY29sdW1uLWNvdW50LCBhdXRvLWZpbGwpLCB2YXIoLS1kZmQtcmVzdWx0cy1ncmlkLWNvbHVtbi1zaXplLCBtaW5tYXgoMTQ0cHgsIDFmcikpKTtcbiAgICB9XG5cbiAgICAuZGZkLXN1Z2dlc3Rpb24tYnV0dG9ue1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAuZGZkLWZ1bGxzY3JlZW4gYnV0dG9uW2RhdGEtZGZkLXJvbGU9YmFjay10by10b3Bde1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZGZkLWNhcmQtcHJpY2luZ3tcbiAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKnNbZGF0YS1kZmQtcm9sZT1zY3JvbGwtc2VudGluZWxdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9Ki9cbn1cblxuLmRmZC1tb2JpbGUge1xuXG4gICAgLmRmZC1hc2lkZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZGZkLWFzaWRlLWhlYWRlciBzbWFsbCB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmRmZC1iYWNrLXRvLXRvcC1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZGZkLXRvZ2dsZS1maWx0ZXJzLWJ1dHRvbiwgLmRmZC1jbG9zZS1maWx0ZXJzLWJ1dHRvbiwgLmRmZC1jbGVhci1maWx0ZXJzLWJ1dHRvbiwgLmRmZC1zbWFydC1maWx0ZXItYnV0dG9uLXByaW1hcnkge1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIH1cblxuICAgIC5kZmQtcmVzdWx0cy1ncmlkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgfVxuXG4gICAgLmRmZC1jYXJkOmhvdmVyLCAuZGZkLWNhcmQ6Zm9jdXMtdmlzaWJsZXtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgIC5kZmQtY2FyZHtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZGYtbmV1dHJhbC1vdXRsaW5lLCAjY2JjY2NkKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1kZi1uZXV0cmFsLWhpZ2gtY29udHJhc3QsICMzMjMzMzQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGYtbmV1dHJhbC1zdXJmYWNlLCB3aGl0ZSk7XG5cbiAgICB9XG5cbiAgICAuZGZkLXNtYXJ0LWZpbHRlci1idXR0b257XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC5kZmQtbWV0YSwgLmRmZC1icmFuZGluZ3tcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbn0iLCIuaGVhZGVyLWJhbm5lciB7XG5cbiAgJjpub3QoLnNsaWNrLWluaXRpYWxpemVkKSB7XG4gICAgLnNsaWRlLWNvbnRlbnQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgXG4gIC5zbGlkZS1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGltYWdlLXBsYWNlaG9sZGVyLWJnO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgLyogcmltb3NzbyB3aWR0aDogMTAwdmg7IGNoZSBwYXJldmEgdW4gcmVmdXNvICovXG5cbiAgICAuZW1iZWQtY29udGFpbmVyMSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBpZnJhbWUuYmFja2dyb3VuZC1jb3ZlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHBvcnRyYWl0IG1vYmlsZSA0OjUgKDEwODDDlzEzNTApXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAuZW1iZWQtY29udGFpbmVyMSB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2dyAqIDUgLyA0KTtcbiAgICAgICAgLyogaW4gYWx0ZXJuYXRpdmE6XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiAxMDgwIC8gMTM1MDtcbiAgICAgICAgKi9cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBsYW5kc2NhcGUgZGVza3RvcCAxNjo5XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgLmVtYmVkLWNvbnRhaW5lcjEge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdncgKiA5IC8gMTYpO1xuICAgICAgICAvKiBpbiBhbHRlcm5hdGl2YTpcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICAgICAgKi9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC5iYW5uZXItY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy9oZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBycG1xKGFsaWduLWl0ZW1zLCAobWJsOiBjZW50ZXIsIGRzazogY2VudGVyKSwgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKTtcbiAgICBAaW5jbHVkZSBycG1xKG1hcmdpbi10b3AsICh4czogMCwgbWQ6IDAsIGxnOiAwKSk7XG4gICAvLyBAaW5jbHVkZSBycG1xKHBhZGRpbmctYm90dG9tLCAoeHM6IDAsIG1kOiAwLCBsZzogNyUpKTtcbiAgICBAaW5jbHVkZSBycG1xKGJvdHRvbSwgKHhzOiAwLCBtZDogMjB2aCkpO1xuICAgIEBpbmNsdWRlIHJwbXEodHJhbnNmb3JtLCAoeHM6IHRyYW5zbGF0ZVkoLTMwJSksIG1kOiB0cmFuc2xhdGVZKDApKSk7XG5cbiAgICBAaW5jbHVkZSBycG1xKGZsZXgtZGlyZWN0aW9uLCAoeHM6IGNvbHVtbiwgbGc6IGNvbHVtbikpO1xuICAgIEBpbmNsdWRlIHJwbXEoanVzdGlmeS1jb250ZW50LCAoeHM6IGNlbnRlciwgbGc6IGNlbnRlcikpO1xuICAgIEBpbmNsdWRlIHJwbXEobWluLWhlaWdodCwgKHhzOiAwLCBtZDogMCwgeHhsOiAwKSk7XG4gICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLWxlZnQsIChtZDogNzBweCkpO1xuICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZy1yaWdodCwgKG1kOiA3MHB4KSk7XG5cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDQ4cHgsIGxnOiAxMjBweCkpO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxMHB4IHJnYmEoMCwgMCwgMCwgLjQpO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDEwcHggcmdiYSgwLCAwLCAwLCAuNCk7XG4gICAgICBAaW5jbHVkZSBycG1xKGZvbnQtc2l6ZSwgKG1ibDogMTRweCwgZHNrOiAxNnB4KSwgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKTtcbiAgICB9XG5cblxuICAgIC50ZXh0IHtcbiAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTZweCwgbGc6IDE4cHgpKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4xNjtcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4tYm90dG9tKDM2cHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgQGluY2x1ZGUgcnBtcShmb250LXNpemUsIChtYmw6IGluaGVyaXQsIGRzazogMjBweCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG4gICAgfVxuXG4gICAgJi5iYW5uZXItY29udGVudC1zbWFsbCB7XG4gICAgICAuaGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIHJmcyg0OHB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cbiAgfVxufVxuIiwiLnByb2R1Y3QtYm94IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLCAoeHM6IDAsIHNtOiAwKSk7XG4gIC8vIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gIFxuICBpbWcuYmFja2dyb3VuZC1jb3ZlcixcbiAgaW1nLmJhY2tncm91bmQtY29udGFpbiB7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiA1MCUgNTAlO1xuXG4gICAgQGluY2x1ZGUgcnBtcShyaWdodCwgKHNtOiAxMCUsIHhzOiAxMCUpKTtcbiAgICBAaW5jbHVkZSBycG1xKGxlZnQsIChzbTogMTAlLCB4czogMTAlKSk7XG4gICAgQGluY2x1ZGUgcnBtcSh3aWR0aCwgKHNtOiA4MCUsIHhzOiA4MCUpKTtcbiAgICBAaW5jbHVkZSBycG1xKGhlaWdodCwgKHNtOiBhdXRvLCB4czogYXV0bykpO1xuICB9XG5cbiAgJi5ob21lZ2FsbGVyeSB7XG4gICAgICBpbWcuYmFja2dyb3VuZC1jb3ZlcixcbiAgICAgIGltZy5iYWNrZ3JvdW5kLWNvbnRhaW4ge1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IDUwJSA1MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgcnBtcShyaWdodCwgKHNtOiAwLCB4czogMCkpO1xuICAgICAgICBAaW5jbHVkZSBycG1xKGxlZnQsIChzbTogMCwgeHM6IDApKTtcbiAgICAgICAgQGluY2x1ZGUgcnBtcSh3aWR0aCwgKHNtOiAxMDAlLCB4czogMTAwJSkpO1xuICAgICAgICBAaW5jbHVkZSBycG1xKGhlaWdodCwgKHNtOiBhdXRvLCB4czogYXV0bykpO1xuICAgICAgfVxuICAgICAgLmxpbmsgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCAoOTAwIC8gNTgwKSAqIDEwMCUgKTsgLy8gQXNwZWN0IHJhdGlvIDU4MHg5MDBcbiAgICAgIH1cbiAgfVxuXG4gICYuc2xpZGVyLWhpZ2hsaWdodCB7XG4gICAgQGluY2x1ZGUgcnBtcSh3aWR0aCwgKHhzOiAxMDAlLCBzbTogMTAwJSkpO1xuICB9XG5cbiAgLm1vcmUtY29sb3JzIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxMHB4LCBtZDogMTJweCkpO1xuICB9XG5cbiAgLmxpbmsge1xuICAgIC8vaGVpZ2h0OiAxMDAlO1xuICAgIC8vZmxleC1ncm93OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgQGluY2x1ZGUgcmVsYXRpdmUoKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLy8gQGluY2x1ZGUgcnBtcShwYWRkaW5nLWxlZnQgcGFkZGluZy1yaWdodCwgKHhzOiAwcHgsIHNtOiAyMHB4LCBtZDogMTBweCwgbGc6IDIwcHgsIHh4bDogMzBweCkpO1xuICAgIC8vIEBpbmNsdWRlIHJwbXEocGFkZGluZy10b3AgcGFkZGluZy1ib3R0b20sICh4czogMTBweCwgc206IDIwcHgsIG1kOiAxMHB4LCBsZzogMjBweCwgeHhsOiAzMHB4KSk7XG5cbiAgICAvLyBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAvLyAgIC5pbWFnZS1jb250YWluZXIge1xuICAgIC8vICAgICBpbWcge1xuICAgIC8vICAgICAgIHRvcDogLTEwcHg7XG4gICAgLy8gICAgICAgLy8gdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuICAgIC8vIH1cblxuICAgIC5kaXNjb3VudC1iYWRnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLCAoeHM6IDJweCAxMHB4LCBzbTogM3B4IDE0cHggKSk7XG4gICAgICBAaW5jbHVkZSBycG1xKHRvcCBsZWZ0LCAoeHM6IHVuc2V0LCBzbTogMTBweCApKTtcbiAgICAgIEBpbmNsdWRlIHJwbXEoYm90dG9tIHJpZ2h0LCAoeHM6IDAsIHNtOiB1bnNldCApKTtcbiAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTJweCwgbWQ6IDEycHgpKTtcbiAgICB9XG5cbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIC8vIGJhY2tncm91bmQ6ICRleHRyYWxpZ2h0Z3JleTtcbiAgICAgIEBpbmNsdWRlIHJlbGF0aXZlKCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTE0JTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBycG1xKG1hcmdpbi10b3AsICh4czogMCwgc206IDApKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRleHRyYWxpZ2h0Z3JleTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgaW1nIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDIuNXMgZWFzaW5nKCk7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgLy8gdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cblxuICAgICAgJiArICoge1xuICAgICAgICAvLyBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLCAoeHM6IDEwcHggNyUgMjBweCA3JSwgc206IDE1cHggMTAlIDE1cHggMTAlLCApKTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAubmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEod2lkdGgsICh4czogMTAwJSwgc206IDEwMCUpKTtcbiAgICAgIH1cbiAgICAgIC5wcmljZSB7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEod2lkdGgsICh4czogMTAwJSwgc206IDEwMCUpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0ZWdvcnksXG4gICAgLm5hbWUsXG4gICAgLnByaWNlIHtcbiAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIHJlbGF0aXZlKCk7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0ZWdvcnksXG4gICAgLm5hbWUge1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIH1cblxuICAgIC5jYXRlZ29yeSB7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE2cHgpKTtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEwcHgsIG1kOiAxMnB4KSk7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAubGFiZWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy90b3A6IDEwcHg7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIC8vcGFkZGluZzogM3B4IDE0cHg7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmcsICh4czogMnB4IDEwcHgsIHNtOiAzcHggMTRweCApKTtcbiAgICAgIEBpbmNsdWRlIHJwbXEodG9wIHJpZ2h0LCAoeHM6IDAsIHNtOiAxMHB4ICkpO1xuICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxMHB4ICwgc206IDEycHgpKTtcblxuICAgIH1cbiAgICAubGFiZWxJY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICAuaWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgIH1cblxuXG4gICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmcsICh4czogMnB4IDEwcHgsIHNtOiAzcHggMTRweCApKTtcbiAgICAgIEBpbmNsdWRlIHJwbXEodG9wLCAoeHM6IDAsIHNtOiA3cHggKSk7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEzcHgpKTtcblxuICAgIH1cblxuICAgIC5wcmljZSB7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEycHgsIG1kOiAxNHB4KSk7XG5cbiAgICAgICYuZGlzY291bnQtcHJpY2Uge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZmxpbnRSb2NrO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZyb20tcHJpY2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZha2UtbGluayB7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgpKTtcblxuICAgIH1cblxuICB9XG5cbiAgXG59IiwiLnNlY3Rpb24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIHJwbXEobWFyZ2luLXRvcCBtYXJnaW4tYm90dG9tLCBsaW5lYXItaW50ZXJwb2xhdGlvbigzMHB4LCA4MHB4LCB4cywgeHhsKSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIHJmcygyOHB4KTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbiIsIi5wcm9kdWN0cy1oaWdobGlnaHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHJwbXEoIHBhZGRpbmcsICh4czogMCwgbWQ6IDAsIHhsOiAwKSk7XG4gIEBpbmNsdWRlIHJwbXEoIG1hcmdpbi1ib3R0b20sICh4czogNTBweCwgbWQ6IDEwMHB4LCB4bDogMTAwcHgpKTtcbiAgLnByb2R1Y3QtYm94IHtcbiAgICAvLyBAaW5jbHVkZSBycG1xKCBtYXgtd2lkdGgsIChtZDogMzI1cHgpKTsgLyogMzI1cHggw6ggbGEgbGFyZ2hlenphIG1hc3NpbWEgZGkgdW4gcHJvZG90dG8sIGNhbWJpYXJlIGluIGJhc2UgYWwgbnVtZXJvIGRpIHByb2RvdHRpIHF1YW5kbyBub24gw6ggc2xpZGVyICovXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC5saW5rLC5pbWFnZS1jb250YWluZXIsLmJhY2tncm91bmQtY292ZXIge1xuICAgICAgICAvLyAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIFxuICAucHJvZHVjdHMtaGlnaGxpZ2h0IC5zbGljay10cmFjayAuc2xpY2stc2xpZGUge1xuICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zbGljay10cmFjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvLyB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgQGluY2x1ZGUgcnBtcShqdXN0aWZ5LWNvbnRlbnQsICh4czogc3RhcnQsIGxnOiBjZW50ZXIpKTtcbiAgfVxuXG4gIC5zbGljay10cmFjayAuc2xpY2stc2xpZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRleHRyYWxpZ2h0Z3JleTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgQGluY2x1ZGUgcnBtcSh3aWR0aCwgKHhzOiAxMDAlICFpbXBvcnRhbnQpKTtcbiAgICBAaW5jbHVkZSBycG1xKG1heC13aWR0aCwgKG1kOiAzMjVweCkpO1xuICBcbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBycG1xKHdpZHRoLCAoeHM6IDEwMCUgIWltcG9ydGFudCkpO1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1wcmV2IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLnNsaWNrLXByZXYsIC5zbGljay1uZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gIC5zbGljay1wcmV2IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9wcmV2LWFycm93LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MHB4IDQwcHg7XG4gICAgQGluY2x1ZGUgcnBtcShsZWZ0LCAoeHM6IC0xMHB4LCBsZzogLTU1cHgpKTtcblxuICAgIC5wYWdlLXByb2R1Y3QgJiB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLW5leHQge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL25leHQtYXJyb3cuc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcbiAgICBAaW5jbHVkZSBycG1xKHJpZ2h0LCAoeHM6IC0xMHB4LCBsZzogLTU1cHgpKTtcblxuICAgIC5wYWdlLXByb2R1Y3QgJiB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbn1cblxuLnNwbGlkZS0tcGVlayAuc3BsaWRlX190cmFjayB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAgICAgICAgICAvKiBzZXJ2ZSBwZXIgbW9zdHJhcmUgbGEgbWV6emEgc2xpZGUgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgICAgIC8qIGlsIHBhZGRpbmcgbm9uIGF1bWVudGEgbGEgbGFyZ2hlenphIHJlYWxlICovXG59XG5cbi8qIHByZXZlbmlyZSBxdWFsdW5xdWUgc2Nyb2xsIG9yaXp6b250YWxlIGRlbGxhIHBhZ2luYSBpbiBxdWVzdGEgc2V6aW9uZSAqL1xuI3NwbGlkZS03LFxuI3NwbGlkZS03IC5zcGxpZGVfX3RyYWNrLFxuI3NwbGlkZS03IC5zcGxpZGVfX2xpc3Qge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5vcmRlci0zLm9yZGVyLW1kLTIgeyAgICAgICAgIC8qIHdyYXBwZXIgZGVsbGEgdHVhIHNlemlvbmUgKi9cbiAgb3ZlcmZsb3cteDogY2xpcDsgICAgICAgICAgIC8qIG9wcHVyZSBoaWRkZW47IGNsaXAgw6ggcGnDuSBtb2Rlcm5vICovXG59XG5cbi8qIGltbWFnaW5pIGEgbWlzdXJhICovXG4jc3BsaWRlLTcgLnNwbGlkZV9fc2xpZGUgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLyogaW1tYWdpbmkgcmVzcG9uc2l2ZSAobm9uIG9iYmxpZ2F0b3JpbyBtYSBjb25zaWdsaWF0bykgKi9cbi5zcGxpZGVfX3NsaWRlIGltZyB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9IiwiLmZ1bGwtd2lkdGgtaW1hZ2UtYmFubmVyIHtcblxuICAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSByZWxhdGl2ZSgpO1xuICB9XG5cbn1cbiIsIi5iYW5uZXJDb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIEBpbmNsdWRlIHJwbXEocGFkZGluZy1ib3R0b20sICh4czogMHB4LCBtZDogMHB4KSk7XG4gIEBpbmNsdWRlIHJwbXEocGFkZGluZy10b3AsICh4czogMHB4LCBtZDogMHB4KSk7XG5cbiAgLm1hcmdpbk5lZ2F0aXZlIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5iYW5uZXJDYXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAmLmZpcnN0QmFubmVyIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTIwcHgpO1xuICAgICAgfVxuICAgIC5iYW5uZXJDb250YWluZXItY2FyZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAmLmZpcnN0QmFubmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGEge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIC5pbWFnZS1ib3ggaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtICRoZWFkZXItaGVpZ2h0KTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBhIHtcbiAgICAgIC8vICAgZGlzcGxheTogZmxleDtcbiAgICAgIC8vICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIC8vICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIC5pbWFnZS1ib3gge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNwbGlkZV9fc2xpZGUuZ3JleUJnIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhdGhlbnNHcmF5O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtYm94IHtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmcsICh4czogNXB4LCBtZDogMjBweCwgbGc6IDIwcHgpKTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTJweCwgbGc6IDE2cHgpKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2UsIG9wYWNpdHkgMC40cyBlYXNlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIC5pbWFnZS1ib3ggaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnRleHQtYm94IGgzIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgLy8gfVxuXG4gICAgfVxuXG4gICAgJi5maXhQYWRkaW5nTW9iaWxlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMTBweCAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiA9PT0gRXF1YWwtaGVpZ2h0IGJhbm5lcnMgKyBjb3ZlciAoZGVza3RvcCkgPT09ICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmJhbm5lckNvbnRhaW5lciB7XG5cbiAgICAvKiAxKSBMZSByaWdoZSBkZW50cm8gYmFubmVyIGRldm9ubyBzdHJldGNoYXJlIGkgZmlnbGkgaW4gYWx0ZXp6YSAqL1xuICAgIC5yb3cge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgLyogMikgTGEgY29sIGRpIGRlc3RyYSBoYSB1bmEgcm93IGludGVybmE6IGRldmUgZXJlZGl0YXJlIDEwMCUgYWx0ZXp6YSAqL1xuICAgIC5jb2wtMTIuY29sLW1kLTYuZy0wLmQtZmxleD4ucm93IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgIC8qIDMpIExlIGNvbG9ubmUgXCJiYW5uZXJDYXRcIiBkaXZlbnRhbm8gZmxleCBwZXIgZmFyIGNyZXNjZXJlIGxhIGNhcmQgKi9cbiAgICAuYmFubmVyQ2F0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAvKiBjZSBsJ2hhaSBnacOgLCBsbyBjb25mZXJtaWFtbyAqL1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICYuZmlyc3RCYW5uZXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAkaGVhZGVyLWhlaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogNCkgTGEgY2FyZCBlIGlsIGxpbmsgcmllbXBpb25vIGwnaW50ZXJhIGNvbG9ubmEgKi9cbiAgICAuYmFubmVyQ29udGFpbmVyLWNhcmQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIC8qIDwtIGNoaWF2ZSBwZXIgcGFyZWdnaWFyZSBsZSBhbHRlenplICovXG4gICAgfVxuXG4gICAgLmJhbm5lckNvbnRhaW5lci1jYXJkPmEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAvKiA1KSBMJ2FyZWEgaW1tYWdpbmUgcHJlbmRlIHR1dHRvIGxvIHNwYXppbyBkaXNwb25pYmlsZSAqL1xuICAgIC5iYW5uZXJDb250YWluZXItY2FyZCAuaW1hZ2UtYm94IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLyogNikgU3BsaWRlOiBmb3J6aWFtbyBsJ2FsdGV6emEgZGFsIGNvbnRhaW5lciBmaW5vIGFsbGEgc2xpZGUgKi9cbiAgICAuYmFubmVyQ29udGFpbmVyLWNhcmQgLnNwbGlkZSxcbiAgICAuYmFubmVyQ29udGFpbmVyLWNhcmQgLnNwbGlkZV9fdHJhY2ssXG4gICAgLmJhbm5lckNvbnRhaW5lci1jYXJkIC5zcGxpZGVfX2xpc3QsXG4gICAgLmJhbm5lckNvbnRhaW5lci1jYXJkIC5zcGxpZGVfX3NsaWRlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAvKiA3KSBMZSBpbW1hZ2luaSByaWVtcGlvbm8gZSB2ZW5nb25vIGNyb3BwYXRlICovXG4gICAgLmJhbm5lckNvbnRhaW5lci1jYXJkIC5pbWFnZS1ib3ggcGljdHVyZSxcbiAgICAuYmFubmVyQ29udGFpbmVyLWNhcmQgLmltYWdlLWJveCBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIC8qIG92ZXJyaWRlIGRlbCB0dW8gaGVpZ2h0OmF1dG8gKi9cbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59IiwiLm5sLWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhdGhlbnNHcmF5O1xuICBAaW5jbHVkZSBycG1xKHBhZGRpbmctdG9wIHBhZGRpbmctYm90dG9tLCBsaW5lYXItaW50ZXJwb2xhdGlvbigwLCAwLCB4cywgeHhsKSk7XG5cbiAgaDIgIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgsIG1kOiAxNnB4KSk7XG4gIH1cblxuICBoNCAge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCwgbWQ6IDE2cHgpKTtcbiAgfVxuXG4gIGgzICB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4LCBtZDogMTZweCkpO1xuICB9XG5cbiAgcCB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTBweCwgbWQ6IDExcHgpKTtcbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBjb2xvcjogJGdyZXk7XG4gICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxMnB4KSk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLmxlZnQtYm94IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgLnJpZ2h0LWJveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS0xO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBycG1xKCh3aWR0aCksIChtYmw6IDEwMCUsIGRzazogNTAlKSwgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzICk7XG4gIH1cblxuICBmb3JtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LTI7XG4gIH1cblxuICAuZm9ybS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC5zdWItdGV4dCB7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE3cHgsIG1kOiAxN3B4KSk7XG4gICAgfVxuICB9XG59XG4iLCIuY29tbW9uLWhlYWRpbmcge1xuICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZy1ib3R0b20sICh4czogMCwgbGc6IDMwcHgpKTtcblxuICAgIC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZywgKHhzOiAwLCBsZzogMCkpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4LCBsZzogMTZweCkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG59IiwiJG1vZGFsSGVpZ2h0OiA2ODBweDtcblxuLmdyZWNhcHRjaGEtYmFkZ2Uge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbiNuZXdzbGV0dGVyTW9kYWwge1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLWJzLW1vZGFsLW1hcmdpbikqMik7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAuYnRuLWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMjJweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkYmxhY2s7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBAaW5jbHVkZSByZnNtcShcbiAgICAgICAgICAoXG4gICAgICAgICAgICB4czogMTZweCxcbiAgICAgICAgICAgIG1kOiAxNnB4LFxuICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMGQ3XCI7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm1vZGFsLW5sLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC8vIGhlaWdodDogJG1vZGFsSGVpZ2h0O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgQGluY2x1ZGUgcnBtcShcbiAgICAgICAgICBtaW4td2lkdGgsXG4gICAgICAgICAgKFxuICAgICAgICAgICAgeHM6IDEwMCUsXG4gICAgICAgICAgICBsZzogNTAlLFxuICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICAubW9kYWwtbmwtZm9ybSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIC5jb250IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICAgICAgICAgIC8vIHdpZHRoOjg1JTtcbiAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OjUlO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnBtcShcbiAgICAgICAgICAgICAgcGFkZGluZyxcbiAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgIHhzOiA0MHB4LFxuICAgICAgICAgICAgICAgIGxnOiA4MHB4LFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLy8gQGluY2x1ZGUgcnBtcShwYWRkaW5nLXJpZ2h0LCAoeHM6IDE1cHgsIGxnOiA4MHB4KSk7XG4gICAgICAgICAgICAvLyBoZWlnaHQ6ICRtb2RhbEhlaWdodDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMjVweCAwcHggMzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb3JtLWNoZWNrLWxhYmVse1xuICAgICAgICAgICAgICBmb250LXdlaWdodDpub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgXG5cbiAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgIHhzOiAxNnB4LFxuICAgICAgICAgICAgICAgICAgbWQ6IDIwcHgsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICBAaW5jbHVkZSByZnNtcShcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICB4czogMjhweCxcbiAgICAgICAgICAgICAgICAgIG1kOiAzNnB4LFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoXG4gICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgIHhzOiAyMHgsXG4gICAgICAgICAgICAgICAgICAgIG1kOiAyNHB4LFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI0hQTmV3c2xldHRlckZvcm0ge1xuICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaHAtbmwtcHJpdmFjeSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKFxuICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICB4czogMTFweCxcbiAgICAgICAgICAgICAgICAgICAgbWQ6IDEycHgsXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnRuLW5sLXBvcHVwLXN1YnNjcmliZSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcnBtcShcbiAgICAgICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICB4czogMTAwJSxcbiAgICAgICAgICAgICAgICAgIG1kOiBhdXRvLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWwtbmwtaW1nIHtcbiAgICAgICAgICAvLyBtaW4td2lkdGg6IDUwJTtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJoZWFkZXJbcm9sZT1cImJhbm5lclwiXSB7XG4gIC8vIEBpbmNsdWRlIGFwcC1tYXgtd2lkdGgoKTtcbiAgei1pbmRleDogMTAwO1xuICAvLyBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcblxuICAudXNlciAmLFxuICAuYWNjb3VudCAmIHtcbiAgICAmKyoge1xuICAgICAgLy8gQGluY2x1ZGUgcnBtcShwYWRkaW5nLXRvcCwgKG1ibDogMjAwcHgsIGRzazogMjMwcHgpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpOyAgXG4gICAgfVxuXG4gICAgLm1lbnUtYmFyIC5tYWluLW5hdj4ubGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogN3B4O1xuXG4gICAgfVxuICB9XG5cbiAgLyogTWlnbGlvcmEgbGEgY29sbGFwc2UgZGkgQm9vdHN0cmFwIGNvbiBmYWRlICsgc2xpZGUgKi9cbiAgI2ZpbHRlcnNDb2xsYXBzZSB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4zNXMgZWFzZSwgb3BhY2l0eSAuMjVzIGVhc2UsIHRyYW5zZm9ybSAuMjVzIGVhc2U7XG4gIH1cblxuICAjZmlsdGVyc0NvbGxhcHNlLmNvbGxhcHNlOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIGV2aXRhIHNhbHRpIGRpIGxheW91dCBkdXJhbnRlIGwnYW5pbWF6aW9uZSAqL1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuICB9XG5cbiAgI2ZpbHRlcnNDb2xsYXBzZS5jb2xsYXBzZS5zaG93IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIC8qIFN0YXRvIGR1cmFudGUgaWwgY2FsY29sbyBoZWlnaHQgZGkgQm9vdHN0cmFwICovXG4gICNmaWx0ZXJzQ29sbGFwc2UuY29sbGFwc2luZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XG4gIH1cblxuICAvKiBFZmZldHRvIHN1bCBwdWxzYW50ZTogcnVvdGEgbOKAmWljb25hIHF1YW5kbyBhcGVydG8gKi9cbiAgI3Nob3dGaWx0ZXJzQnV0dG9uRGVzayAuZmlsdGVyLWljb24ge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGVhc2U7XG4gIH1cblxuICAjc2hvd0ZpbHRlcnNCdXR0b25EZXNrOm5vdCguY29sbGFwc2VkKSAuZmlsdGVyLWljb24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxuXG5cbiAgLmlzLW1vYmlsZS1tZW51LW9wZW4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cbiAgICA+Lm1haW4tcGFkZGluZyB7XG4gICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNjZGNkY2Q7XG4gICAgfVxuICB9XG5cbiAgJisqIHtcbiAgICAvLyBwYWRkaW5nLXRvcDogJGhlYWRlci1oZWlnaHQ7XG5cbiAgICAvKkBtZWRpYSAobWF4LXdpZHRoOiBicmVha3BvaW50LW1heChkc2ssICRtb2JpbGUtbWVudS1icmVha3BvaW50cykpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkaGVhZGVyLWhlaWdodCArICRzdWJtZW51LWJhci1oZWlnaHQ7XG4gICAgfSovXG4gIH1cblxuICAucHJvbW90aW9ucy1iYXIge1xuICAgIEBpbmNsdWRlIHJwbXEoKHBhZGRpbmctbGVmdCBwYWRkaW5nLXJpZ2h0KSwgJGhlYWRlci1wYWRkaW5nKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEycHgpKTtcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHAge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICAuY2VudGVyLXRleHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEycHgpKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnByb21vLW1hcnF1ZWUtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAvLyBuaWVudGUgYW5pbWF6aW9uZSBkaSBkZWZhdWx0XG4gICAgfVxuXG4gICAgLnByb21vLWNvZGUtcGlsbCB7XG4gICAgICBwYWRkaW5nOiAzcHggMTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjA4ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgfVxuXG4gICAgLnByb21vLWNvZGUtcGlsbC5jb3BpZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICAvKiA9PT09PSBNT0JJTEUgPT09PT0gKi9cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgICAgIC5jZW50ZXItdGV4dCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgICAgICAvLyBwZXIgZGVmYXVsdDogdHV0dG8gY2VudHJhdG9cbiAgICAgIH1cblxuICAgICAgLnByb21vLW1hcnF1ZWUtdGV4dCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7ICAgICAvLyBzZW1wcmUgdW5hIHNvbGEgcmlnYVxuICAgICAgfVxuXG4gICAgICAvLyBzb2xvIHF1YW5kbyBKUyBhZ2dpdW5nZSAuaGFzLW1hcnF1ZWVcbiAgICAgICYuaGFzLW1hcnF1ZWUge1xuICAgICAgICAuY2VudGVyLXRleHQge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvbW8tbWFycXVlZS10ZXh0IHtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogcHJvbW8tbWFycXVlZTtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxOHM7IC8vIHZhbG9yZSBiYXNlLCBwb2kgbG8gYWdnaXVzdGlhbW8gdmlhIEpTXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBERVNLVE9QICovXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuICAgICAgLmNlbnRlci10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUobGVmdCA1MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoga2V5ZnJhbWVzIGRlbCBtYXJxdWVlICovXG4gIEBrZXlmcmFtZXMgcHJvbW8tbWFycXVlZSB7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIH1cblxuXG4gIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAvLyBAaW5jbHVkZSBycG1xKG1hcmdpbi10b3AsICh4czogMHB4LCBtZDogNDBweCkpO1xuICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZy10b3AsICh4czogMHB4LCBtZDogMHB4KSk7XG4gICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vIHRvcDogMDtcbiAgICAvLyBsZWZ0OiAwO1xuICAgIC8vIHJpZ2h0OiAwO1xuICAgIC8vIFxuXG4gICAgLmlzLW1vYmlsZS1tZW51LW9wZW4gJiB7XG4gICAgICAvLyBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICB9XG5cbiAgICAmLnNjcm9sbGVkIHtcbiAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZywgKHhzOiAwcHgsIG1kOiAwcHgpKTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAvLyBwYWRkaW5nOiAzcHggMDtcbiAgICB9XG4gIH1cblxuICAubWVudS1iYXIge1xuICAgIC8vIEBpbmNsdWRlIHJwbXEoKGhlaWdodCksICh4czogNDRweCwgbWQ6IDY1cHgpKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgLy8gdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNpbmcoKTtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuXG4gICAgQGluY2x1ZGUgcnBtcSgobWFyZ2luKSwgKHhzOiAwLCBtZDogMCkpO1xuICAgIEBpbmNsdWRlIHJwbXEoKHBhZGRpbmcpLCAoeHM6IDVweCAwLCBtZDogMTBweCA1MHB4KSk7XG4gICAgQGluY2x1ZGUgcnBtcSgoYWxpZ24taXRlbXMpLCAoeHM6IGZsZXgtc3RhcnQsIG1kOiBjZW50ZXIpKTtcblxuICAgIC5oYW1idXJnZXItaW5uZXIsXG4gICAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLFxuICAgIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIH1cblxuICAgICYubGlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRiZy1tZWdhbWVudS1saWdodDtcbiAgICB9XG5cbiAgICAuaXMtbW9iaWxlLW1lbnUtb3BlbiAmIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuXG4gICAgICAuaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyLFxuICAgICAgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLFxuICAgICAgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICAmLmxpZ2h0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLW1lZ2FtZW51LWxpZ2h0O1xuXG4gICAgICAgIC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIsXG4gICAgICAgIC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbiAgICAgICAgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5saWdodCB7XG5cbiAgICAgIC5oYW1idXJnZXItaW5uZXIsXG4gICAgICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4gICAgICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwuZmlyc3QtbGV2ZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIC8vcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBhZGRpbmc6IDAgM3B4O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzaW5nKCk7XG5cblxuICAgICAgLmNhdGVnb3J5LWxldmVsLTEge1xuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICR3aGl0ZTtcbiAgICAgICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLmluIHtcbiAgICAgICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuNXMgZWFzaW5nKCk7XG4gICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKG1ibDogMTRweCwgZHNrOiAxNnB4KSwgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmNhdGVnb3J5LWxpbmstbGV2MSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bC5jb2xzIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjcwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXRlZ29yeS1sZXZlbC0yIHtcbiAgICAgICAgICAgIGEuY2F0ZWdvcnktbGluay1sZXYyIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaW4ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogODRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgcGFkZGluZzogMzBweCA1NXB4IDUwcHg7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAtNDBweDsgLy8gcmVnb2xhIGluIGJhc2UgYSBxdWFudG8gdnVvaSBsdW5nYSBsYSBzZnVtYXR1cmFcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjI1KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB1bC5jb2xzIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtc3gge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC5tZW51LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLyogTmFzY29uZGUgY2nDsiBjaGUgZXNjZSBmdW9yaSBkYWwgY29udGVuaXRvcmUgKi9cbiAgICAgIH1cblxuXG4gICAgICAuY2F0ZWdvcnkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgfVxuXG4gICAgICAuc2hpZnQtbGVmdCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIC8qIE11b3ZlIGlsIG1lbnUgY29tcGxldGFtZW50ZSBhIHNpbmlzdHJhICovXG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5zdWItbGlzdCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgIC8qIEluaXppYWxtZW50ZSBsYSBsaXN0YSDDqCBmdW9yaSBkYWxsbyBzY2hlcm1vICovXG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAmLnNob3cge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHggMHB4O1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgIC5yb3RhdGUtYXJyb3cge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgLyogQXNzaWN1cmEgbCdhbmltYXppb25lIGZsdWlkYSBhbmNoZSBxdWFuZG8gdG9ybmEgaW5kaWV0cm8gKi9cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG5cbiAgICB9XG5cbiAgICAuZGVza3RvcC1vbmx5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IGJyZWFrcG9pbnQtbWluKGRzaywgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKSkge1xuXG4gICAgICAvKiA+PSA5OTIqL1xuICAgICAgI21vYmlsZU1lbnVUb2dnbGVUYXJnZXQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZGVza3RvcC1vbmx5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICB1bCB7XG5cbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIEBpbmNsdWRlIHJwbXEoKHBhZGRpbmctcmlnaHQpLCAobWJsOiA1cHgsIGRzazogMCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG4gICAgICBAaW5jbHVkZSBycG1xKChtYXJnaW4tdG9wKSwgKG1ibDogMCwgZHNrOiAwKSwgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKTtcblxuICAgICAgbGkge1xuXG4gICAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLnN1Yi1saXN0IHtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxOHB4KSk7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgICAgaDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLWxlZnQsICh4czogMTZweCwgbWQ6IDE2cHgsIGxnOiAwKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE4cHgpKTtcblxuICAgICAgICAgICYubWFpbi1saW5rIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAuaXMtbW9iaWxlLW1lbnUtb3BlbiAmIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgpKTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuXG4gICAgICAgICYuY2F0ZWdvcnkudXBwZXItbGV2ZWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAvLyAmOmhvdmVye1xuICAgICAgICAgIC8vICAgdWwuZmlyc3QtbGV2ZWx7XG4gICAgICAgICAgLy8gICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAvLyAgIH1cbiAgICAgICAgICAvLyB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm1haW4tcGFkZGluZyB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAuaXMtbW9iaWxlLW1lbnUtb3BlbiAmLnBhcmVudCB7XG4gICAgICAgIC8vICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgICYuY2F0ZWdvcnkge1xuICAgICAgICAgIC8vIHBhZGRpbmc6IDBweCAyMHB4O1xuICAgICAgICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIC8vZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAvL2Rpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEoYmFja2dyb3VuZC1jb2xvciwgKHhzOiB0cmFuc3BhcmVudCwgbWQ6IHRyYW5zcGFyZW50KSk7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShqdXN0aWZ5LWNvbnRlbnQsIChtYmw6IGNlbnRlciwgZHNrOiBpbml0aWFsKSwgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKTtcblxuICAgICAgICAgIC8qLmlzLW1vYmlsZS1tZW51LW9wZW4gJiB7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9hcnJvdy1yaWdodC13aGl0ZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0O1xuICAgICAgICAgICB9XG4gICAgICAgICAgfSAqL1xuXG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBoZWlnaHQ6IDUzcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J00yIDVMOCAxMUwxNCA1Jy8+PC9zdmc+XCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoLmNvbGxhcHNlZCkge1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmFjY29yZGlvbi1ib2R5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuXG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC41cyBlYXNpbmcoKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLCAobWJsOiA1cHggMCwgZHNrOiAwIDI1cHgpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuICAgICAgQGluY2x1ZGUgcmZzbXEoKG1ibDogMTRweCwgZHNrdHA6IDE3cHgpKTtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEobWF4LXdpZHRoLCAobWJsOiA2NXB4LCBkc2s6IDcwcHgpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgfVxuXG4gICAgICAuaXMtbW9iaWxlLW1lbnUtb3BlbiAmIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIH1cblxuICAgICAgJi5icmFuZC13ZWJzaXRlIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tbmF2IHtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IGJyZWFrcG9pbnQtbWluKGRzaywgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKSkge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgPnVsIHtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcbiAgICAgICAgPnVsIHtcbiAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICAgID4ubGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEoZGlzcGxheSwgKG1ibDogaW5saW5lLWZsZXgsIGRzazogZmxleCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZy10b3AsIChtYmw6IDAsIGRzazogMTBweCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEoYWxpZ24taXRlbXMsIChtYmw6IGZsZXgtc3RhcnQsIGRzazogY2VudGVyKSwgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKTtcblxuICAgICAgICAuaGFtYnVyZ2VyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEoZGlzcGxheSwgKGRzazogbm9uZSksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG4gICAgICAgICAgLy9AaW5jbHVkZSBycG1xKG1hcmdpbi1yaWdodCwgKHNtOiAxMHB4KSk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG5cbiAgICAgICAgICAgIC5oYW1idXJnZXItaW5uZXIsXG4gICAgICAgICAgICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4gICAgICAgICAgICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBtb2JpbGUgbWVudVxuICAgICAgPiNtb2JpbGVNZW51VG9nZ2xlVGFyZ2V0IHtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogYnJlYWtwb2ludC1tYXgoZHNrLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUoYm90dG9tIGxlZnQgcmlnaHQpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKDEwMCUpKTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIC8vQGluY2x1ZGUgcnBtcSgocGFkZGluZy1sZWZ0IHBhZGRpbmctcmlnaHQpLCAkaGVhZGVyLXBhZGRpbmcpO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtICN7JGhlYWRlci1oZWlnaHQtbWJsfSAtIDFweCk7XG4gICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgcGFkZGluZzogMHB4IDBweCAxNTBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIC8qYm94LXNoYWRvdzogMHB4IDVweCAxNXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7Ki9cbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIC8vIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjUwbXMgZWFzaW5nKCk7XG4gICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuXG5cbiAgICAgICAgICAmLmluIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuaXMtbW9iaWxlLW1lbnUtb3BlbiAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDQwcHggMTBweCAwO1xuICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyM0ZGRkZGRicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LXRhYnMge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGZsaW50Um9jaztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudGFiLWNvbnRlbnQge1xuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmV4dHJhLWxpbmtzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgLnN2Z1NlbGVjdEhlYWRlciB7XG4gICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubWFpbi1saW5rIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAuaXMtbW9iaWxlLW1lbnUtb3BlbiAmIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGlzdGluby1zZWxlY3QsXG4gICAgICAgICAgICAudHJhbnNsYXRpb24tc2VsZWN0IHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIFxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCkpO1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC51c2VyLW5hdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmcsIChtYmw6IDEwcHggMCwgZHNrOiAxMHB4IDApLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuXG4gICAgICAuaXMtbW9iaWxlLW1lbnUtb3BlbiAmIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgLnN2Z1NlbGVjdEhlYWRlciB7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICYudHJhbnNsYXRpb24tc2VsZWN0LFxuICAgICAgICAgICYubGlzdGluby1zZWxlY3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAuaXMtbW9iaWxlLW1lbnUtb3BlbiAmIHtcbiAgICAgICAgICAgICAgLy8gZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcblxuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyM0ZGRkZGRicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDVweCA0MHB4IDVweCAwO1xuICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgICAgb3B0aW9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYudXNlci1hY2NvdW50IHtcbiAgICAgICAgICAgIC5pcy1tb2JpbGUtbWVudS1vcGVuICYge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuaWNvbi1vbmx5IHtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4KSk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuNXMgZWFzaW5nKCk7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlWCgxKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9wZXIgaG92ZXIgc3UgbWVudVxuICAgICAgICAgICAgJG1vdGlvbnMtZWFzaW5nLWJlemllci1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNTAsIDAuMDAsIDAuNTAsIDEuMDApO1xuICAgICAgICAgICAgJG1vdGlvbnMtZWFzaW5nLWJlemllci1xdWFydDogY3ViaWMtYmV6aWVyKDAuMzAsIDEuMDAsIDAuNTAsIDEuMDApO1xuXG4gICAgICAgICAgICAkbW90aW9ucy1zcGVlZC1mYXN0OiAyMDBtcztcbiAgICAgICAgICAgICRtb3Rpb25zLXNwZWVkLXN0YW5kYXJkOiA0MDBtcztcbiAgICAgICAgICAgICRtb3Rpb25zLXNwZWVkLXNsb3c6IDEwMDBtcztcblxuICAgICAgICAgICAgJG1vdGlvbnMtZGVsYXktZmFzdDogMjAwbXM7XG4gICAgICAgICAgICAkbW90aW9ucy1kZWxheS1zdGFuZGFyZDogNDAwbXM7XG5cbiAgICAgICAgICAgICR1bmRlcmxpbmUtY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgJGxpbmUtaGVpZ2h0OiAxcHg7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3I7XG5cbiAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlWCgwKTtcblxuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG1vdGlvbnMtc3BlZWQtc3RhbmRhcmQgJG1vdGlvbnMtZWFzaW5nLWJlemllci1jdWJpYztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuXG4gICAgICAgICAgICAgICYuaWNvbi1sb2NrIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvbG9jay5zdmdcIik7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmLmljb24tc2VhcmNoIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvc2VhcmNoLnN2Z1wiKTtcblxuICAgICAgICAgICAgICAgIC5pcy1tb2JpbGUtbWVudS1vcGVuICYge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL3NlYXJjaC5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi5pY29uLXVzZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9wcm9maWxlLnN2Z1wiKTtcblxuICAgICAgICAgICAgICAgIC5pcy1tb2JpbGUtbWVudS1vcGVuICYge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL3Byb2ZpbGUuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYuaWNvbi1zaG9wcGluZy1jYXJ0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvYnV5LnN2Z1wiKTtcblxuICAgICAgICAgICAgICAgICYuaGFzLWl0ZW1zIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9idXkuc3ZnXCIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pcy1tb2JpbGUtbWVudS1vcGVuICYge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2J1eS5zdmdcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgKy50ZXh0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5yZXNlcnZlZC1hcmVhIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnBtcShib3JkZXItcmlnaHQsIChkc2s6IDFweCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3IpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tcmlnaHQsIChkc2s6IDZweCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBicmVha3BvaW50LW1heChkc2ssICRtb2JpbGUtbWVudS1icmVha3BvaW50cykpIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4eGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDExcHgpKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHh4bCkge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmljb24tb25seSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLCAobWJsOiAwcHggMTBweCwgZHNrOiAwIDE1cHgpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDdweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuaXMtbW9iaWxlLW1lbnUtb3BlbiAmIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmljb24tc2hvcHBpbmctY2FydCB7XG4gICAgICAgICAgICAgICAgLml0ZW1zLWNvdW50IHtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMHB4KTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAxMnB4O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmljb25Mb2cge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5zZWFyY2gge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICBAaW5jbHVkZSByZWxhdGl2ZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGV4dHJhbGlnaHRncmV5O1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZXh0cmFsaWdodGdyZXk7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgJi5pbiB7XG4gICAgICAgICAgICAgIC5zZWFyY2gtcGFuZWwge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgPmEge1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VhcmNoLXBhbmVsIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUocmlnaHQgYm90dG9tIDEwcHgpO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGJvdHRvbTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNpbmcoKTtcbiAgICAgICAgICAgICAgLy96LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDYwcHgpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEwMCUpO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZShyaWdodCB0b3AgYm90dG9tKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNHB4IDE0cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9zZWFyY2guc3ZnXCIpO1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGNvbG9yaSBwZXIgaWwgdGVtYSBjaGlhcm9cbiAgICAmLmxpZ2h0IHtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgLmV4dHJhLWxpbmtzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLW1lZ2FtZW51LWxpZ2h0ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgYSxcbiAgICAgICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjM3MDcwNzAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLyUzRSUzQy9zdmclM0VcIikgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmljb24ge1xuXG4gICAgICAgICYuaWNvbi1zZWFyY2gge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9zZWFyY2gtbGlnaHQuc3ZnXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmljb24tdXNlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL3Byb2ZpbGUtbGlnaHQuc3ZnXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmljb24tc2hvcHBpbmctY2FydCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2J1eS1saWdodC5zdmdcIikgIWltcG9ydGFudDtcblxuICAgICAgICAgICYuaGFzLWl0ZW1zIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9idXktbGlnaHQuc3ZnXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC51c2VyLW5hdiB1bCBsaSAuZm9ybS1zZWxlY3Qge1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIC5maXJzdC1sZXZlbC5yb3cuaW4gdWwgbGksXG4gICAgICBsaS5jYXRlZ29yeSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC5zdWJtZW51LWJhciB7XG4gICAgcGFkZGluZzogMTRweCAwcHggMHB4IDE0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDVweDtcbiAgICAvL2ZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogJHN1Ym1lbnUtYmFyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IGJyZWFrcG9pbnQtbWluKGRzaywgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc2Nyb2xsLXN1Ym1lbnUge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICAgICYgYTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICMwMDA7XG4gICAgICBwYWRkaW5nOiA3cHggMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICB9XG5cbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAzMHB4IDQwcHggMzBweCAwO1xuICBib3JkZXI6IG5vbmU7XG4gIC8vIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjRTBFMEUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDA7XG59XG5cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0tc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLnNlbGVjdDItZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXI6IDBweDtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuXG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1zZWxlY3RhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiA0cHggOHB4O1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICB0b3A6IDBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ltYWdlcy9hcnJvdy1yaWdodC13aGl0ZS5zdmcnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogNnB4O1xuICBib3JkZXI6IG5vbmU7XG4gIHdpZHRoOiAxMHB4O1xuICAvKiBwdW9pIHJlZ29sYXJsbyBpbiBiYXNlIGFsbOKAmWljb25hICovXG4gIGhlaWdodDogMTAwJTtcbiAgcmlnaHQ6IDE1cHg7XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzPi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBwYWRkaW5nOiAwO1xufVxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOiBicmVha3BvaW50LW1pbihkc2ssICRtb2JpbGUtbWVudS1icmVha3BvaW50cykpIHtcbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1hZ2VzL2ljb24tYXJyb3ctcmlnaHQuc3ZnJyk7XG4gICAgLyogdHVhIGljb25hICovXG4gICAgcmlnaHQ6IDNweDtcblxuICB9XG5cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGNvbG9yOiBibGFjaztcblxuICB9XG5cbiAgLnNlbGVjdDItZHJvcGRvd24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWdyYXk7XG4gIH1cblxuICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWdyYXk7XG4gIH1cblxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0tc2VsZWN0YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtZ3JheTtcbiAgfVxuXG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgcGFkZGluZzogNHB4IDBweDtcbiAgfVxuXG59XG5cbi8vIFNVQk1FTlUgQkFDS0dST1VORFxuXG5tYWluW3JvbGU9XCJtYWluXCJdLFxuLnRoYW5reW91IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvcjogJHByaW1hcnksICRhbHBoYTogLjApO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgZWFzZS1pbi1vdXQgLjVzO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIEBpbmNsdWRlIGZpeGVkKHRvcCAwIGxlZnQgMCByaWdodCAwIGJvdHRvbSAwKTtcbiAgfVxuXG4gIC5zdWJtZW51LW9wZW4gJiB7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvcjogJHByaW1hcnksICRhbHBoYTogLjkpO1xuICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IFxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciBlYXNlLWluLW91dCAuM3M7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgQGluY2x1ZGUgZml4ZWQodG9wIDAgbGVmdCAwIHJpZ2h0IDAgYm90dG9tIDApO1xuXG4gICAgfVxuXG4gIH1cblxufVxuXG5ib2R5LmxpZ2h0IHtcblxuICBtYWluW3JvbGU9XCJtYWluXCJdLFxuICAudGhhbmt5b3Uge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvcjogI2VlZWVlZSwgJGFscGhhOiAuMCk7XG4gICAgfVxuICB9XG5cbiAgJi5zdWJtZW51LW9wZW4ge1xuXG4gICAgbWFpbltyb2xlPVwibWFpblwiXSxcbiAgICAudGhhbmt5b3Uge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3I6ICNlZWVlZWUsICRhbHBoYTogMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiZm9vdGVyIHtcbiAgLmNvbnRlbnQtaW5mbyB7XG4gICAgYmFja2dyb3VuZDogJGZvb3Rlci1iZy1saWdodDtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggJGZvb3Rlci1ib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgcnBtcSgocGFkZGluZy10b3ApLCAoeHM6IDQ1cHgsIG1kOiAxMDBweCkpO1xuICAgIEBpbmNsdWRlIHJwbXEoKHBhZGRpbmctYm90dG9tKSwgKHhzOiAzNXB4LCBtZDogNjBweCkpO1xuICAgIEBpbmNsdWRlIHJwbXEoKHBhZGRpbmctbGVmdCwgcGFkZGluZy1yaWdodCksICRtYWluLXBhZGRpbmcpO1xuXG4gICAgLmZvb3Rlci1jb250YWluZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogJGZvb3Rlci1tYXgtd2lkdGg7XG5cbiAgICAgIEBpbmNsdWRlIHJwbXEoKGZsZXgtZGlyZWN0aW9uKSwgKG1ibDogY29sdW1uLCBkc2s6IHJvdyksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG4gICAgICAvL0BpbmNsdWRlIHJwbXEoaGVpZ2h0LCAobWJsOiAxOHB4LCBkc2s6IDIycHgpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuICAgICAgLy9AaW5jbHVkZSBycG1xKChtYXJnaW4tcmlnaHQsIG1hcmdpbi1sZWZ0KSwgKG1ibDogMCwgZHNrOiAtNzBweCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG5cbiAgICAgIC5mb290ZXItY29sIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgfVxuICAgICAgICAvLyBAaW5jbHVkZSBycG1xKChtYXJnaW4tcmlnaHQsIG1hcmdpbi1sZWZ0KSwgKG1ibDogMCwgZHNrOiA3MHB4KSwgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKTtcbiAgICAgICAgLy9AaW5jbHVkZSBycG1xKChtYXJnaW4tcmlnaHQsIG1hcmdpbi1sZWZ0KSwgKHhzOiAwcHgsIG1kOiAyN3B4KSk7XG5cbiAgICAgICAgJi5sb2dvLWZvb3RlciB7XG4gICAgICAgICAgLmZvb3Rlci1sb2dvIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY29sbGFwc2UtY29udGVudCB7XG4gICAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29sbGFwc2UtY29udGVudCB7XG4gICAgICAgICAgLy9saW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKChwYWRkaW5nLXRvcCksIChtYmw6IDIwcHgsIGRzazogMCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcSgocGFkZGluZy1ib3R0b20pLCAobWJsOiAyMHB4LCBkc2s6IDApLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvb3Rlci1sb2dvIHtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKChtYXgtd2lkdGgpLCAoeHM6IDE1MHB4LCBtZDoxMDAlKSk7XG4gICAgICAgIH1cblxuICAgICAgICAucGF5bWVudC1pY29ucyB7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcSgobWF4LXdpZHRoKSwgKHhzOiAxMDAlLCBtZDogMTAwJSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogI2Zvb3Rlci1jb2xsYXBzZS00IHtcbiAgICAgICAgQGluY2x1ZGUgcnBtcSgobWFyZ2luLWxlZnQpLCAoeHM6IC0yMHB4LCBtZDogMHB4KSk7XG4gICAgICB9Ki9cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKChtYXJnaW4tbGVmdCksIChtYmw6IDAsIGRzazogMCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEoKG1hcmdpbi1yaWdodCksIChtYmw6IDAsIGRzazogMCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBycG1xKCh0ZXh0LWFsaWduKSwgKG1ibDogbGVmdCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyApO1xuICAgICAgICBAaW5jbHVkZSBycG1xKChib3JkZXItdG9wKSwgKG1ibDogMXB4IHNvbGlkICRmb290ZXItYm9yZGVyLWNvbG9yLCBkc2s6IG5vbmUpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMgKTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEoKGJvcmRlci1ib3R0b20pLCAobWJsOiAxcHggc29saWQgJGZvb3Rlci1ib3JkZXItY29sb3IsIGRzazogbm9uZSksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyApO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBjb2xvcjogJGZvb3Rlci1jb2xvci1kYXJrO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNnB4KSk7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcSgobWFyZ2luLWJvdHRvbSksIChtYmw6IDAsIGRzazogMzNweCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyApO1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEoKG1hcmdpbi10b3ApLCAobWJsOiAzMHB4LCBkc2s6IDE0cHgpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMgKTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLWNvbG9yLWRhcms7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBycG1xKChwb2ludGVyLWV2ZW50cyksIChkc2s6IG5vbmUpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTdweCkpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnBtcSgocGFkZGluZy10b3AsIHBhZGRpbmctYm90dG9tKSwgKG1ibDogMjBweCwgZHNrOiAwKSwgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzICk7XG4gICAgICAgICAgICBAaW5jbHVkZSBycG1xKChkaXNwbGF5KSwgKG1ibDogaW5saW5lLWJsb2NrLCBkc2s6IGlubGluZSksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyApO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnBtcSgod2lkdGgpLCAobWJsOiAxMDAlLCBkc2s6IGF1dG8pLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEoKGN1cnNvciksIChtYmw6IHBvaW50ZXIsIGRzazogdGV4dCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyApO1xuICAgICAgICAgICAgLy9AaW5jbHVkZSBycG1xKChib3JkZXItdG9wKSwgKG1ibDogMXB4IGRhc2hlZCAkYm9yZGVyLWNvbG9yLCBkc2s6IG5vbmUpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEoKGJvcmRlci1ib3R0b20pLCAobWJsOiAxcHggZGFzaGVkICRib3JkZXItY29sb3IsIGRzazogbm9uZSksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyApO1xuXG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2luZygpO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEoKGJhY2tncm91bmQpLCAobWJsOiB1cmwoJy4uLy4uL2ltYWdlcy9hcnJvdy1yaWdodC13aGl0ZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0LCBkc2s6IG5vbmUpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMgKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcnBtcSgoZGlzcGxheSksIChtYmw6IGJsb2NrLCBkc2s6IG5vbmUpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMgKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGlzdC1saW5rIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAgICAgICBAaW5jbHVkZSBycG1xKChtYXJnaW4tYm90dG9tKSwgKHhzOiAwKSk7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcSgocGFkZGluZy1sZWZ0KSwgKHhzOiAwKSk7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcSgocGFkZGluZy1ib3R0b20pLCAobWJsOiAxNnB4LCBkc2s6MCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyApO1xuXG4gICAgICAgICAgJi5zb2NpYWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIGxpIHtcblxuICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEoKG1hcmdpbi1ib3R0b20pLCAoeHM6IDVweCkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGkge1xuXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBycG1xKChtYXJnaW4tYm90dG9tKSwgKHhzOiA3cHgsIG1kOiAxMHB4KSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1jb2xvci1kYXJrO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cblxuICAgICAgICB9XG5cbiAgICAgICAgJi5jb2wtc2VydmljZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICAgICAgICAvL0BpbmNsdWRlIHJwbXEoKG1heC13aWR0aCksIChtYmw6IDEwMCUsIGRzazogNTYwcHgpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMgKTtcbiAgICAgICAgICAvL0BpbmNsdWRlIHJwbXEoKHdpZHRoKSwgKG1ibDogMTAwJSwgZHNrOiAzMCUpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMgKTtcblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICRmb290ZXItY29sb3ItZGFyaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgpKTtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29udGVudC1pbmZvMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1iZy1kYXJrO1xuICAgIC5mb290ZXItYm90dG9tLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXgtd2lkdGg6ICRmb290ZXItbWF4LXdpZHRoO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIHJwbXEoKG1hcmdpbi10b3ApLCAobWJsOiAzMHB4LCBkc2s6IDMwcHgpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuICAgICAgQGluY2x1ZGUgcnBtcSgocGFkZGluZy10b3ApLCAoeHM6IDBweCkpO1xuICAgICAgQGluY2x1ZGUgcnBtcSgoZGlzcGxheSksICh4czogZmxleCkpO1xuICAgICAgQGluY2x1ZGUgcnBtcSgoanVzdGlmeS1jb250ZW50KSwgKHhzOiBzcGFjZS1jZW50ZXIpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuICAgICAgQGluY2x1ZGUgcnBtcSgoYWxpZ24taXRlbXMpLCAobWJsOiBjZW50ZXIsIGRzazogY2VudGVyKSwgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKTtcbiAgICAgIEBpbmNsdWRlIHJwbXEoKGZsZXgtZGlyZWN0aW9uKSwgKG1ibDogY29sdW1uLCBkc2s6IGNvbHVtbiksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG5cbiAgICAgIC5jb21wYW55LWluZm8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgcnBtcSgobWFyZ2luLWJvdHRvbSksIChtYmw6IDBweCwgZHNrOiAwKSwgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKTtcbiAgICAgICAgQGluY2x1ZGUgcnBtcSgob3JkZXIpLCAobWJsOiAzLCBkc2s6IHVuc2V0KSwgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKTtcbiAgICAgICAgLy9AaW5jbHVkZSBycG1xKCh0ZXh0LWFsaWduKSwgKG1ibDogY2VudGVyLCBkc2s6IGxlZnQpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLWNvbG9yLWxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLWNvbG9yLWxpZ2h0ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBAaW5jbHVkZSBycG1xKChtYXJnaW4tYm90dG9tKSwgKHhzOiAwKSk7XG4gICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNnB4KSk7XG5cbiAgICAgICAgICAmLmRldGFpbC0xIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5kZXRhaWwtMiB7XG4gICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1jb2xvci1saWdodCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxMnB4KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ieSB7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEoKG9yZGVyKSwgKG1ibDogNSwgZHNrOiB1bnNldCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG5cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICRmb290ZXItY29sb3ItZGFyaztcblxuICAgICAgICBAaW5jbHVkZSBycG1xKChtYXJnaW4tYm90dG9tKSwgKHhzOiAwKSk7XG4gICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTVweCkpO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbn0iLCJib2R5LnBhZ2UtaG9tZXBhZ2Uge1xuICBtYWluW3JvbGU9J21haW4nXXtcbiAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLXRvcCwgKG1ibDogJGhlYWRlci1oZWlnaHQtbWJsLCBkc2s6ICRoZWFkZXItaGVpZ2h0KSwgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKTtcbiAgfVxuXG4gIC8vIC5zbGljay1zbGlkZSB7XG4gIC8vICAgLy8gQGluY2x1ZGUgcnBtcShoZWlnaHQsICh4czogMTAwdmggIWltcG9ydGFudCkpO1xuICAvLyAgIC5zbGlkZS1jb250ZW50IHtcbiAgLy8gICAgICAgQGluY2x1ZGUgcnBtcShoZWlnaHQsICh4czogMTAwZHZoLCBtZDogMTAwdmgpKTtcbiAgLy8gICB9XG4gIC8vIH1cbiAgLmVtYmVkLWNvbnRhaW5lcjEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8qIGlsIGxpbmsg4oCccGllbm8gc2NoZXJtb+KAnSBzb3ByYSBs4oCZaWZyYW1lICovXG4gIC52aWRlby1vdmVybGF5LWxpbmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7IGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAxMDtcbiAgICAvKiBvcHppb25hbGU6IGN1cnNvcmUgYSBtYW5vICovXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5tYXJxdWVlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgcnBtcShoZWlnaHQsICh4czogMTEwcHgsIG1kOiAyMDBweCkpO1xuICAgIEBpbmNsdWRlIHJmc21xKCh4czogMjVweCwgc206IDY1cHgpKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICBmb250LXdlaWdodDogJGxpZ2h0LWZvbnQtd2VpZ2h0O1xuXG4gICAgJl9faW5uZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgYW5pbWF0aW9uOiBzY3JvbGwtbGVmdCA0MHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07IC8vIHNwYXppbyB0cmEgaSBkdXBsaWNhdGlcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIHNjcm9sbC1sZWZ0IHtcbiAgICAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxufVxuIiwiYm9keS5wYWdlLXByb2R1Y3QucGFnZS1wcm9kdWN0cyB7XG5cbiAgLnByb2R1Y3RzLWhlYWRlciB7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG4gIFxuICAuZmlsdGVyLW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB6LWluZGV4OiAxMDUwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIC5maWx0cmkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gIH1cblxuICAgIC8qIDIpIExhIGNsYXNzZSBoZWxwZXIgY2hlIG1vc3RyYSBs4oCZb3ZlcmxheTogKi9cbiAgICAuZmlsdGVyLW92ZXJsYXkuc2hvdyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcblxuICAgIH1cblxuICAgIC8qIDMpIFRlc3RhdGEgZGVsbOKAmW92ZXJsYXk6ICovXG4gICAgLmZpbHRlci1vdmVybGF5X19oZWFkZXIge1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLyogNSkgU3RpbGUgZGVsbGUgc2luZ29sZSBzZXppb25pIOKAnGZpbHRlci1zZWN0aW9u4oCdOiAqL1xuICAgIC5maWx0ZXItb3ZlcmxheV9fYm9keSAuZmlsdGVyLXNlY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIH1cblxuICAgIC8qIDYpIEZvb3RlciBkZWxs4oCZb3ZlcmxheTogcmltYW5lIHNlbXByZSBpbmNvbGxhdG8gaW4gZm9uZG8gKi9cbiAgICAuZmlsdGVyLW92ZXJsYXlfX2Zvb3RlciB7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgbWFpbltyb2xlPVwibWFpblwiXSB7XG4gICAgb3ZlcmZsb3cteDogaW5pdGlhbDtcbiAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmctdG9wLCAobWJsOiAxMjBweCwgZHNrOiAxMjBweCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG4gIH1cblxuXG5cbiAgJi5pcy1tb2JpbGUtbWVudS1vcGVuIHtcbiAgICAuYnJlYWRjcnVtYi1uYXYge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYnJlYWRjcnVtYi1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmctdG9wLCAoeHM6IDAsIG1kOiAxNXB4KSk7XG4gICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLWJvdHRvbSwgKHhzOiAxMHB4LCBtZDogMTVweCkpO1xuICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLWJvdHRvbSwgKHhzOiAyMHB4LCBtZDogMjdweCkpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG5cbiAgICAuYnJlYWRjcnVtYiB7XG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyNTBtcyBlYXNpbmcoKTtcbiAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICBmb250LXNpemU6IHJlbSgxM3B4KTtcblxuICAgICAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjcGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLnNpYmxpbmctY2F0ZWdvcmllcyB7XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgICYuc2libGluZy1jYXRlZ29yaWVzLXNsaWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAmLnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAgID5kaXYge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEoKGJhY2tncm91bmQtY29sb3IpLCAobWJsOiAjZjJmMmYyLCBkc2s6IG5vbmUpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE1cHgpKTtcblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbi5maWx0ZXJzIHtcbiAgICAvKiBwb3NpdGlvbjogc3RpY2t5OyAqL1xuICAgIEBpbmNsdWRlIHJwbXEodG9wLCAoeHM6IDU0cHgsIG1kOiA2MHB4KSk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAyMHB4O1xuICAgIHotaW5kZXg6IDM7XG4gICAgQGluY2x1ZGUgcnBtcSgoZGlzcGxheSksIChtYmw6IGJsb2NrLCBkc2s6IGZsZXgpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZy10b3AsICh4czogMTVweCwgbWQ6IDE1cHgpKTtcbiAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmctYm90dG9tLCAoeHM6IDEwcHgsIG1kOiAxNXB4KSk7XG5cbiAgICBuYXYuYnJlYWRjcnVtYi1uYXYge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAvLyBAaW5jbHVkZSBycG1xKChib3JkZXItYm90dG9tKSwgKG1ibDogbm9uZSwgZHNrOiBzb2xpZCAxcHggJHByaW1hcnkpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuICAgICAgQGluY2x1ZGUgcnBtcSgobWFyZ2luLWJvdHRvbSksIChtYmw6IDEwcHgsIGRzazogMCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG5cbiAgICAgIC5icmVhZGNydW1iIHtcbiAgICAgICAgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTNweCwgbWQ6IDEzcHgpKTtcbiAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG5cbiAgICAgICAgICArLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxM3B4LCBtZDogMTNweCkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIC8vICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAvLyAgICAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xuICAgICAgICAgIC8vICAgfVxuICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5zZXQ7XG4gICAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEzcHgsIG1kOiAxM3B4KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZpbHRlci1iYXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBAaW5jbHVkZSBycG1xKG1pbi13aWR0aCwgKHhzOiAxMDAlLCBtZDogNDYwcHgpKTtcblxuXG4gICAgICAuZHJvcGRvd24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAgICAgICAgICAvKiBmb25kYW1lbnRhbGUgcGVyIGxlICUgZGVsIG1lbnUgKi9cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIC8vIEBpbmNsdWRlIHJwbXEobWFyZ2luLXJpZ2h0LCAoeHM6IDhweCwgbWQ6IDE2cHgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnRuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLCAoeHM6IDEwcHggMTBweCwgbWQ6IDEwcHggMjBweCkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBAaW5jbHVkZSBycG1xKCh3aWR0aCksIChtYmw6IDEwMCUsIGRzazogMTAwJSksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG5cblxuICAgICAgICAuZmlsdGVyLXZhcmlldHkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLCAoeHM6IDEwcHggMTVweCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlci1vcmRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLWxlZnQsICh4czogMCwgbWQ6IDY1cHgsIGxnOiAwKSk7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlci1jb3VudC1kYXRhLFxuICAgICAgICAuZmlsdGVyLW9yZGVyLWRhdGEge1xuICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmcsICh4czogMCwgbWQ6IDApKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI1cyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnLnNob3cge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgLmJ0bmRyb3Bkb3duLXRvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuXG4gICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTNweCk7XG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7IFxuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkZ3JleTtcbiAgICAgICAgLy8gQGluY2x1ZGUgcnBtcSh3aWR0aCwgKHhzOiAxNjBweCwgbWQ6IDI3MHB4KSk7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXG4gICAgICAgICAgLy8gJjpob3ZlciB7XG4gICAgICAgICAgLy8gICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3Bkb3duLW1lbnUtaW5uZXIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTVweCkpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxhYmVsLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcblxuICAgICAgICAgICAgLmZvcm0tY2hlY2staW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICAgICAgLy8gYm9yZGVyOiBzb2xpZCAxcHggJHByaW1hcnk7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxMnB4LCBtZDogMTRweCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNmaWx0ZXJzUHJvZHVjdHNXcmFwcGVyLFxuICAuZmlsdGVycy1wcm9kdWN0cy1jb250YWluZXIge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBTZXppb25pIHN0aWNreSAqL1xuICBzZWN0aW9uLmZpbHRlcnMsXG4gIHNlY3Rpb24uZmlsdGVyc0Rlc2t0b3Age1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgei1pbmRleDogMztcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgc2VjdGlvbi5maWx0ZXJzIHtcbiAgICBAaW5jbHVkZSBycG1xKHRvcCwgKHhzOiA4NnB4LCBtZDogOTBweCkpO1xuICB9XG5cbiAgc2VjdGlvbi5maWx0ZXJzRGVza3RvcCB7XG4gICAgdG9wOiAxNjhweDtcbiAgfVxuXG4gIC5idG4tZmlsdGVycyB7XG4gICAgQGluY2x1ZGUgcmVsYXRpdmUoKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDBtcyBlYXNpbmcoKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRncmV5O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTNweCwgbWQ6IDEzcHgpKTtcbiAgICBAaW5jbHVkZSBycG1xKHdpZHRoLCAoeHM6IDEwMCUsIG1kOiAxMDAlKSk7XG5cbiAgICBzcGFuIHtcbiAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTJweCwgbWQ6IDEzcHgpKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1czphY3RpdmUge1xuICAgICAgY29sb3I6ICRncmV5ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaG92ZXIoXCI6aG92ZXJcIikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeTtcblxuICAgICAgLy8gJjo6YWZ0ZXIge1xuICAgICAgLy8gICBoZWlnaHQ6IDJweDtcbiAgICAgIC8vIH1cbiAgICB9XG4gIH1cblxuICBzZWN0aW9uLnByb2R1Y3RzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLXRvcCwgKHhzOiAwcHgpKTtcbiAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmctYm90dG9tLCAoeHM6IDQwcHgsIG1kOiAzMHB4KSk7XG5cbiAgICAuc2hvcHBpbmctaXRlbXMtbGlzdCB7XG4gICAgICAvLyBUcmFzZm9ybWlhbW8gaWwgY29udGFpbmVyIGluIGdyaWdsaWEgQ1NTXG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgLy8gU3BhemlvIGZyYSBsZSBjZWxsZSAoZ2FwIGRpIDEwcHgpXG4gICAgICBnYXA6IDVweDtcblxuICAgICAgLy8gMiBjb2xvbm5lIGRpIGJhc2UgKG1vYmlsZSlcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cbiAgICAgIC8vIERhIG1kIGluIHN1OiAzIGNvbG9ubmVcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgIH1cblxuICAgICAgLy8gRGEgeGwgaW4gc3U6IDQgY29sb25uZVxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgfVxuXG4gICAgICAvLyBSaW11b3ZvIGxhIHZlY2NoaWEgbG9naWNhIGRpIHdpZHRoIHN1IC5jb2wtNiwgcGVyY2jDqSBvcmEgdXNvIGxhIGdyaWdsaWEgQ1NTXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgLmNvbC02IHtcbiAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZy1sZWZ0LCAoeHM6IDBweCwgbGc6IDApKTtcblxuICAgICAgLy8g4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCUIFdSQVBQRVIgREVJIFBST0RPVFRJIOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlFxuICAgICAgLy9cbiAgICAgIC8vIHByb2R1Y3RzLXdyYXBwZXIgw6ggaWwgY29udGFpbmVyIGNoZSBpbCBKUyBBSkFYXG4gICAgICAvLyBhbmRyw6AgYSBzb3N0aXR1aXJlL2FnZ2lvcm5hcmUuIFF1aSBsbyBmYWNjaWFtb1xuICAgICAgLy8gZGl2ZW50YXJlIFwiZGlzcGxheTogY29udGVudHNcIiBjb3PDrCBpIHN1b2kgZmlnbGlcbiAgICAgIC8vIChiYW5uZXLigJB2ZXJ0aWNhbCBlIHByb2R1Y3TigJBpdGVtKSBwYXJ0ZWNpcGFub1xuICAgICAgLy8gZGlyZXR0YW1lbnRlIGFsbGEgZ3JpZ2xpYSBkaSAuc2hvcHBpbmctaXRlbXMtbGlzdC5cbiAgICAgICNwcm9kdWN0cy13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG5cbiAgICAgICAgLmxpc3Qtbm8tcHJvZCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNDUlO1xuICAgICAgICAgIGxlZnQ6IDQ1JTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIC8vIOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlFxuXG4gICAgICAvLyBTdGlsZSBwZXIgaWwgc2luZ29sbyBib3gtcHJvZG90dG8gKG9yYSAucHJvZHVjdC1pdGVtKVxuICAgICAgLnByb2R1Y3QtaXRlbSB7XG4gICAgICAgIC8vIE1hcmdpbiBib3R0b20gZ2nDoCBlc2lzdGVudGVcbiAgICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tYm90dG9tLCAoeHM6IDAsIG1kOiAwKSk7XG4gICAgICAgIC8vIFBhZGRpbmcgb3JpenpvbnRhbGUgZ2nDoCBlc2lzdGVudGVcbiAgICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLWxlZnQgcGFkZGluZy1yaWdodCwgKHhzOiAwcHgsIG1kOiA1cHgpKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV4dHJhbGlnaHRncmV5O1xuICAgICAgICAvLyBJbXBvcnRhbnRpc3NpbW86IG9nbmkgcHJvZHVjdC1pdGVtIGRldmUgb2NjdXBhcmUgMTAwJSBkZWxsYSBwcm9wcmlhIGNlbGxhXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyAvLyBzZSBpbCB0dW8gdGVtcGxhdGUgaGEgaGVhZGVyL2ltbWFnaW5lL2Zvb3RlclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBpbiBtb2RvIGNoZSBpbWcgKyB0ZXN0byBzaSBhbGxpbmVpbm8gdmVydGljYWxtZW50ZVxuICAgICAgfVxuXG4gICAgICAvLyDigJTigJTigJTigJTigJTigJQgQ2xhc3NpIHBlciBpIGJhbm5lciDigJTigJTigJTigJTigJTigJQgLy9cblxuICAgICAgLy8gQmFubmVyIG9yaXp6b250YWxlOiBvY2N1cGEgMiBjb2xvbm5lXG4gICAgICAuYmFubmVyLWhvcml6b250YWwge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEJhbm5lciB2ZXJ0aWNhbGU6IG9jY3VwYSAyIHJpZ2hlXG4gICAgICAuYmFubmVyLXZlcnRpY2FsIHtcbiAgICAgICAgZ3JpZC1yb3c6IHNwYW4gMjtcblxuICAgICAgICAvLyBTZSB2dW9pIGNoZSBsJ2ltbWFnaW5lIHJpZW1waWEgc2VtcHJlIHR1dHRhIGwnYWx0ZXp6YVxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG5cbiAgICBuYXYge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIHVsLnBhZ2luYXRpb24ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uYXYge1xuICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tdG9wLCAoeHM6IDQwcHgsIG1kOiA1MHB4KSk7XG5cbiAgICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgLnBhZ2UtaXRlbSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJHByaW1hcnk7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5wYWdlLXByb2R1Y3RzLWhva2Ege31cblxuICAmLnBhZ2UtcHJvZHVjdHMtY29tcHJlc3Mge31cblxuICAucGFnaW5hdGlvbiB7XG4gICAgbmF2IHVsLnBhZ2luYXRpb24ge1xuICAgICAgLnBhZ2UtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkcHJpbWFyeTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zZWFyY2gtcmVzdWx0cyB7XG4gICAgc2VjdGlvbi5wcm9kdWN0cy1oZWFkZXIge1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmlsdGVycy1tb2JpbGUge1xuICAgIHdpZHRoOiAxMDB2aDtcbiAgfVxuXG4gIC5kZXNrdG9wLWZpbHRlcnMge1xuICAgIGg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICB9XG4gICAgLmZpbHRyaSB7XG4gICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmctYm90dG9tLCAoeHM6IDAsIG1kOiAyMHB4KSk7XG4gICAgfVxuXG4gICAgLmZpbHRlci1ncm91cCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgcnBtcShib3JkZXItYm90dG9tLCAoeHM6IDFweCBzb2xpZCAkZXh0cmFsaWdodGdyZXksIG1kOiBub25lKSk7XG4gICAgICAvLyAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgLy8gICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcbiAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAuZmlsdGVyLWdyb3VwLXJlc2V0IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAgMCAzMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgLmZpbHRlci1oZWFkZXIge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAucmVzZXQtZmlsdGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIC8qIGZvbnQtc2l6ZTogMjBweDsgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB9XG5cbiAgICAucmVzZXQtZmlsdGVyLWFsbCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAvKiBmb250LXNpemU6IDIwcHg7ICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgfVxuXG4gICAgLnNpemUtb3B0aW9uIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRsaWdodGdyZXk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXNpemU6IHJlbSgxMXB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlLW9wdGlvbiB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkbGlnaHRncmV5O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC1zaXplOiByZW0oMTFweCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5O1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbG9yLW9wdGlvbiB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkbGlnaHRncmV5O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC1zaXplOiByZW0oMTFweCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5O1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsImJvZHkucGFnZS1wcm9kdWN0IHtcblxuICBtYWluW3JvbGU9XCJtYWluXCJdIHtcblxuICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZy10b3AsIChtYmw6ICRoZWFkZXItaGVpZ2h0LW1ibCwgZHNrOiAkaGVhZGVyLWhlaWdodCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG5cbiAgICBmaWd1cmUge1xuICAgICAgbWFyZ2luOiAwIDAgMHJlbTtcbiAgICB9XG5cbiAgICBsaTpoYXModmlkZW8pIHtcbiAgICAgIG1hcmdpbjogMCAwIDByZW07XG4gICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gIH1cblxuICAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgLy8gQGluY2x1ZGUgcnBtcShtYXJnaW4tdG9wLCAoeHM6IDBweCwgbWQ6IDQwcHgpKTtcbiAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmctdG9wLCAoeHM6IDBweCwgbWQ6IDBweCkpO1xuICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyB0b3A6IDA7XG4gICAgLy8gbGVmdDogMDtcbiAgICAvLyByaWdodDogMDtcbiAgICAvLyBcblxuICAgIC5pcy1tb2JpbGUtbWVudS1vcGVuICYge1xuICAgICAgLy8gIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cblxuICAgICYuc2Nyb2xsZWQge1xuICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLCAoeHM6IDAsIG1kOiAwcHgpKTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAvLyBwYWRkaW5nOiAzcHggMDtcbiAgICB9XG4gIH1cblxuICAuc2l6ZS1ndWlkZS1tb2RhbCB7XG4gICAgd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuXG5cbiAgICAuc3dhbDItY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmcsICh4czogMCwgbWQ6IDMwcHgpKTtcbiAgICB9XG5cbiAgfVxuXG4gIC5zd2FsMi1jb250YWluZXIge1xuICAgIC5zd2FsMi1tb2RhbCB7XG4gICAgICB3aWR0aDogMzBlbTtcblxuICAgICAgLnN3YWwyLWVycm9yIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAmLnN3YWwyLWljb24tZXJyb3Ige1xuICAgICAgICAuc3dhbDItdGl0bGUge1xuICAgICAgICAgIC8vIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkbWVkZ3JleTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc3dhbDItdGl0bGUge1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgcGFkZGluZzogMjBweCAzMHB4IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMThweCwgc206IDIwcHgsICkpO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICB9XG5cbiAgICAgIC5zd2FsMi1odG1sLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZywgKHhzOiAwcHggMTBweCAwcHggMTBweCwgbWQ6IDIwcHggMzBweCAyMHB4IDMwcHgpKTtcbiAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4LCBzbTogMTZweCkpO1xuXG4gICAgICAgIC5wcm9kdWN0LXJvdyB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRtZWRncmV5O1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTVweCAxNXB4IDVweDtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGdhcDogMTVweDtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRtZWRncmV5O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5wcm9kdWN0LWltYWdlLW1haW4ge1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuXG4gICAgICAgICAgICAucHJvZHVjdC1pbWcge1xuICAgICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJlbGF0aXZlKCk7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBycG1xKG1hcmdpbi10b3AsICh4czogMTBweCwgc206IDApKTtcbiAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvcHJvZHVjdC1iYWNrZ3JvdW5kLnN2ZycpO1xuICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmRldGFpbHMge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNnB4KSk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4KSk7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2l6ZVRhYmxlIHtcbiAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEycHgpKTtcbiAgfVxuXG4gICYuaXMtbW9iaWxlLW1lbnUtb3BlbiB7XG4gICAgc2VjdGlvbi5wcm9kdWN0LWhlYWRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxuXG5cbiAgc2VjdGlvbi5wcm9kdWN0LWhlYWRlciB7XG4gICAgLy8gQGluY2x1ZGUgcnBtcShoZWlnaHQsICh4czogNTBweCwgbWQ6IDgwcHgpKTtcbiAgICAvLyBAaW5jbHVkZSBycG1xKGJvcmRlci1ib3R0b20sICh4czogbm9uZSwgbWQ6IDFweCBkYXNoZWQgJGJvcmRlci1jb2xvcikpO1xuXG4gICAgQGluY2x1ZGUgcmVsYXRpdmUoKTtcbiAgICAvL2Rpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIHJwbXEoZGlzcGxheSwgKHhzOiBub25lLCBtZDogYmxvY2spKTtcblxuXG4gICAgLypAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpe1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpe1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCl7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgIC5maWx0ZXJzIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUodG9wIDUwJSBsZWZ0IDUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgfVxuICAgIH0qL1xuXG4gICAgLm5hdi1sYWJlbC1jb250YWluZXIge1xuICAgICAgZmxleC1mbG93OiByb3ctcmV2ZXJzZTtcbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYi1uYXYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIHJwbXEoZGlzcGxheSwgKG1kOiBmbGV4KSk7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvOyAvLyBQZXJtZXR0ZSBsbyBzY3JvbGwgb3JpenpvbnRhbGUgc3UgbW9iaWxlXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAvKiBOYXNjb25kZSBsYSBzY3JvbGxiYXIgKi9cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgICAgLyogSUUgZSBFZGdlICovXG4gICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAvKiBGaXJlZm94ICovXG5cbiAgICAgIC5icmVhZGNydW1iIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tdG9wLCAoeHM6IDEwcHgsIG1kOiAxMHB4KSk7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzcHgpO1xuXG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1jaGlsZD5zcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLmZpbHRlcnMge1xuICAgICAgZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKGxnLCB4eGwpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLWNoZWNrLWlubGluZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIHNlY3Rpb24ucHJvZHVjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLm1haW5Cb3gge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIC8qICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7ICovXG4gICAgfVxuXG4gICAgYXJ0aWNsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLy8gbWluLWhlaWdodDogNzgwcHg7XG4gICAgfVxuXG5cbiAgICAucHJvZHVjdC1pbWFnZXMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9zaW5nbGUtcHJvZHVjdC1iYWNrZ3JvdW5kLnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAubWFpbi1zbGlkZXIge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAubWF4aW1pemUtaW1nIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmN1c3RvbS1wYWdpbmF0aW9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmN1c3RvbS1wYWdlLWJ0biB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuY3VzdG9tLXBhZ2UtYnRuOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGVhY2U7XG4gICAgICAgIH1cblxuICAgICAgICAuY3VzdG9tLXBhZ2UtYnRuLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNwbGlkZV9fdHJhY2sge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgPnVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgICAgLyogQ3JlYXRlcyAyIGNvbHVtbnMgb2YgZXF1YWwgd2lkdGggKi9cbiAgICAgICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgICAgIC8qIEFkZHMgc3BhY2UgYmV0d2VlbiBncmlkIGl0ZW1zICovXG5cbiAgICAgICAgICAgIC5tYWluLXNsaWRlIHtcbiAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmaWd1cmUsXG4gICAgICAgIC5zcGxpZGVfX3NsaWRlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYXRoZW5zR3JheTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zcGxpZGVfX3BhZ2luYXRpb25fX3BhZ2Uge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIG9wYWNpdHk6IC42O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgIGhlaWdodDogNnB4O1xuXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtYXJyb3ctbmV4dCxcbiAgICAgIC5wcm9kdWN0LWFycm93LXByZXYge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLy5wcm9kdWN0LWxhYmVsIHtcbiAgICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy8gICByaWdodDogMDtcbiAgICAgIC8vICAgdG9wOiAwO1xuICAgICAgLy8gICB3aWR0aDogMTAwJTtcbiAgICAgIC8vICAgei1pbmRleDogMTtcbiAgICAgIC8vICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgLy8gfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAuYmFja2dyb3VuZC1jb3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIC8qIEluaXppYWxtZW50ZSBpbnZpc2liaWxlICovXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xuICAgICAgICAvKiBUcmFuc2l6aW9uZSBmbHVpZGEgc3VsbCdvcGFjaXTDoCAqL1xuICAgICAgfVxuXG4gICAgICAubG9hZGVkIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC8qIEltbWFnaW5lIHZpc2liaWxlIHF1YW5kbyDDqCBjb21wbGV0YW1lbnRlIGNhcmljYXRhICovXG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWNvbG9yLWltYWdlcyB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcblxuICAgICAgICAgICY6bm90KC5zbGljay1pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2U6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLnNlbGVjdGVkLWNvbG9yKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUobGVmdCB0b3ApO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWxlY3RlZC1jb2xvciB7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmaWd1cmUucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXh0cmFsaWdodGdyZXk7XG4gICAgICAgICAgICBAaW5jbHVkZSBycG1xKHdpZHRoLCAoeHM6IDEwMCUsIG1kOiBjYWxjKDUwJSAtIDIuNXB4KSwgbGc6IGNhbGMoNTAlIC0gNXB4KSkpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tYm90dG9tLCAoeHM6IDAsIG1kOiA1cHgsIGxnOiAxMHB4KSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcmVsYXRpdmUoKTtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAvLyAucHJvZHVjdC1jb2xvci1pbWFnZXNcbiAgICB9XG5cbiAgICAvLyAucHJvZHVjdC1pbWFnZXNcblxuICAgIC5zbGlkZXItcHJvZHVjdC1uYXYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgJi5zZWxlY3RlZC1jb2xvciB7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEoZGlzcGxheSwgKHhzOiBub25lLCBtZDogZmxleCkpO1xuICAgICAgfVxuXG4gICAgICAuaW1nLXNsaWRlci1uYXYge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRncmV5O1xuICAgICAgICBAaW5jbHVkZSBycG1xKG1hcmdpbi1yaWdodCBtYXJnaW4tYm90dG9tLCAoeHM6IDAsIG1kOiAxMHB4LCBsZzogMjBweCkpO1xuXG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShtYXgtd2lkdGgsICh4czogMCwgbWQ6IDcwcHgsIGxnOiAxMDhweCkpO1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC5wcm9kdWN0LWluZm8ge1xuICAgICAgQGluY2x1ZGUgcnBtcShwb3NpdGlvbiwgKHhzOiByZWxhdGl2ZSwgbGc6IHN0aWNreSkpO1xuICAgICAgQGluY2x1ZGUgcnBtcSh0b3AsICh4czogdW5zZXQsIGxnOiAkaGVhZGVyLWhlaWdodCkpO1xuICAgICAgLy8gcGFkZGluZzogMzJweCAwIDA7XG4gICAgICAvL0BpbmNsdWRlIHJwbXEocGFkZGluZy1sZWZ0LCAobWJsOiAyNXB4LCBkc2s6IDApLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuICAgICAgLy9AaW5jbHVkZSBycG1xKHBhZGRpbmctcmlnaHQsIChtYmw6IDI1cHgsIGRzazogMCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG4gICAgICAvL0BpbmNsdWRlIHJwbXEod2lkdGgsICh4czogMTAwJSwgbWQ6IDEwMCUsIGxnOiA1MCUpKTtcbiAgICAgIC8qQGluY2x1ZGUgbWFpbi1wYWRkaW5nKCk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICB9Ki9cblxuICAgICAgLypAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuICAgICAgICB3aWR0aDogJHByb2R1Y3QtaW5mby1tYXgtd2lkdGg7XG4gICAgICB9Ki9cblxuICAgICAgQGluY2x1ZGUgcnBtcShkaXNwbGF5LCAoeHM6IGZsZXgsIG1kOiBmbGV4KSk7XG4gICAgICBAaW5jbHVkZSBycG1xKGZsZXgtZGlyZWN0aW9uLCAoeHM6IGNvbHVtbikpO1xuXG4gICAgICAuaW5uZXItY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBycG1xKChwYWRkaW5nLWxlZnQgcGFkZGluZy1yaWdodCksICh4czogMCwgbGc6IDIwcHgsIHhsOiA0MHB4LCB4eGw6IDYwcHgpKTtcbiAgICAgICAgQGluY2x1ZGUgcnBtcSgobWFyZ2luLXRvcCksICh4czogMzBweCwgbGc6IDApKTtcblxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgLy9AaW5jbHVkZSBycG1xKG9yZGVyLCAoeHM6IDQsIG1kOiBpbml0aWFsKSk7XG4gICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAyMHB4KSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXRlZ29yeSB7XG4gICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNXB4LCBtZDogMjBweCkpO1xuICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgIH1cblxuICAgICAgICAuZGV0YWlscy1yaWdodCB7XG4gICAgICAgICAgY29sb3I6ICR1cmJhbk1pc3Q7XG4gICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxMnB4KSk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEob3JkZXIsICh4czogNSwgbWQ6IGluaXRpYWwpKTtcbiAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDIwcHgsIG1kOiAyMHB4KSk7XG4gICAgICAgICAgLy9AaW5jbHVkZSBycG1xKChwYWRkaW5nLWxlZnQpLCAoeHM6IDAsIG1kOiAxMHB4KSk7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICAmLnByaWNlT3JpZ2luIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5kaXNjb3VudC1wcmljZSB7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICAgICYucHJpY2VPcmlnaW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdXJiYW5NaXN0O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYucHJpY2VGdWxsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZGlzY291bnQtYmFkZ2Uge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCwgbWQ6IDE2cHgpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZUxvd2VzdCB7XG4gICAgICAgICAgLy8gQGluY2x1ZGUgcnBtcSh0ZXh0LWFsaWduLCAoeHM6IGxlZnQsIG1kOiByaWdodCkpO1xuICAgICAgICAgIGNvbG9yOiAkbWVkZ3JleTtcbiAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEzcHgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShvcmRlciwgKHhzOiA1LCBtZDogaW5pdGlhbCkpO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggOHB4O1xuXG4gICAgICAgICAgKiB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE1cHgsIG1kOiAxNXB4KSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNoYXJhY3RlcmlzdGljcyB7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShkaXNwbGF5LCAoeHM6IGZsZXgsIG1kOiBmbGV4KSk7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShmbGV4LWRpcmVjdGlvbiwgKHhzOiByb3csIG1kOiByb3cpKTtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKG9yZGVyLCAoeHM6IDUsIG1kOiBpbml0aWFsKSk7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLXRvcCwgKHhzOiAyMHB4LCBtZDogMjVweCkpO1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZy1ib3R0b20sICh4czogMjBweCwgbWQ6IDI1cHgpKTtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAkYm9yZGVyLWNvbG9yO1xuXG4gICAgICAgICAgLmNoYXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBycG1xKGZsZXgtZGlyZWN0aW9uLCAoeHM6IHJvdywgbWQ6IHJvdykpO1xuXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTJweCwgbWQ6MTdweCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY2NvcmRpb24tYm9keSB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cblxuICAgICAgICA+LmtsYXJuYS1wYXlvZmYge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgLy9mb250LXNpemU6IDAuODByZW07XG4gICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgLmtsYXJuYS1sb2dvIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIktsYXJuYSBIZWFkbGluZVwiO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC41cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmtsYXJuYS1tb2RhbCB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+LnNjYWxhcGF5LXBheW9mZiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgLnNjYWxhcGF5LW1vZGFsIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2xvcnMge1xuXG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShvcmRlciwgKHhzOiAxLCBtZDogaW5pdGlhbCkpO1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZy10b3AsICh4czogMTBweCkpO1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZy1ib3R0b20sICh4czogMjBweCwgbWQ6IDApKTtcbiAgICAgICAgICAvLyBAaW5jbHVkZSBycG1xKGJvcmRlci1ib3R0b20sICh4czogbm9uZSwgbWQ6IDFweCBkYXNoZWQgJGJvcmRlci1jb2xvcikpO1xuXG4gICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE1cHgpKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEoZGlzcGxheSwgKHhzOiBpbmxpbmUtYmxvY2spKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLWJvdHRvbSwgKHhzOiAyMHB4LCBtZDogMCkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICNjdXJyZW50Q29sb3JMYWJlbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNXB4KSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNlbGVjdG9yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLXRvcCwgKHhzOiAwLCBtZDogMjBweCkpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tYm90dG9tLCAoeHM6IDAsIG1kOiAwKSk7XG5cblxuICAgICAgICAgICAgLmNvbG9yIHtcbiAgICAgICAgICAgICAgLy8gIEBpbmNsdWRlIHJwbXEod2lkdGgsIGxpbmVhci1pbnRlcnBvbGF0aW9uKDYwcHgsIDEwMHB4LCB4cywgeGwpKTtcbiAgICAgICAgICAgICAgLy8gaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEod2lkdGgsICh4czogNzVweCwgbWQ6IDEwMHB4KSk7XG4gICAgICAgICAgICAgIC8vIEBpbmNsdWRlIHJwbXEobWFyZ2luLXJpZ2h0LCAoeHM6IDE1cHgsIG1kOiAyMHB4KSk7XG4gICAgICAgICAgICAgIC8vIEBpbmNsdWRlIHJwbXEobWFyZ2luLWJvdHRvbSwgKHhzOiAxMHB4LCBtZDogMjBweCkpO1xuXG4gICAgICAgICAgICAgIC5jb2xvci1saXN0LWJveCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi5zZWxlY3RlZC1jb2xvciB7XG4gICAgICAgICAgICAgICAgLnRodW1iIGltZyB7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAuY29sb3ItdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxMnB4LCBzbTogMTNweCkpO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAudGh1bWIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlbGF0aXZlKCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoOTElIC0gMnB4KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDI1MG1zIGVhc2luZygpO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAucHJvbW8ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEycHgpKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czoxOHB4KSk7XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkLXRvLWNhcnQtZm9ybSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBycG1xKG9yZGVyLCAoeHM6IDMsIG1kOiBpbml0aWFsKSk7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLXRvcCwgKHhzOiAxMHB4KSk7XG5cbiAgICAgICAgICAucGF5bWVudC1kZXRhaWxzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMHB4IDEwcHg7XG5cbiAgICAgICAgICAgIC5rbGFybmEtcGF5b2ZmIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBycG1xKG9yZGVyLCAoeHM6IDMsIG1kOiBpbml0aWFsKSk7XG5cbiAgICAgICAgICAgICAgLmtsYXJuYS1sb2dvIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJLbGFybmEgSGVhZGxpbmVcIjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC41cHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAua2xhcm5hLW1vZGFsIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2NhbGFwYXktcGF5b2ZmIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEob3JkZXIsICh4czogNCwgbWQ6IGluaXRpYWwpKTtcblxuICAgICAgICAgICAgICAuc2NhbGFwYXktbW9kYWwge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wYXlwYWwtaW1nIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDgycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0lMjdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyNyB2aWV3Qm94PSUyNzAgMCAxNiAxNiUyNyUzZSUzY3BhdGggZmlsbD0lMjdub25lJTI3IHN0cm9rZT0lMjclMjM1NzU3NTclMjcgc3Ryb2tlLWxpbmVjYXA9JTI3cm91bmQlMjcgc3Ryb2tlLWxpbmVqb2luPSUyN3JvdW5kJTI3IHN0cm9rZS13aWR0aD0lMjcyJTI3IGQ9JTI3bTIgNSA2IDYgNi02JTI3LyUzZSUzYy9zdmclM2VcIik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnBtcSh3aWR0aCwgKHhzOiAxMDAlLCB4eGw6IDEwMCUpKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcblxuICAgICAgICAgICAgJi5zZWxlY3RlZC1jb2xvciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zaXplLWd1aWRlLXNlY3Rpb24ge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBycG1xKG1hcmdpbi1ib3R0b20sICh4czogMTBweCwgbWQ6IDEwcHgpKTtcblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTVweCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNpemUtZ3VpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTJweCwgc206IDE0cHgpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+ZGl2PmEjdG9nZ2xlV2lzaGxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTNweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBycG1xKHRleHQtYWxpZ24sICh4czogY2VudGVyLCBtZDogcmlnaHQpKTtcblxuICAgICAgICAgICAgLmFkZCB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPmRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzaW5nKCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE1cHgsIG1kOiAxOHB4KSk7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmFjY29yZGlvbiB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBAaW5jbHVkZSBycG1xKG9yZGVyLCAoeHM6IDYsIG1kOiBpbml0aWFsKSk7XG5cbiAgICAgICAgICAvLyBAaW5jbHVkZSBycG1xKG1hcmdpbi1ib3R0b20sICh4czogNXB4LCBtZDogNXB4KSk7XG4gICAgICAgICAgLy8gQGluY2x1ZGUgcnBtcShtYXJnaW4tdG9wLCAoeHM6IDVweCwgbWQ6IDVweCkpO1xuICAgICAgICAgIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIC5hY2NvcmRpb24taGVhZGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1jaGlsZCAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5jb2xsYXBzZWQuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpub3QoLmNvbGxhcHNlZCkuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXkgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDhweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCwgbWQ6IDE0cHgpKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEoZm9udC13ZWlnaHQsICh4czogbm9ybWFsKSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBycG1xKGNvbG9yLCAoeHM6ICRib2R5LWNvbG9yKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgLy8gLmFjY29yZGlvbi1idXR0b24gLm1pbnVzIGltZyB7XG4gICAgICAgICAgICAvLyAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgICAgICAgICAvLyAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyAvLyBkZWZhdWx0OiBcIitcIlxuICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgLm1pbnVzIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gPiBzcGFuIHtcbiAgICAgICAgICAgIC8vICAgQGluY2x1ZGUgcnBtcShkaXNwbGF5LCAoeHM6IG5vbmUsIG1kOiBpbmxpbmUpKTtcbiAgICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbGxhcHNlZCAubWludXMgaW1nIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5jb2xsYXBzZWQpIC5taW51cyBpbWcge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IC8vIGRhIFwieFwiIGEgXCIrXCJcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLm1hdGNoLXdpdGgge1xuICAgICAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDIycHgpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LWJveCB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnByb2R1Y3QtaW5mb1xuXG4gIH1cblxuICAuc3dhbDItaGVhZGVyIHtcbiAgICAuc3dhbDItdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICB9XG4gIH1cblxuICAuc2VjdGlvbi1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmctdG9wLCAoeHM6IDUwcHgsIG1kOiA0MHB4KSk7XG4gICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxOHB4LCBtZDogMjJweCkpO1xuICB9XG5cbiAgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlLFxuICAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy9idG4gcHN3cFxuICAucHN3cF9fYnV0dG9uLFxuICAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4gIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHRvcDogMDtcbiAgfVxuXG4gIC5hcnJvdy1jdXN0b20ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogLjc7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxuXG4gIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuICAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuXG4gICAgbWFyZ2luLXRvcDogMDtcblxuICB9XG5cbiAgLnJlbW92ZSB7XG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xuICB9XG5cbiAgLndoaXNobGlzdC1jb2xvciB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuc2VsZWN0ZWQtY29sb3Ige1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbn0iLCJib2R5LnN0YXRpYy1wYWdlIHtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuZ3gtNCB7XG4gICAgICAtLWJzLWd1dHRlci14OiAwcHg7XG4gICAgfVxuICB9XG5cbiAgbWFpbiB7XG4gIFxuICAgIC5ib3hTdGF0aWNQYWdlIHtcbiAgICAgIG1heC13aWR0aDogMTQwMHB4O1xuICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLCAoeHM6IDE1cHgsIG1kOiAwKSk7XG4gICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmctdG9wLCAobWJsOiAkaGVhZGVyLWhlaWdodC1tYmwsIGRzazogJGhlYWRlci1oZWlnaHQpLCAkbW9iaWxlLW1lbnUtYnJlYWtwb2ludHMpO1xuXG4gICAgICBoMSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLCAoeHM6IDAgMjBweCwgbWQ6IDAgMzBweCAzMHB4IDMwcHgpKTtcbiAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNnB4LCBtZDoyMHB4KSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgICAucGFnZS1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAkYmctbWVnYW1lbnUtbGlnaHQ7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZywgKHhzOiAxNXB4IDIwcHgsIG1kOiAwIDMwcHggMzBweCAzMHB4KSk7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEoYm9yZGVyLXdpZHRoLCAoeHM6IDAsIG1kOiAxcHgpKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIC8qICAgICYuZmFxIHtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmctdG9wLCAoeHM6IDBweCwgbWQ6IDYwcHgpKTtcbiAgICAgICAgfSovXG4gIFxuICAgICAgICAmLnBhZ2UtY29udGVudC1oaWdobGlnaHRlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2VlZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmIgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuICBcbiAgICAgICAgLnN0YXRpYy1wYWdlLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmcsICh4czogMjBweCAwIDAgMCwgbWQ6IDMwcHggMCAxMHB4IDApKTtcbiAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE2cHgsIG1kOjE4cHgpKTtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgXG4gICAgICAgIGg0LFxuICAgICAgICBoNSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMCAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiAgICAgICAgICAmLnRoYW5rcy10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gIFxuICAgICAgICAuc3RhdGljLXBhZ2UtdGV4dCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBcbiAgICAgICAgICAuZmFxLXdyYXAge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gIFxuICAgICAgICAuc2hvcHMtbGlzdCB7XG4gICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShkaXNwbGF5LCAoeHM6IGJsb2NrLCBsZzogZmxleCkpO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gIFxuICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNGVtO1xuICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC43ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gIFxuICAgICAgICAjc3RvcmVzLW1hcCB7XG4gICAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgICAgICB9XG4gICAgICB9XG4gIFxuICAgICAgI3N0YXRpYy1wYWdlcy1jb2x1bW4tbmF2aWdhdG9yIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLXRvcCwgKHhzOiAzMHB4LCBtZDogMCkpO1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAhaW1wb3J0YW50O1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXRoZW5zR3JheTtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzaW5nKCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCwgbWQ6IDE0cHgpKTtcbiAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIFxuICB9XG5cbiAgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0ge1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgICYrKiB7XG4gICAgICAvLyBwYWRkaW5nLXRvcDogJGhlYWRlci1oZWlnaHQ7XG5cbiAgICAgIC8vIEBtZWRpYSAobWF4LXdpZHRoOiBicmVha3BvaW50LW1heChkc2ssICRtb2JpbGUtbWVudS1icmVha3BvaW50cykpIHtcbiAgICAgIC8vICAgcGFkZGluZy10b3A6ICRoZWFkZXItaGVpZ2h0ICsgMTBweDtcbiAgICAgIC8vIH1cbiAgICB9XG4gIH1cblxuICAgICYucGFnZS10aGFuay15b3Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgLnRoYW5reW91IHtcbiAgICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLXRvcCwgKG1ibDogJGhlYWRlci1oZWlnaHQtbWJsLCBkc2s6ICRoZWFkZXItaGVpZ2h0KSwgJG1vYmlsZS1tZW51LWJyZWFrcG9pbnRzKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgfVxuICAgICAgICAuYm94VGhhbmtZb3Uge1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZywgKHhzOiAzMHB4LCBtZDogNTBweCkpO1xuICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgIC8vIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgICAgLy8gYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKG1hcmdpbiwgKHhzOiAxNXB4LCBtZDogMCkpO1xuICAgICAgICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG59XG5cbiIsIiRwcm9kdWN0LWJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4kYm9keS1iZy1saWdodC1ncmF5OiAjZmFmYWZhO1xuXG5ib2R5LmNhcnQge1xuICAuc3dhbDItY29udGFpbmVyIHtcbiAgICAuc3dhbC1zaXplLXhsZyB7XG4gICAgICB3aWR0aDogODAlO1xuICAgIH1cbiAgfVxuXG4gIC51aS1hdXRvY29tcGxldGUge1xuICAgIHotaW5kZXg6IDk5OTk7XG4gIH1cblxuICAuY29tbW9uLWhlYWRpbmcge1xuICAgIC5jb250ZW50IHtcbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAyMHB4KSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgIH1cblxuICAgICAgLy8gLmxpbmVzIHtcbiAgICAgIC8vICAgaGVpZ2h0OiAxcHg7XG4gICAgICAvLyAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkbWVkZ3JleTtcbiAgICAgIC8vICAgd2lkdGg6IDEwMCU7XG4gICAgICAvLyAgIGZsZXg6IDE7XG4gICAgICAvLyAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAvLyB9XG4gICAgfVxuICB9XG5cbiAgLnJpZ2Etc29wcmEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkbWVkZ3JleTtcbiAgfVxuXG59XG5cbmJvZHkuY2FydCBtYWluIHtcbiAgcGFkZGluZy10b3A6IDA7XG5cbiAgLypcbiAgQ2xlYXJwYXkgLyBBZnRlcnBheVxuICAqL1xuICAuYWR5ZW4tY2hlY2tvdXRfX3BheW1lbnQtbWV0aG9kLS1hZnRlcnBheXRvdWNoIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWFpbi1tYXJnaW4ge1xuICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLWJvdHRvbSwgbGluZWFyLWludGVycG9sYXRpb24oNTBweCwgMjAwcHgsIHhzLCB4eGwpKTtcbiAgfVxuXG4gIC5zdGVwLW1lbnUtcm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRwcmltYXJ5O1xuXG4gICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tYm90dG9tLCAoeHM6IDMwcHgsIGxnOiA0MHB4KSk7XG5cbiAgICAuc3RlcCB7XG4gICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgY29sb3I6ICRwcmltYXJ5O1xuXG4gICAgICAmLmN1cnJlbnQge1xuICAgICAgICAvLyBib3JkZXItdG9wOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgICAgICAgLy8gYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgICAgICAvLyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgICAgICAvLyBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAvKmJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7Ki9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICA7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuLmNpcmNsZSB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCwgbWQ6IDE2cHgpKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICBAaW5jbHVkZSBycG1xKGxpbmUtaGVpZ2h0LCAoeHM6IDIsIG1kOiAkaGVhZGluZ3MtbGluZS1oZWlnaHQpKTtcblxuICAgICAgICBzcGFuLmNpcmNsZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3Bhbjpub3QoLmNpcmNsZSkge31cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIC5zdGVwXG5cbiAgfVxuXG4gIC8vIC5zdGVwLW1lbnUtcm93XG5cbiAgc2VjdGlvbi5yb3cge1xuXG4gICAgLnByZWxpbWluYXJ5LWhlYWRlciB7XG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCkpO1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG5cbiAgICAgIC5wcmVsaW1pbmFyeS1jaG9pY2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gQ29udGFpbmVyXG4gICAgICAuc2hpcHBpbmctb3B0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMXJlbTtcblxuICAgICAgICAvLyBOYXNjb25kbyBs4oCZaW5wdXQgbWEgbG8gbGFzY2lvIHNlbGV6aW9uYWJpbGUgdmlhIGxhYmVsXG4gICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN0aWxlIGRlbGxlIGNhcmRcbiAgICAgICAgLnNoaXBwaW5nLWNhcmQge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEod2lkdGgsICh4czogMTAwJSwgc206IDIwMHB4KSk7XG4gICAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDEuNXJlbTtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkdXJiYW5NaXN0O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMsIGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEhvdmVyIGdlbmVyaWNvIHBlciBmZWVkYmFja1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBRdWFuZG8gaWwgcmFkaW8gw6ggY2hlY2tlZCwgY29sb3JhIGxhIGxhYmVsIGFkaWFjZW50ZVxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCsuc2hpcHBpbmctY2FyZCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXh0cmFsaWdodGdyZXk7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgfVxuXG4gICAgLnB1ZG8tc2hpcHBpbmctZGF0YSB7XG4gICAgICAuYnRuLXNlYXJjaC1wdWRvIHtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggYmxhY2s7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJHByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI0dNYXAge1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgfVxuXG4gICAgICAjUHVkb0luZm8ge1xuICAgICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmcsICh4czogMTBweCwgc206IDI1cHgpKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXI6IHNvbGlkIDJweCAkcHJpbWFyeTtcblxuICAgICAgICBoNSB7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXNpemU6IDAuOHJlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaDYge1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICogQ2FydCBhc2lkZVxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgID5hc2lkZSB7XG4gICAgICBAaW5jbHVkZSBycG1xKHBvc2l0aW9uLCAoeHM6IHJlbGF0aXZlLCBsZzogc3RpY2t5KSk7XG4gICAgICBAaW5jbHVkZSBycG1xKHRvcCwgKHhzOiB1bnNldCwgbGc6ICRoZWFkZXItaGVpZ2h0KSk7XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBAaW5jbHVkZSBycG1xKG1hcmdpbiwgKHhzOiAwIDE1cHgsIG1kOiAwKSk7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLXRvcCwgKHhzOiAzMHB4LCBtZDogMCkpO1xuXG4gICAgICAgID4uc2lkZUNhcnQge1xuXG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAvLyBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1taW47XG4gICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4LCBtZDogMTZweCkpO1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEoKHBhZGRpbmcpLCAoeHM6IDIwcHgpKTtcbiAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG5cbiAgICAgICAgICBoNCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBycG1xKHRleHQtYWxpZ24sIChtZDogY2VudGVyKSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czoyMHB4LCBtZDoyNHB4KSk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucHJvZHVjdHMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoMyB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4LCBtZDogMTZweCkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudG90YWwtY2FydCB7XG4gICAgICAgICAgICBzcGFuOmxhc3QtY2hpbGQge31cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucHJvZHVjdC1jYXJ0LWl0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcnBtcSgocGFkZGluZy10b3AsIHBhZGRpbmctYm90dG9tKSwgKHhzOiAxMHB4KSk7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRtZWRncmV5O1xuXG4gICAgICAgICAgICAucHJvZHVjdC1pbWFnZS10aHVtYiB7XG4gICAgICAgICAgICAgIC8vbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICB3aWR0aDogMjAlO1xuXG4gICAgICAgICAgICAgIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZWxhdGl2ZSgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLXRvcCwgKHhzOiAxMHB4LCBzbTogMCkpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEod2lkdGgsICh4czogMTAwJSkpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmctbGVmdCwgKHhzOiAyMHB4LCBtZDogNXB4LCBsZzogMjBweCkpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmctcmlnaHQsICh4czogNXB4LCBtZDogNXB4KSk7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCkpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBycG1xKHdpZHRoLCAoeHM6IDU1JSwgbWQ6IDU1JSkpO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBycG1xKG1hcmdpbi1ib3R0b20sICh4czogMCwgbWQ6IDEwcHgpKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTNweCkpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgpKTtcbiAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBycG1xKHdpZHRoLCAoeHM6IDI1JSwgbWQ6IDI1JSkpO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNlcGFyYXRvciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnByaWNlLXJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwcHg7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4KSk7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHt9XG5cbiAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi50b3RhbC1jYXJ0IHtcbiAgICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi52YWx1ZS1jb3Vwb24ge1xuICAgICAgICAgICAgICBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czoxNHB4LCBtZDoxNnB4KSk7XG5cbiAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICYuYnRuLXBheXBhbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL3BheXBhbC9wYXlwYWxfZXhwcmVzc19idXR0b24uZ2lmXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5RTlFOTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNFOUU5RTk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvcGF5cGFsL3BheXBhbF9leHByZXNzX2J1dHRvbl9ob3Zlci5naWZcIik7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDhEOEQ4O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRDhEOEQ4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5jdXN0b20tY2hlY2tib3gge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAyNnB4IGF1dG8gMDtcblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAvL2NvbG9yOiAkbGlnaHQ7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTBweCkpO1xuXG4gICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0zNHB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgID4uY291cG9uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZywgKHhzOiAyMHB4IDIwcHgsIG1kOiAyMHB4KSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gPiBhc2lkZSA+IC5yb3dcbiAgICB9XG5cbiAgfVxuXG4gIC8vIHNlY3Rpb24ucm93XG5cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogQ2FydCBzdGVwIDFcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuYm9keS5jYXJ0LnN0ZXAtMSBtYWluIHtcblxuICAucHJvZHVjdHMtcm93IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICogQ2FydCB0YWJsZSBjb2x1bW5zIHdpZHRoXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgLnByb2R1Y3RzLWNvbCB7XG5cbiAgICAgIC8vIHRhYmxlIGNvbHVtbnMgd2lkdGhcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtaW1hZ2UtdGh1bWIge1xuICAgICAgICBAaW5jbHVkZSBycG1xKHdpZHRoLCAoeHM6IDkwcHgsIDM4ODogMTUwcHgsIHNtOiAyMDBweCwgbWQ6IDEyMHB4LCBsZzogMTQwcHgpKTtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtaW5mbyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBAaW5jbHVkZSBycG1xKHdpZHRoLCAoeHM6IGNhbGMoMTAwJSAtIDExMHB4KSwgMzg4OiBjYWxjKDEwMCUgLSAxNTBweCksIHNtOiBjYWxjKDEwMCUgLSAyMDBweCksIG1kOiBjYWxjKDEwMCUgLSAxMjBweCksIGxnOiBjYWxjKDEwMCUgLSAxNDBweCkpKTtcblxuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEod2lkdGgsICh4czogMTAwJSwgbWQ6IDM4JSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKHdpZHRoLCAoeHM6IDEwMCUsIG1kOiAyMSUpKTtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tdG9wLCAoeHM6IDEwcHgsIG1kOiAwKSk7XG4gICAgICAgIH1cblxuICAgICAgICAucXVhbnRpdHkge1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEod2lkdGgsICh4czogMTAwJSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvdGFsLXByaWNlIHtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKHdpZHRoLCAoeHM6IDI0JSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlbW92ZSB7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcSh3aWR0aCwgKHhzOiAxMDAlLCBtZDogMzBweCkpO1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEodGV4dC1hbGlnbiwgKHhzOiBjZW50ZXIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLy8gLnByb2R1Y3RzLWNvbFxuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgKiBDYXJ0IHRhYmxlIGhlYWRlciAoZGVza3RvcClcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAudGFibGUtaGVhZGVyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLWxlZnQsICh4czogMTBweCwgbWQ6IDApKTtcbiAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZy1ib3R0b20sICh4czogMjBweCwgbWQ6IDEwcHgpKTtcbiAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLWJvdHRvbSwgKHhzOiAwLCBtZDogMCkpO1xuICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tdG9wLCAoeHM6IDIwcHgsIG1kOiAwKSk7XG4gICAgICBAaW5jbHVkZSByZnNtcSgobWQ6IDE0cHgpKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdC1pbWFnZS10aHVtYiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtaW5mbyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgKiBDYXJ0IHByb2R1Y3QgaXRlbVxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgIGFydGljbGUucHJvZHVjdC1jYXJ0LWl0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgcnBtcSgocGFkZGluZy10b3AsIHBhZGRpbmctYm90dG9tKSwgKHhzOiAxNXB4KSk7XG4gICAgICBAaW5jbHVkZSBycG1xKChtYXJnaW4pLCAoeHM6IDAgMTVweCwgbWQ6IDApKTtcbiAgICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgICAgQGluY2x1ZGUgcmZzbXEoKG1kOiAxNHB4KSk7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4gICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggJG1lZGdyZXk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkbWVkZ3JleTtcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtaW1hZ2UtdGh1bWIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAgICAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgICAgICAgIEBpbmNsdWRlIHJlbGF0aXZlKCk7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tdG9wLCAoeHM6IDEwcHgsIHNtOiAwKSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcSh3aWR0aCwgKHhzOiAxMDAlKSk7XG4gICAgICAgICAgLy9AaW5jbHVkZSBycG1xKG1hcmdpbi1sZWZ0LCAobGc6IDEwcHgpKTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICA+ZGl2IHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAuOTVlbTtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKG1pbi13aWR0aCwgKHhzOiAwLCBzbTogMTAwcHgsIG1kOiAwKSk7XG4gICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZy1yaWdodCwgKG1kOiAxMHB4LCBsZzogMjBweCkpO1xuICAgICAgICAgIEBpbmNsdWRlIHJmc21xKChtZDogMTRweCkpO1xuXG5cbiAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLWJvdHRvbSwgKHhzOiAwLCBtZDogMTBweCkpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKG1kOiAxM3B4KSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgcnBtcShkaXNwbGF5LCAoeHM6IG5vbmUpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucXVhbnRpdHkge1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEoKHBhZGRpbmctdG9wLCBwYWRkaW5nLWJvdHRvbSksICh4czogMTRweCwgbWQ6IDApKTtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKG92ZXJmbG93LCAoeHM6IGhpZGRlbiwgbWQ6IHZpc2libGUpKTtcblxuICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBycG1xKGRpc3BsYXksIChtZDogbm9uZSkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnBtcSh3aWR0aCwgKHhzOiAzMXB4LCBtZDogMzZweCkpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLCAoeHM6IDEwcHggMCwgbWQ6IDEwcHggMCkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0Z3JleTtcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIHJwbXEoaGVpZ2h0LCAoeHM6IDMycHgsIG1kOiAzN3B4KSk7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAyNHB4KSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgcnBtcSh3aWR0aCwgKHhzOiAyMHB4LCBtZDogMzBweCkpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuXG4gICAgICAgICAgICAmLmJ0bjpmb2N1cyxcbiAgICAgICAgICAgIC5idG46YWN0aXZlLFxuICAgICAgICAgICAgLmJ0bjpmb2N1czphY3RpdmUsXG4gICAgICAgICAgICAuYnRuOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLnRvdGFsLXByaWNlIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmctdG9wLCAoeHM6IDE0cHgsIG1kOiAwKSk7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tdG9wLCAoeHM6IDJweCwgbWQ6IDApKTtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmctcmlnaHQsIChtZDogMTBweCkpO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBycG1xKGRpc3BsYXksIChtZDogbm9uZSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZW1vdmUge1xuICAgICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKGJvdHRvbSwgKHhzOiAyMnB4LCBtZDogMzJweCkpO1xuICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgLmljb24tY2xvc2Uge1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG5cbiAgICAgICAgICAgIC5jcm9zcyB7XG4gICAgICAgICAgICAgIGZpbGw6ICRibGFjaztcbiAgICAgICAgICAgICAgc3Ryb2tlOiAkYmxhY2s7XG4gICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMC40cHg7XG4gICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAvLyAucHJvZHVjdC1pbmZvXG5cbiAgICB9XG5cbiAgICAvLyBhcnRpY2xlLnByb2R1Y3RcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICogYmFubmVyYmFza2V0IGNvbnRhaW5lclxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgIC5iYW5uZXJCYXNrZXQge1xuICAgICAgQGluY2x1ZGUgcnBtcShwYWRkaW5nLCAoeHM6IDIwcHgsIG1kOiAzMHB4KSk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICogQ291cG9uIGNvbnRhaW5lclxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgIC5jb3Vwb24ge1xuICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tdG9wLCAoeHM6IDApKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEoZ2FwLCAoeHM6IDAsIG1kOiAyMHB4KSk7XG5cbiAgICAgICAgaW5wdXQuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkcHJpbWFyeTtcbiAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgPmRpdiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcblxuICAgICAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlXG4gICAgICAgIH1cblxuICAgICAgICA+ZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKHBhZGRpbmctcmlnaHQsICh4czogMCwgbWQ6IDBweCkpO1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZy10b3AsICh4czogMCwgbWQ6IDBweCkpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKG1kOiAxNHB4KSk7XG4gICAgICAgIH1cblxuICAgICAgICA+ZGl2Omxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLXRvcCwgKHhzOiAwLCBtZDogMCkpO1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCkpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgJi50aXRsZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlLWNvdXBvbiB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAjdmVyaWZ5Q291cG9uQnV0dG9uIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICogRW1wdHkgY2FydFxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgIC5lbXB0eS1jYXJ0IHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDI1cHg7XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4KSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAvLyAucHJvZHVjdHMtcm93XG5cbiAgLmFjY29yZGlvbiB7XG4gICAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAuYWNjb3JkaW9uLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCkpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgLmFjY29yZGlvbi1idXR0b246Zm9jdXMge1xuICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYWNjb3JkaW9uLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBib2R5I2NhcnQuc3RlcC0xIG1haW4ud3JhcFxuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIENhcnQgc3RlcCAyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmJvZHkuY2FydC5zdGVwLTIgbWFpbiB7XG4gIC5hY2Nlc3NUYWJsZSB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cblxuICAuYWNjb3VudFRhYmxlIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gIH1cblxuICAubWFpbi1tYXJnaW4ge1xuICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLWJvdHRvbSwgbGluZWFyLWludGVycG9sYXRpb24oNTBweCwgMjAwcHgsIHhzLCB4eGwpKTtcbiAgfVxufVxuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIENhcnQgc3RlcCAzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmJvZHkuY2FydC5zdGVwLTMgbWFpbiB7XG4gIC5idG4tcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNnB4KSk7XG4gIH1cblxuICAuc3RlcDN0YWJsZSB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcblxuICAgIC5zaGlwcGluZy1kZXRhaWxzIHtcblxuICAgICAgPmRpdiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLW1pbjtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4IDIwcHggMjBweDtcblxuICAgICAgfVxuXG4gICAgICAuc2hpcHBpbmctZGF0YS1pbnRybyB7XG5cbiAgICAgICAgaW5wdXQsXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGdyZXk7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zdGVwLTQge1xuICAgICAgICAjYmlsbGluZyB7XG4gICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgI25ld1NoaXBwaW5nQWRkcmVzc0Zvcm0gLmhQYXJ0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgI3NoaXBwaW5nUmVzdW1lIHtcbiAgICAuc2hpcHBpbmctcmVzdW1lLXdhcm4ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV4dHJhbGlnaHRncmV5O1xuICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNnB4KSk7XG4gICAgfVxuXG4gICAgLmQtZmxleCB7XG4gICAgICAubW9kaWZ5LWd1ZXN0LWFkZHJlc3MtY29udCB7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLWxlZnQsICh4czogMCwgc206IDIwcHgpKTtcbiAgICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tdG9wLCAoeHM6IDIwcHgsIHNtOiAzMHB4KSk7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLWJvdHRvbSwgKHhzOiAxNXB4LCBzbTogMCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzaGlwcGluZ1Jlc3VtZSAuaGVhZGVyLW1vZC1hZGRyZXNzIHtcbiAgICBoMyB7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgpKTtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgfVxuXG4gICNzaGlwcGluZ0FkZHJlc3NDb250aW51ZUJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNnB4KSk7XG4gIH1cblxuICAuZm9ybS1jb2wge1xuICAgIC8qQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB9Ki9cblxuICAgIGZvcm0ge1xuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgpKTtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5iaWxsaW5nLWNoZWNrYm94LFxuICAgIC5wcml2YWN5LWNoZWNrYm94IHtcbiAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLXRvcCwgKHhzOiAyMHB4KSk7XG4gICAgICBAaW5jbHVkZSBycG1xKG1hcmdpbi1ib3R0b20sICh4czogMjBweCwgc206IDApKTtcblxuICAgICAgLmZvcm0tY2hlY2sge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpdmFjeS1jaGVja2JveCB7XG4gICAgICBAaW5jbHVkZSBycG1xKG1hcmdpbi10b3AsICh4czogMzBweCwgbWQ6IDQwcHgpKTtcblxuICAgICAgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEycHgpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYmlsbGluZy1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgcnBtcSgobWFyZ2luLXRvcCwgbWFyZ2luLWJvdHRvbSksICh4czogMjBweCkpO1xuXG4gICAgICBoMyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgLy9AaW5jbHVkZSBycG1xKHRleHQtYWxpZ24sICh4czogY2VudGVyLCBzbTogbGVmdCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICNzaGlwcGluZ0RhdGFGb3JtUGFydCB7XG4gICAgICAuYnRuLXJldHVybiB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJ0bi1zYXZlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0Z3JleTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgICNjQm94IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgIC5oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJveC1zaGlwcGluZyB7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMgZWFzaW5nKHF1YXJ0T3V0KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZywgKHhzOiAxNXB4KSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4KSk7XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXh0cmFsaWdodGdyZXk7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnk7XG5cbiAgICAgICAgICAuc2VsZWN0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLnRleHQtc2VsZWN0ZWQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50ZXh0LXNlbGVjdCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJyUzZSUzY3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNGRkYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdtNiAxMCAzIDMgNi02Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAxMHB4O1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBoNiB7XG4gICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNoaXBwaW5nLWluZm8ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDIycHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEycHgpKTtcblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHByaW1hcnk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICAgICAgICAvKiBjb21lIG5lbCB0dW8gQ1NTICovXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50ZXh0LXNlbGVjdGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYS5lZGl0IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDIycHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2VkaXQtcmVndWxhci5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTJweCkpO1xuXG4gICAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgI2NvbnRhaW5lclR5cGVVc2VyIHtcbiAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLWJvdHRvbSwgKHhzOiAyMHB4KSk7XG4gICAgfVxuXG4gICAgLnNlbGVjdC1wYXltZW50LXR5cGUge1xuICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tdG9wLCAoeHM6IDMwcHgsIG1kOiA0MHB4KSk7XG5cbiAgICAgIC5hY2NvcmRpb24ge1xuXG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJG1lZGdyZXk7XG5cbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxOHB4LCBtZDogMjJweCkpO1xuXG4gICAgICAgICAgICAuYnRuLWJsb2NrIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgsIG1kOiAxNHB4KSk7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCwgbWQ6IDE0cHgpKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgICAmOmZvY3VzOmFjdGl2ZSxcbiAgICAgICAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOm5vdCguY29sbGFwc2VkKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmNhcmQtYm9keSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggJG1lZGdyZXk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpoYXMoLmFjY29yZGlvbi1idXR0b25bYXJpYS1leHBhbmRlZD1cInRydWVcIl0pIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRwcmltYXJ5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICAgIC5jdXN0b20tcmFkaW8ge1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tYm90dG9tLCAoeHM6IDEwcHgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2Utb3V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG5cbiAgfVxuXG59XG5cbi8vIGJvZHkjY2FydC5zdGVwLTMgbWFpbi53cmFwXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIENhcnQgdGhhbmsgeW91XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmJvZHkuY2FydC50aGFuay15b3UgbWFpbiB7XG4gID4uY29udGFpbmVyLWZsdWlkIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHggIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBoMyB7XG4gICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4KSk7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCkpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICB9XG5cbiAgcCB7XG4gICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4KSk7XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG4jZGVsaXZlcnlBY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuICB9XG59IiwiYm9keS5hY2NvdW50IG1haW4ge1xuXG4gIC5zdGVwLW1lbnUgeyAvLyAjYWNjb3VudFRhYnMubmF2XG4gICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tYm90dG9tLCAoeHM6IDMwcHgsIG1kOiA0MHB4KSk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpub3QoLmZha2UtbWVudSkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9wbHVzLnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNpbmcocXVhcnRPdXQpO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubW9iaWxlLW1lbnUtb3BlbiB7XG5cbiAgICAgICAgLnN0ZXAge1xuICAgICAgICAgICY6bm90KC5hY3RpdmUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5tb2JpbGUtbWVudS1vcGVuLWluIHtcblxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnN0ZXAge1xuICAgICAgICAgICAgJjpub3QoLmFjdGl2ZSkge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2Utb3V0IDIwMG1zO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zdGVwIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAmOm5vdChzcGFuKSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gICAgICAgIFxuICAgICAgICAvL2JvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuICAgICAgICAvL2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICBvcmRlcjogMDtcblxuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwIDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpub3QoLmFjdGl2ZSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGVhc2Utb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAyMDBtcyBlYXNlLW91dDtcblxuICAgICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9keS1iZy1saWdodC1ncmF5LCA2JSk7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogZGFya2VuKCRib2R5LWJnLWxpZ2h0LWdyYXksIDYlKTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogZGFya2VuKCRib2R5LWJnLWxpZ2h0LWdyYXksIDYlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDIsXG4gICAgICBoMyB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4LCBtZDogMTZweCkpO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEobGluZS1oZWlnaHQsICh4czogMiwgbWQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodCkpO1xuICAgICAgfVxuXG4gICAgfSAvLyAuc3RlcFxuXG4gIH0gLy8gLnN0ZXAtbWVudS1yb3dcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAqIEVtcHR5IGxpc3RcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLmVtcHR5LWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG5cbiAgICBoNCB7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgpKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICogUHJvZmlsZVxuICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgI2FjY291bnRUYWJDb250ZW50cyB7XG5cbiAgICAjYm94VXNlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4KSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGgzIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4LCBtZDogMTZweCkpO1xuICAgICAgICBAaW5jbHVkZSBycG1xKG1hcmdpbi1ib3R0b20sICh4czogMzBweCwgbWQ6IDYwcHgpKTtcbiAgICAgIH1cblxuICAgICAgLmxvZ291dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBAaW5jbHVkZSBycG1xKG1hcmdpbi1ib3R0b20sICh4czogMjBweCwgbWQ6IDApKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9sb2dvdXQuc3ZnXCIpOyAvLyBBc3NpY3VyYXRpIGNoZSBpbCBwZXJjb3JzbyBzaWEgY29ycmV0dG9cbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4LCBtZDogMTZweCkpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIC5kYXRhLXJvdyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuXG4gICAgICAgIC5taWRkbGUtYmxvY2sge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucGVyc29uYWwtZGF0YS1yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zaGlwcGluZy1kYXRhLXJvdyB7XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmluZm9Vc2VyLFxuICAgIC5pbmZvU3BlZCxcbiAgICAuYnRuLXN1YiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGZvcm0uY29udGFpbmVyLWRhdGEge1xuICAgICAgaDMge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgsIG1kOiAxNnB4KSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG5cbiAgICAgIC5idG4tc3ViIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGdyZXk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICAgIC5pbmZvVXNlciB7XG4gICAgICAgIGgzOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cblxuICB9IC8vI2FjY291bnRUYWJDb250ZW50c1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICogT3JkZXIgaGlzdG9yeVxuICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgI29yZGVyc1RhYkNvbnRlbnQge1xuXG4gICAgaDMge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCwgbWQ6IDE2cHgpKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgfVxuXG4gICAgLm9yZGVyLXJvdyB7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2NlZDRkYTtcblxuICAgICAgJjpub3QoLmZpcnN0KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWhlYWQtY29sIHtcbiAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCkpO1xuXG4gICAgICAuY29kZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgPiAucm93IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaW5jbHVkZSBycG1xKChwYWRkaW5nLXRvcCwgcGFkZGluZy1ib3R0b20pLCAoeHM6IDEwcHgpKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtYmFja2dyb3VuZC1jb2xvcjtcblxuICAgICAgICA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKG1hcmdpbi10b3AsICh4czogMTBweCwgbWQ6IDApKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudHJhY2tpbmctdXJsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1wcm9kdWN0LWNvbCB7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgpKTtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIC8vbWF4LXdpZHRoOiAzNDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cbiAgICAgICAgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxMnB4KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJldHVybiB7XG4gICAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxMnB4KSk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJldHVybi1hY3Rpb24ge1xuICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTJweCkpO1xuICAgICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gI29yZGVyc1RhYkNvbnRlbnRcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgKiBSZXR1cm5zXG4gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAjcmV0dXJuVGFiQ29udGVudCB7XG5cbiAgICBoMyB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4LCBtZDogMTZweCkpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICB9XG5cbiAgICAucmV0dXJuLXJvdyB7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2NlZDRkYTtcbiAgICAgICY6bm90KC5maXJzdCkge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yZXR1cm4taGVhZC1jb2wge1xuICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4KSk7XG5cbiAgICAgIC5jb2RlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICA+IC5yb3cge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEoKHBhZGRpbmctdG9wLCBwYWRkaW5nLWJvdHRvbSksICh4czogMTBweCkpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1iYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgICAgID4gZGl2Omxhc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLXRvcCwgKHhzOiAxMHB4LCBtZDogMCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAucmV0dXJuLXByb2R1Y3QtY29sIHtcbiAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCkpO1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgLy9tYXgtd2lkdGg6IDM0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcblxuICAgICAgICA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gICAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEycHgpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAucHJvZHVjdC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH0gLy8gI3JldHVyblRhYkNvbnRlbnRcblxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAqIFdpc2ggbGlzdFxuICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgI3dpc2hMaXN0VGFiQ29udGVudCB7XG5cbiAgICBoMyB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4LCBtZDogMTZweCkpO1xuICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tYm90dG9tLCAoeHM6IDMwcHgsIG1kOiAwcHgpKTtcbiAgICB9XG5cbiAgICAud2lzaC1yb3cge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG5cbiAgICBhcnRpY2xlLnByb2R1Y3Qge1xuICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4tYm90dG9tLCAoeHM6IDMwcHgsIHNtOjUwcHgsIG1kOiAzMHB4LCBsZzozMHB4LCB4bDogNDBweCkpO1xuXG4gICAgICAucHJvZHVjdC1saW5rIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWltYWdlOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWluZm8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuXG4gICAgICAuYWRkLXRvLWNhcnQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDM2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJlbW92ZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0zcHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfSAvLyAjd2lzaExpc3RUYWJDb250ZW50XG5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgKiBOZXdzbGV0dGVyXG4gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAjbmV3c2xldHRlclRhYkNvbnRlbnQge1xuXG4gICAgaDMge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCwgbWQ6IDE2cHgpKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLnJlbW92ZS10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTJweCwgbWQ6IDE0cHgpKTtcbiAgICB9XG5cbiAgICAucmVtb3ZlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgfVxuXG4gIH0gLy8gI25ld3NsZXR0ZXJUYWJDb250ZW50XG5cbn1cblxuXG5ib2R5LmFjY291bnQub3JkZXItZGV0YWlscyBtYWluIHtcblxuICAuc3RlcC1tZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuc3RlcCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAqIFNpbmdsZSBvcmRlciBkZXRhaWxzXG4gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAjb3JkZXJUYWJDb250ZW50IHtcblxuICAgIGgzIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgsIG1kOiAxNnB4KSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIH1cblxuICAgIC5vcmRlci1yb3cge1xuICAgICAgJjpub3QoLmZpcnN0KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWhlYWQtY29sIHtcbiAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTRweCkpO1xuXG4gICAgICAuY29kZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgPiAucm93IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaW5jbHVkZSBycG1xKChwYWRkaW5nLXRvcCwgcGFkZGluZy1ib3R0b20pLCAoeHM6IDEwcHgpKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtYmFja2dyb3VuZC1jb2xvcjtcblxuICAgICAgICA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBycG1xKG1hcmdpbi10b3AsICh4czogMTBweCwgbWQ6IDApKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudHJhY2tpbmctdXJsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1wcm9kdWN0LWNvbCB7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgpKTtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIG1heC13aWR0aDogMzQwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTJweCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXR1cm4ge1xuICAgICAgICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTJweCkpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXR1cm4tYWN0aW9uIHtcbiAgICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEycHgpKTtcbiAgICAgICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAucHJvZHVjdC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH0gLy8gI29yZGVyVGFiQ29udGVudFxuXG59XG5cbi5yZXR1cm4tc3RhdGVzLW1vZGFsIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5uZXctcmV0dXJuLXJlcXVlc3QtbW9kYWwge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgLnN3YWwyLXRpdGxlIHtcbiAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE4cHgsIHNtOiAyMHB4LCkpO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG5cbiAgdWwge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcblxuICAgIHRoLCB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2RlZTJlNjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gICAgdGgge1xuICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgfVxuICB9XG59XG5cbi5yZXMtbWVzc2FnZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGNvbG9yOiAjZDk1MzRmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgJi5mYWlsZWQge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgLm1lc3NhZ2UtaWYtZmFpbCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm1lc3NhZ2UtaWYtdGhyZXNob2xkIHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG5cbiAgJi50aHJlc2hvbGQge1xuICAgIC5tZXNzYWdlLWlmLWZhaWwgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1lc3NhZ2UtaWYtdGhyZXNob2xkIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgfVxufVxuXG4ucmV0dXJuLWtvLCAucmV0dXJuLW9rIHtcbiAgYnV0dG9uLFxuICBhIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmc6IDEwcHggMzJweDtcbiAgICBmb250LXNpemU6IC43NXJlbSAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuXG4gICAgLypcbiAgICAmLmJ0bi1icm93biB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAqL1xuICB9XG59XG5cbi8qXG4ucmV0dXJuLWtvIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG4qL1xuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIFVzZXIgc3RlcCAyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmJvZHkuY2FydC5zdGVwLTIgbWFpbiB7XG4gIFxuICAuY29tbW9uLWhlYWRpbmcge1xuICAgIC5jb250ZW50IHtcbiAgICAgIGgzIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYm94LWNvbCB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC5pbm5lci1ib3gge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGdyZXk7XG4gICAgICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLCAoeHM6IDEwcHggMCwgbWQ6IDEwcHggMCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBAaW5jbHVkZSBycG1xKG1hcmdpbi1ib3R0b20sICh4czogbWFwLWdldCgkZ3JpZC1ndXR0ZXItaGFsZi13aWR0aC1yZXNwb25zaXZlLCB4cyksIHNtOiBtYXAtZ2V0KCRncmlkLWd1dHRlci1oYWxmLXdpZHRoLXJlc3BvbnNpdmUsIHNtKSwgbWQ6IDApKTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDE0cHgpKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5pbm5lciB7XG4gICAgICBAaW5jbHVkZSBycG1xKChwYWRkaW5nLWxlZnQsIHBhZGRpbmctcmlnaHQpLCAkZ3JpZC1ndXR0ZXItaGFsZi13aWR0aC1yZXNwb25zaXZlKTtcbiAgICAgIEBpbmNsdWRlIHJwbXEoKHBhZGRpbmctdG9wLCBwYWRkaW5nLWJvdHRvbSksICh4czogbWFwLWdldCgkZ3JpZC1ndXR0ZXItd2lkdGgtcmVzcG9uc2l2ZSwgeHMpLCBzbTogbWFwLWdldCgkZ3JpZC1ndXR0ZXItaGFsZi13aWR0aC1yZXNwb25zaXZlLCBzbSksIG1kOiBtYXAtZ2V0KCRncmlkLWd1dHRlci1oYWxmLXdpZHRoLXJlc3BvbnNpdmUsIG1kKSwgbGc6IG1hcC1nZXQoJGdyaWQtZ3V0dGVyLWhhbGYtd2lkdGgtcmVzcG9uc2l2ZSwgbGcpLCB4bDogbWFwLWdldCgkZ3JpZC1ndXR0ZXItaGFsZi13aWR0aC1yZXNwb25zaXZlLCB4bCkpKTtcbiAgICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5O1xuICAgICAgLy8gYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbWluO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIC5zaWduLWluLWRldGFpbHMge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaTo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnLSc7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSxcbiAgICAgIC5idG4tcHJpbWFyeSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlciwgZGVjbGFyYXRpb24tYmxvY2stc2luZ2xlLWxpbmUtbWF4LWRlY2xhcmF0aW9ucyAqL1xuICAgICAgICAqOjotbXMtYmFja2Ryb3AsIHAgeyBtYXgtd2lkdGg6IDEwMCU7IH0gLyogSUUxMSBmaXggKi9cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGZvcm0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBwOmxhc3Qtb2YtdHlwZSxcbiAgICAuZm9ybS1ncm91cDpsYXN0LW9mLXR5cGUsXG4gICAgLmZvcm0tZ3JvdXAtcGFzc3dvcmQge1xuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAmLmJveC1sb2dpbiB7XG5cbiAgICAgIC5pbm5lci1sb2dpbiB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC5jdGEtZ3JvdXAge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmxvc3QtcGFzc3dvcmQge1xuICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEycHgpKTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLmxvc3QtcGFzc3dvcmQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEycHgpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJveC1yZXR1cm5zLFxuICAgICYuYm94LXNpZ24taW4ge1xuICAgICAgLmJ0biB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKiBGb3Jnb3QgcGFzc3dvcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuYm9keS51c2VyLnVzZXItZm9yZ290LXBhc3N3b3JkIG1haW4ge1xuXG4gIGgzIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBpbmNsdWRlIHJmc21xKCh4czogMTZweCkpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgZm9ybSB7XG4gICAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cblxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogVXNlciBzaWduLWluXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmJvZHkudXNlci51c2VyLXNpZ24taW4gbWFpbixcbmJvZHkuY2FydC5zdGVwLTIgbWFpbiB7XG4gIC5hY2NvdW50Rm9ybSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0Z3JleTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gIH1cbiAgZm9ybSB7XG5cbiAgICBoNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNnB4KSk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxuICAgIC5mb3JtLWNoZWNrLXByaXZhY3kge1xuICAgICAgbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSByZnNtcSgoeHM6IDEycHgpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG5cblxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogVXNlciBsb2dpblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5ib2R5LnVzZXIudXNlci1sb2dpbiBtYWluIHtcbiAgLmNvbW1vbi1oZWFkaW5nIHtcbiAgICAuY29udGVudCB7XG4gICAgICBoMyB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ib3gtcmV0dXJucyxcbiAgLmJveC1zaWduLWluLFxuICAuYm94LWxvZ2luIHtcbiAgICBAaW5jbHVkZSBycG1xKG1hcmdpbi10b3AsICh4czogMjBweCwgbWQ6IDBweCkpO1xuICAgIC5pbm5lci1ib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNHB4KSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0Z3JleTtcbiAgICAgICAgQGluY2x1ZGUgcnBtcShtYXJnaW4sICh4czogMTBweCAwLCBtZDogMTBweCAwKSk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC5idG4tcHJpbWFyeSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxvc3QtcGFzc3dvcmQge1xuICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5ib3gtbG9naW4ge1xuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuICAgIH1cbiAgfVxuXG4gIC5hY2Nlc3NUYWJsZSB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cbiAgLmFjY291bnRUYWJsZSB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxuICAubWFpbi1tYXJnaW4ge1xuICAgIEBpbmNsdWRlIHJwbXEobWFyZ2luLWJvdHRvbSwgbGluZWFyLWludGVycG9sYXRpb24oNTBweCwgMjAwcHgsIHhzLCB4eGwpKTtcbiAgfVxufVxuXG4iLCJib2R5LnN0YXRpYy1wYWdlIG1haW4uYWJvdXQtcGFnZSB7XG4gIC5ib3hTdGF0aWNQYWdlIHtcbiAgICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIHJwbXEocGFkZGluZy10b3AsIChtYmw6ICRoZWFkZXItaGVpZ2h0LW1ibCwgZHNrOiAkaGVhZGVyLWhlaWdodCksICRtb2JpbGUtbWVudS1icmVha3BvaW50cyk7XG5cbiAgICAuaW1nMSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICB9XG5cbiAgLmJvdHRvbUJveCB7XG4gICAgbWF4LXdpZHRoOiAxNDAwcHg7XG5cbiAgICAuaW1nMixcbiAgICAudGVzdG8ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAudGVzdG8ge1xuICAgICAgQGluY2x1ZGUgcmZzbXEoKHhzOiAxNnB4LCBtZDogMThweCkpO1xuICAgIH1cbiAgfVxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/