@charset "UTF-8";
/*!
 * CoreUI  v5.5.0 (https://coreui.io)
 * Copyright (c) 2025 creativeLabs Łukasz Holeczek
 * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
 */
:root,
[data-coreui-theme=light] {
  --cui-blue: #0d6efd;
  --cui-indigo: #6610f2;
  --cui-purple: #6f42c1;
  --cui-pink: #d63384;
  --cui-red: #dc3545;
  --cui-orange: #fd7e14;
  --cui-yellow: #ffc107;
  --cui-green: #198754;
  --cui-teal: #20c997;
  --cui-cyan: #0dcaf0;
  --cui-black: #080a0c;
  --cui-white: #fff;
  --cui-gray: #6d7d9c;
  --cui-gray-dark: #323a49;
  --cui-gray-100: #f3f4f7;
  --cui-gray-200: #e7eaee;
  --cui-gray-300: #dbdfe6;
  --cui-gray-400: #cfd4de;
  --cui-gray-500: #aab3c5;
  --cui-gray-600: #6d7d9c;
  --cui-gray-700: #4a566d;
  --cui-gray-800: #323a49;
  --cui-gray-900: #212631;
  --cui-primary: #5856d6;
  --cui-secondary: #6b7785;
  --cui-success: #1b9e3e;
  --cui-info: #39f;
  --cui-warning: #f9b115;
  --cui-danger: #e55353;
  --cui-light: #f3f4f7;
  --cui-dark: #212631;
  --cui-primary-rgb: 88, 86, 214;
  --cui-secondary-rgb: 107, 119, 133;
  --cui-success-rgb: 27, 158, 62;
  --cui-info-rgb: 51, 153, 255;
  --cui-warning-rgb: 249, 177, 21;
  --cui-danger-rgb: 229, 83, 83;
  --cui-light-rgb: 243, 244, 247;
  --cui-dark-rgb: 33, 38, 49;
  --cui-primary-text-emphasis: #3634a3;
  --cui-secondary-text-emphasis: #212233;
  --cui-success-text-emphasis: #0f5722;
  --cui-info-text-emphasis: #184c77;
  --cui-warning-text-emphasis: #764705;
  --cui-danger-text-emphasis: #671414;
  --cui-light-text-emphasis: #4a566d;
  --cui-dark-text-emphasis: #323a49;
  --cui-primary-bg-subtle: #cfc7f3;
  --cui-secondary-bg-subtle: #ced2d8;
  --cui-success-bg-subtle: #cbedd6;
  --cui-info-bg-subtle: #c0e6ff;
  --cui-warning-bg-subtle: #feecc5;
  --cui-danger-bg-subtle: #f9d4d4;
  --cui-light-bg-subtle: rgb(249, 249.5, 251);
  --cui-dark-bg-subtle: #cfd4de;
  --cui-primary-border-subtle: #9d92e6;
  --cui-secondary-border-subtle: #9da5b1;
  --cui-success-border-subtle: #96dbad;
  --cui-info-border-subtle: #80c6ff;
  --cui-warning-border-subtle: #fcd88a;
  --cui-danger-border-subtle: #f2a9a9;
  --cui-light-border-subtle: #e7eaee;
  --cui-dark-border-subtle: #aab3c5;
  --cui-white-rgb: 255, 255, 255;
  --cui-black-rgb: 8, 10, 12;
  --cui-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --cui-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --cui-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --cui-body-font-family: var(--cui-font-sans-serif);
  --cui-body-font-size: 1rem;
  --cui-body-font-weight: 400;
  --cui-body-line-height: 1.5;
  --cui-body-color: rgba(37, 42.92, 54.02, 0.95);
  --cui-body-color-rgb: 37, 42.92, 54.02;
  --cui-body-bg: #fff;
  --cui-body-bg-rgb: 255, 255, 255;
  --cui-emphasis-color: #080a0c;
  --cui-emphasis-color-rgb: 8, 10, 12;
  --cui-secondary-color: rgba(37, 42.92, 54.02, 0.681);
  --cui-secondary-color-rgb: 37, 42.92, 54.02;
  --cui-secondary-bg: #e7eaee;
  --cui-secondary-bg-rgb: 231, 234, 238;
  --cui-tertiary-color: rgba(37, 42.92, 54.02, 0.38);
  --cui-tertiary-color-rgb: 37, 42.92, 54.02;
  --cui-tertiary-bg: #f3f4f7;
  --cui-tertiary-bg-rgb: 243, 244, 247;
  --cui-body-color-dark: rgba(255, 255, 255, 0.87);
  --cui-body-color-rgb-dark: 255, 255, 255;
  --cui-body-bg-dark: #212631;
  --cui-body-bg-rgb-dark: 33, 38, 49;
  --cui-emphasis-color-dark: #fff;
  --cui-emphasis-color-rgb-dark: 255, 255, 255;
  --cui-secondary-color-dark: rgba(255, 255, 255, 0.6);
  --cui-secondary-color-rgb-dark: 255, 255, 255;
  --cui-secondary-bg-dark: #323a49;
  --cui-secondary-bg-rgb-dark: 50, 58, 73;
  --cui-tertiary-color-dark: rgba(255, 255, 255, 0.38);
  --cui-tertiary-color-rgb-dark: 255, 255, 255;
  --cui-tertiary-bg-dark: rgb(41.5, 48, 61);
  --cui-tertiary-bg-rgb-dark: 41.5, 48, 61;
  --cui-high-emphasis: rgba(37, 42.92, 54.02, 0.95);
  --cui-medium-emphasis: rgba(37, 42.92, 54.02, 0.681);
  --cui-disabled: rgba(37, 42.92, 54.02, 0.38);
  --cui-high-emphasis-inverse: rgba(255, 255, 255, 0.87);
  --cui-medium-emphasis-inverse: rgba(255, 255, 255, 0.6);
  --cui-disabled-inverse: rgba(255, 255, 255, 0.38);
  --cui-heading-color: inherit;
  --cui-link-color: #5856d6;
  --cui-link-color-rgb: 88, 86, 214;
  --cui-link-decoration: underline;
  --cui-link-hover-color: rgb(70.4, 68.8, 171.2);
  --cui-link-hover-color-rgb: 70.4, 68.8, 171.2;
  --cui-code-color: #d63384;
  --cui-highlight-color: rgba(37, 42.92, 54.02, 0.95);
  --cui-highlight-bg: rgb(255, 242.6, 205.4);
  --cui-border-width: 1px;
  --cui-border-style: solid;
  --cui-border-color: #dbdfe6;
  --cui-border-color-translucent: rgba(8, 10, 12, 0.175);
  --cui-border-radius: 0.375rem;
  --cui-border-radius-sm: 0.25rem;
  --cui-border-radius-lg: 0.5rem;
  --cui-border-radius-xl: 1rem;
  --cui-border-radius-xxl: 2rem;
  --cui-border-radius-2xl: var(--cui-border-radius-xxl);
  --cui-border-radius-pill: 50rem;
  --cui-box-shadow: 0 0.5rem 1rem rgba(8, 10, 12, 0.15);
  --cui-box-shadow-sm: 0 0.125rem 0.25rem rgba(8, 10, 12, 0.075);
  --cui-box-shadow-lg: 0 1rem 3rem rgba(8, 10, 12, 0.175);
  --cui-box-shadow-inset: inset 0 1px 2px rgba(8, 10, 12, 0.075);
  --cui-focus-ring-width: 0.25rem;
  --cui-focus-ring-opacity: 0.25;
  --cui-focus-ring-color: rgba(88, 86, 214, 0.25);
  --cui-form-valid-color: #1b9e3e;
  --cui-form-valid-border-color: #1b9e3e;
  --cui-form-invalid-color: #e55353;
  --cui-form-invalid-border-color: #e55353;
}

[data-coreui-theme=dark] {
  color-scheme: dark;
  --cui-body-color: rgba(255, 255, 255, 0.87);
  --cui-body-color-rgb: 255, 255, 255;
  --cui-body-bg: #212631;
  --cui-body-bg-rgb: 33, 38, 49;
  --cui-emphasis-color: #fff;
  --cui-emphasis-color-rgb: 255, 255, 255;
  --cui-secondary-color: rgba(255, 255, 255, 0.6);
  --cui-secondary-color-rgb: 255, 255, 255;
  --cui-secondary-bg: #323a49;
  --cui-secondary-bg-rgb: 50, 58, 73;
  --cui-tertiary-color: rgba(255, 255, 255, 0.38);
  --cui-tertiary-color-rgb: 255, 255, 255;
  --cui-tertiary-bg: rgb(41.5, 48, 61);
  --cui-tertiary-bg-rgb: 41.5, 48, 61;
  --cui-high-emphasis: rgba(255, 255, 255, 0.87);
  --cui-medium-emphasis: rgba(255, 255, 255, 0.6);
  --cui-disabled: rgba(255, 255, 255, 0.38);
  --cui-primary: rgb(94.2, 92.4, 207.6);
  --cui-secondary: #6b7785;
  --cui-success: rgb(33.55, 151.45, 65.05);
  --cui-info: rgb(61.2, 153, 244.8);
  --cui-warning: rgb(237.6, 172.8, 32.4);
  --cui-danger: rgb(221.7, 90.3, 90.3);
  --cui-light: #f3f4f7;
  --cui-dark: #212631;
  --cui-gray-100: #f3f4f7;
  --cui-gray-200: #e7eaee;
  --cui-gray-300: #dbdfe6;
  --cui-gray-400: #cfd4de;
  --cui-gray-500: #aab3c5;
  --cui-gray-600: #6d7d9c;
  --cui-gray-700: #4a566d;
  --cui-gray-800: #323a49;
  --cui-gray-900: #212631;
  --cui-primary-rgb: 94.2, 92.4, 207.6;
  --cui-secondary-rgb: 107, 119, 133;
  --cui-success-rgb: 33.55, 151.45, 65.05;
  --cui-info-rgb: 61.2, 153, 244.8;
  --cui-warning-rgb: 237.6, 172.8, 32.4;
  --cui-danger-rgb: 221.7, 90.3, 90.3;
  --cui-light-rgb: 243, 244, 247;
  --cui-dark-rgb: 33, 38, 49;
  --cui-primary-text-emphasis: rgb(59.35, 57.55, 157.45);
  --cui-secondary-text-emphasis: #212233;
  --cui-success-text-emphasis: rgb(18.6, 83.4, 35.7);
  --cui-info-text-emphasis: rgb(28.75, 75.55, 114.25);
  --cui-warning-text-emphasis: rgb(112.35, 70.05, 10.65);
  --cui-danger-text-emphasis: rgb(98.85, 24.15, 24.15);
  --cui-light-text-emphasis: #f3f4f7;
  --cui-dark-text-emphasis: #dbdfe6;
  --cui-primary-bg-subtle: #cfc7f3;
  --cui-secondary-bg-subtle: #ced2d8;
  --cui-success-bg-subtle: #cbedd6;
  --cui-info-bg-subtle: #c0e6ff;
  --cui-warning-bg-subtle: #feecc5;
  --cui-danger-bg-subtle: #f9d4d4;
  --cui-light-bg-subtle: #323a49;
  --cui-dark-bg-subtle: rgb(29, 34, 42.5);
  --cui-primary-border-subtle: #9d92e6;
  --cui-secondary-border-subtle: #9da5b1;
  --cui-success-border-subtle: #96dbad;
  --cui-info-border-subtle: #80c6ff;
  --cui-warning-border-subtle: #fcd88a;
  --cui-danger-border-subtle: #f2a9a9;
  --cui-light-border-subtle: #4a566d;
  --cui-dark-border-subtle: #323a49;
  --cui-heading-color: inherit;
  --cui-link-color: rgb(94.2, 92.4, 207.6);
  --cui-link-hover-color: rgb(126.36, 124.92, 217.08);
  --cui-link-color-rgb: 94.2, 92.4, 207.6;
  --cui-link-hover-color-rgb: 126.36, 124.92, 217.08;
  --cui-code-color: rgb(230.4, 132.6, 181.2);
  --cui-highlight-color: rgba(255, 255, 255, 0.87);
  --cui-highlight-bg: rgb(102, 77.2, 2.8);
  --cui-border-color: #323a49;
  --cui-border-color-translucent: rgba(255, 255, 255, 0.1);
  --cui-form-valid-color: rgb(117, 183, 152.4);
  --cui-form-valid-border-color: rgb(117, 183, 152.4);
  --cui-form-invalid-color: rgb(234, 133.8, 143.4);
  --cui-form-invalid-border-color: rgb(234, 133.8, 143.4);
}

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

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

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

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--cui-border-width) solid;
  opacity: 0.25;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--cui-heading-color);
}

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

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

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

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

h5, .h5 {
  font-size: 1.25rem;
}

h6, .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-inline-start: 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-inline-start: 0;
  margin-bottom: 0.5rem;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small, .small {
  font-size: 0.875em;
}

mark, .mark {
  padding: 0.1875em;
  color: var(--cui-highlight-color);
  background-color: var(--cui-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(--cui-link-color-rgb), var(--cui-link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --cui-link-color-rgb: var(--cui-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(--cui-font-monospace);
  font-size: 1em;
}

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

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

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--cui-kbd-color, var(--cui-body-bg));
  background-color: var(--cui-kbd-bg, var(--cui-body-color));
  border-radius: 0.25rem;
}
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(--cui-table-caption-color, var(--cui-secondary-color));
  text-align: start;
}

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: inline-start;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  line-height: inherit;
  font-size: calc(1.275rem + 0.3vw);
}
@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;
}
[type=search]::-webkit-search-cancel-button {
  cursor: pointer;
  filter: grayscale(1);
}

*[dir=rtl] [type=tel],
*[dir=rtl] [type=url],
*[dir=rtl] [type=email],
*[dir=rtl] [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;
}

.lead {
  font-size: 1.25rem;
  font-weight: 300;
}

.display-1 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.625rem + 4.5vw);
}
@media (min-width: 1200px) {
  .display-1 {
    font-size: 5rem;
  }
}

.display-2 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.575rem + 3.9vw);
}
@media (min-width: 1200px) {
  .display-2 {
    font-size: 4.5rem;
  }
}

.display-3 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.525rem + 3.3vw);
}
@media (min-width: 1200px) {
  .display-3 {
    font-size: 4rem;
  }
}

.display-4 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.475rem + 2.7vw);
}
@media (min-width: 1200px) {
  .display-4 {
    font-size: 3.5rem;
  }
}

.display-5 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.425rem + 2.1vw);
}
@media (min-width: 1200px) {
  .display-5 {
    font-size: 3rem;
  }
}

.display-6 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  .display-6 {
    font-size: 2.5rem;
  }
}

.list-unstyled {
  padding-inline-start: 0;
  list-style: none;
}

.list-inline {
  padding-inline-start: 0;
  list-style: none;
}

.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-inline-end: 0.5rem;
}

.initialism {
  font-size: 0.875em;
  text-transform: uppercase;
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.blockquote > :last-child {
  margin-bottom: 0;
}

.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: #6d7d9c;
}
.blockquote-footer::before {
  content: "— ";
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  padding: 0.25rem;
  background-color: var(--cui-thumbnail-bg, var(--cui-body-bg));
  border: var(--cui-border-width) solid var(--cui-thumbnail-border-color, var(--cui-border-color));
  border-radius: var(--cui-border-radius);
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}

.figure-caption {
  font-size: 0.875em;
  color: var(--cui-figure-caption-color, var(--cui-secondary-color));
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --cui-gutter-x: 1.5rem;
  --cui-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--cui-gutter-x) * 0.5);
  padding-left: calc(var(--cui-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: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
:root {
  --cui-breakpoint-xs: 0;
  --cui-breakpoint-sm: 576px;
  --cui-breakpoint-md: 768px;
  --cui-breakpoint-lg: 992px;
  --cui-breakpoint-xl: 1200px;
  --cui-breakpoint-xxl: 1400px;
  --cui-mobile-breakpoint: lg;
}

.row {
  --cui-gutter-x: 1.5rem;
  --cui-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--cui-gutter-y));
  margin-right: calc(-0.5 * var(--cui-gutter-x));
  margin-left: calc(-0.5 * var(--cui-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--cui-gutter-x) * 0.5);
  padding-left: calc(var(--cui-gutter-x) * 0.5);
  margin-top: var(--cui-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-inline-start: 8.33333333%;
}

.offset-2 {
  margin-inline-start: 16.66666667%;
}

.offset-3 {
  margin-inline-start: 25%;
}

.offset-4 {
  margin-inline-start: 33.33333333%;
}

.offset-5 {
  margin-inline-start: 41.66666667%;
}

.offset-6 {
  margin-inline-start: 50%;
}

.offset-7 {
  margin-inline-start: 58.33333333%;
}

.offset-8 {
  margin-inline-start: 66.66666667%;
}

.offset-9 {
  margin-inline-start: 75%;
}

.offset-10 {
  margin-inline-start: 83.33333333%;
}

.offset-11 {
  margin-inline-start: 91.66666667%;
}

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

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

.g-1,
.gx-1 {
  --cui-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --cui-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --cui-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --cui-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --cui-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --cui-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --cui-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --cui-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --cui-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --cui-gutter-y: 3rem;
}

@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-inline-start: 0;
  }
  .offset-sm-1 {
    margin-inline-start: 8.33333333%;
  }
  .offset-sm-2 {
    margin-inline-start: 16.66666667%;
  }
  .offset-sm-3 {
    margin-inline-start: 25%;
  }
  .offset-sm-4 {
    margin-inline-start: 33.33333333%;
  }
  .offset-sm-5 {
    margin-inline-start: 41.66666667%;
  }
  .offset-sm-6 {
    margin-inline-start: 50%;
  }
  .offset-sm-7 {
    margin-inline-start: 58.33333333%;
  }
  .offset-sm-8 {
    margin-inline-start: 66.66666667%;
  }
  .offset-sm-9 {
    margin-inline-start: 75%;
  }
  .offset-sm-10 {
    margin-inline-start: 83.33333333%;
  }
  .offset-sm-11 {
    margin-inline-start: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --cui-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --cui-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --cui-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --cui-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --cui-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --cui-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --cui-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --cui-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --cui-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --cui-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --cui-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --cui-gutter-y: 3rem;
  }
}
@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-inline-start: 0;
  }
  .offset-md-1 {
    margin-inline-start: 8.33333333%;
  }
  .offset-md-2 {
    margin-inline-start: 16.66666667%;
  }
  .offset-md-3 {
    margin-inline-start: 25%;
  }
  .offset-md-4 {
    margin-inline-start: 33.33333333%;
  }
  .offset-md-5 {
    margin-inline-start: 41.66666667%;
  }
  .offset-md-6 {
    margin-inline-start: 50%;
  }
  .offset-md-7 {
    margin-inline-start: 58.33333333%;
  }
  .offset-md-8 {
    margin-inline-start: 66.66666667%;
  }
  .offset-md-9 {
    margin-inline-start: 75%;
  }
  .offset-md-10 {
    margin-inline-start: 83.33333333%;
  }
  .offset-md-11 {
    margin-inline-start: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --cui-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --cui-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --cui-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --cui-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --cui-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --cui-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --cui-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --cui-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --cui-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --cui-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --cui-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --cui-gutter-y: 3rem;
  }
}
@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-inline-start: 0;
  }
  .offset-lg-1 {
    margin-inline-start: 8.33333333%;
  }
  .offset-lg-2 {
    margin-inline-start: 16.66666667%;
  }
  .offset-lg-3 {
    margin-inline-start: 25%;
  }
  .offset-lg-4 {
    margin-inline-start: 33.33333333%;
  }
  .offset-lg-5 {
    margin-inline-start: 41.66666667%;
  }
  .offset-lg-6 {
    margin-inline-start: 50%;
  }
  .offset-lg-7 {
    margin-inline-start: 58.33333333%;
  }
  .offset-lg-8 {
    margin-inline-start: 66.66666667%;
  }
  .offset-lg-9 {
    margin-inline-start: 75%;
  }
  .offset-lg-10 {
    margin-inline-start: 83.33333333%;
  }
  .offset-lg-11 {
    margin-inline-start: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --cui-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --cui-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --cui-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --cui-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --cui-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --cui-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --cui-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --cui-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --cui-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --cui-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --cui-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --cui-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .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-inline-start: 0;
  }
  .offset-xl-1 {
    margin-inline-start: 8.33333333%;
  }
  .offset-xl-2 {
    margin-inline-start: 16.66666667%;
  }
  .offset-xl-3 {
    margin-inline-start: 25%;
  }
  .offset-xl-4 {
    margin-inline-start: 33.33333333%;
  }
  .offset-xl-5 {
    margin-inline-start: 41.66666667%;
  }
  .offset-xl-6 {
    margin-inline-start: 50%;
  }
  .offset-xl-7 {
    margin-inline-start: 58.33333333%;
  }
  .offset-xl-8 {
    margin-inline-start: 66.66666667%;
  }
  .offset-xl-9 {
    margin-inline-start: 75%;
  }
  .offset-xl-10 {
    margin-inline-start: 83.33333333%;
  }
  .offset-xl-11 {
    margin-inline-start: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --cui-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --cui-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --cui-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --cui-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --cui-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --cui-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --cui-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --cui-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --cui-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --cui-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --cui-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --cui-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .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-inline-start: 0;
  }
  .offset-xxl-1 {
    margin-inline-start: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-inline-start: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-inline-start: 25%;
  }
  .offset-xxl-4 {
    margin-inline-start: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-inline-start: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-inline-start: 50%;
  }
  .offset-xxl-7 {
    margin-inline-start: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-inline-start: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-inline-start: 75%;
  }
  .offset-xxl-10 {
    margin-inline-start: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-inline-start: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --cui-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --cui-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --cui-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --cui-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --cui-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --cui-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --cui-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --cui-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --cui-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --cui-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --cui-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --cui-gutter-y: 3rem;
  }
}
.table {
  --cui-table-color-type: initial;
  --cui-table-bg-type: initial;
  --cui-table-color-state: initial;
  --cui-table-bg-state: initial;
  --cui-table-color: var(--cui-emphasis-color);
  --cui-table-bg: var(--cui-body-bg);
  --cui-table-border-color: var(--cui-border-color);
  --cui-table-accent-bg: transparent;
  --cui-table-striped-color: var(--cui-emphasis-color);
  --cui-table-striped-bg: rgba(var(--cui-emphasis-color-rgb), 0.05);
  --cui-table-active-color: var(--cui-emphasis-color);
  --cui-table-active-bg: rgba(var(--cui-emphasis-color-rgb), 0.1);
  --cui-table-hover-color: var(--cui-emphasis-color);
  --cui-table-hover-bg: rgba(var(--cui-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--cui-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--cui-table-color-state, var(--cui-table-color-type, var(--cui-table-color)));
  background-color: var(--cui-table-bg);
  border-bottom-width: var(--cui-border-width);
  box-shadow: inset 0 0 0 9999px var(--cui-table-bg-state, var(--cui-table-bg-type, var(--cui-table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: calc(var(--cui-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(--cui-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--cui-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) > * {
  --cui-table-color-type: var(--cui-table-striped-color);
  --cui-table-bg-type: var(--cui-table-striped-bg);
}

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

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

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

.table-primary {
  --cui-table-color: #080a0c;
  --cui-table-bg: rgb(221.6, 221.2, 246.8);
  --cui-table-border-color: rgb(178.88, 178.96, 199.84);
  --cui-table-striped-bg: rgb(210.92, 210.64, 235.06);
  --cui-table-striped-color: #080a0c;
  --cui-table-active-bg: rgb(200.24, 200.08, 223.32);
  --cui-table-active-color: #080a0c;
  --cui-table-hover-bg: rgb(205.58, 205.36, 229.19);
  --cui-table-hover-color: #080a0c;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-secondary {
  --cui-table-color: #080a0c;
  --cui-table-bg: rgb(225.4, 227.8, 230.6);
  --cui-table-border-color: rgb(181.92, 184.24, 186.88);
  --cui-table-striped-bg: rgb(214.53, 216.91, 219.67);
  --cui-table-striped-color: #080a0c;
  --cui-table-active-bg: rgb(203.66, 206.02, 208.74);
  --cui-table-active-color: #080a0c;
  --cui-table-hover-bg: rgb(209.095, 211.465, 214.205);
  --cui-table-hover-color: #080a0c;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-success {
  --cui-table-color: #080a0c;
  --cui-table-bg: rgb(209.4, 235.6, 216.4);
  --cui-table-border-color: rgb(169.12, 190.48, 175.52);
  --cui-table-striped-bg: rgb(199.33, 224.32, 206.18);
  --cui-table-striped-color: #080a0c;
  --cui-table-active-bg: rgb(189.26, 213.04, 195.96);
  --cui-table-active-color: #080a0c;
  --cui-table-hover-bg: rgb(194.295, 218.68, 201.07);
  --cui-table-hover-color: #080a0c;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-info {
  --cui-table-color: #080a0c;
  --cui-table-bg: rgb(214.2, 234.6, 255);
  --cui-table-border-color: rgb(172.96, 189.68, 206.4);
  --cui-table-striped-bg: rgb(203.89, 223.37, 242.85);
  --cui-table-striped-color: #080a0c;
  --cui-table-active-bg: rgb(193.58, 212.14, 230.7);
  --cui-table-active-color: #080a0c;
  --cui-table-hover-bg: rgb(198.735, 217.755, 236.775);
  --cui-table-hover-color: #080a0c;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-warning {
  --cui-table-color: #080a0c;
  --cui-table-bg: rgb(253.8, 239.4, 208.2);
  --cui-table-border-color: rgb(204.64, 193.52, 168.96);
  --cui-table-striped-bg: rgb(241.51, 227.93, 198.39);
  --cui-table-striped-color: #080a0c;
  --cui-table-active-bg: rgb(229.22, 216.46, 188.58);
  --cui-table-active-color: #080a0c;
  --cui-table-hover-bg: rgb(235.365, 222.195, 193.485);
  --cui-table-hover-color: #080a0c;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-danger {
  --cui-table-color: #080a0c;
  --cui-table-bg: rgb(249.8, 220.6, 220.6);
  --cui-table-border-color: rgb(201.44, 178.48, 178.88);
  --cui-table-striped-bg: rgb(237.71, 210.07, 210.17);
  --cui-table-striped-color: #080a0c;
  --cui-table-active-bg: rgb(225.62, 199.54, 199.74);
  --cui-table-active-color: #080a0c;
  --cui-table-hover-bg: rgb(231.665, 204.805, 204.955);
  --cui-table-hover-color: #080a0c;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-light {
  --cui-table-color: #080a0c;
  --cui-table-bg: #f3f4f7;
  --cui-table-border-color: rgb(196, 197.2, 200);
  --cui-table-striped-bg: rgb(231.25, 232.3, 235.25);
  --cui-table-striped-color: #080a0c;
  --cui-table-active-bg: rgb(219.5, 220.6, 223.5);
  --cui-table-active-color: #080a0c;
  --cui-table-hover-bg: rgb(225.375, 226.45, 229.375);
  --cui-table-hover-color: #080a0c;
  color: var(--cui-table-color);
  border-color: var(--cui-table-border-color);
}

.table-dark {
  --cui-table-color: #fff;
  --cui-table-bg: #212631;
  --cui-table-border-color: rgb(77.4, 81.4, 90.2);
  --cui-table-striped-bg: rgb(44.1, 48.85, 59.3);
  --cui-table-striped-color: #fff;
  --cui-table-active-bg: rgb(55.2, 59.7, 69.6);
  --cui-table-active-color: #fff;
  --cui-table-hover-bg: rgb(49.65, 54.275, 64.45);
  --cui-table-hover-color: #fff;
  color: var(--cui-table-color);
  border-color: var(--cui-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: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.form-label {
  margin-bottom: 0.5rem;
}

.col-form-label {
  padding-top: calc(0.375rem + var(--cui-border-width));
  padding-bottom: calc(0.375rem + var(--cui-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

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

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

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

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--cui-body-color);
  appearance: none;
  background-color: var(--cui-body-bg);
  background-clip: padding-box;
  border: var(--cui-border-width) solid var(--cui-border-color);
  border-radius: var(--cui-border-radius);
  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(--cui-body-color);
  background-color: var(--cui-body-bg);
  border-color: rgb(171.5, 170.5, 234.5);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
}
.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}
.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::placeholder {
  color: var(--cui-input-placeholder-color, var(--cui-secondary-color));
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--cui-secondary-bg);
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--cui-body-color);
  background-color: var(--cui-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--cui-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(--cui-secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--cui-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--cui-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.5em + 0.5rem + calc(var(--cui-border-width) * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--cui-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.5em + 1rem + calc(var(--cui-border-width) * 2));
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--cui-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.5em + 0.75rem + calc(var(--cui-border-width) * 2));
}
textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--cui-border-width) * 2));
}
textarea.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--cui-border-width) * 2));
}

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

.form-select {
  --cui-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23323a49' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding-inline-start: 0.75rem;
  padding-inline-end: 2.25rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--cui-body-color);
  appearance: none;
  background-color: var(--cui-body-bg);
  background-image: var(--cui-form-select-bg-img), var(--cui-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--cui-border-width) solid var(--cui-border-color);
  border-radius: var(--cui-border-radius);
  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: rgb(171.5, 170.5, 234.5);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-inline-end: 0.75rem;
  background-image: none;
}
.form-select:disabled {
  background-color: var(--cui-secondary-bg);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--cui-body-color);
}

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

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

[data-coreui-theme=dark] .form-select {
  --cui-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='rgba%28255, 255, 255, 0.87%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.form-check {
  display: block;
  min-height: 1.5rem;
  padding-inline-start: 1.5em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: inline-start;
  margin-inline-start: -1.5em;
}

.form-check-reverse {
  padding-inline: 0 1.5em;
  text-align: end;
}
.form-check-reverse .form-check-input {
  float: inline-end;
  margin-inline: 0 -1.5em;
}

.form-check-input {
  --cui-form-check-bg: var(--cui-body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  appearance: none;
  background-color: var(--cui-form-check-bg);
  background-image: var(--cui-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--cui-border-width) solid var(--cui-border-color);
  print-color-adjust: exact;
}
.form-check-input[type=checkbox] {
  border-radius: 0.25em;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: rgb(171.5, 170.5, 234.5);
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
}
.form-check-input:checked {
  background-color: var(--cui-form-check-input-checked-bg-color, var(--cui-primary));
  border-color: var(--cui-form-check-input-checked-border-color, var(--cui-primary));
}
.form-check-input:checked[type=checkbox] {
  --cui-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='rgba%28255, 255, 255, 0.87%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  --cui-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='rgba%28255, 255, 255, 0.87%29'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: var(--cui-primary);
  border-color: var(--cui-primary);
  --cui-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='rgba%28255, 255, 255, 0.87%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%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-check-label {
  color: var(--cui-form-check-label-color, );
}

.form-switch {
  padding-inline-start: 2.5em;
}
.form-switch .form-check-input {
  --cui-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%288, 10, 12, 0.25%29'/%3e%3c/svg%3e");
  width: 2em;
  margin-inline-start: -2.5em;
  background-image: var(--cui-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 {
  --cui-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgb%28171.5, 170.5, 234.5%29'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --cui-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.87%29'/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-inline: 0 2.5em;
}
.form-switch.form-check-reverse .form-check-input {
  margin-inline: 0 -2.5em;
}

.form-switch-lg {
  min-height: 1.25em;
  padding-inline-start: 3em;
}
.form-switch-lg .form-check-input {
  width: 2.5em;
  height: 1.25em;
  margin-inline-start: -3em;
}
.form-switch-lg .form-check-label {
  padding-top: calc((1.25em - 1rem) / 2);
}

.form-switch-xl {
  min-height: 1.5em;
  padding-inline-start: 3.5em;
}
.form-switch-xl .form-check-input {
  width: 3em;
  height: 1.5em;
  margin-inline-start: -3.5em;
}
.form-switch-xl .form-check-label {
  padding-top: calc((1.5em - 1rem) / 2);
}

.form-check-inline {
  display: inline-block;
  margin-inline-end: 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-coreui-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
  --cui-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%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(88, 86, 214, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(88, 86, 214, 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: var(--cui-primary);
  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: rgb(204.9, 204.3, 242.7);
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--cui-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  appearance: none;
  background-color: var(--cui-primary);
  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: rgb(204.9, 204.3, 242.7);
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--cui-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--cui-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--cui-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(--cui-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--cui-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  z-index: 2;
  max-width: 100%;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  color: rgba(var(--cui-body-color-rgb), 0.65);
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--cui-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 0.75rem;
}
.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-inline-start: 0.75rem;
  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 {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > textarea:focus ~ label::after,
.form-floating > textarea:not(:placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--cui-body-bg);
  border-radius: var(--cui-border-radius);
}
.form-floating > textarea:disabled ~ label::after {
  background-color: var(--cui-secondary-bg);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: var(--cui-border-width) 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #6d7d9c;
}

.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: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--cui-input-group-addon-color, var(--cui-body-color));
  text-align: center;
  white-space: nowrap;
  background-color: var(--cui-input-group-addon-bg, var(--cui-tertiary-bg));
  border: var(--cui-border-width) solid var(--cui-input-group-addon-border-color, var(--cui-border-color));
  border-radius: var(--cui-border-radius);
}

.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(--cui-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(--cui-border-radius-sm);
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-inline-end: 3rem;
}

.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-start-end-radius: 0;
  border-end-end-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-start-end-radius: 0;
  border-end-end-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-inline-start: calc(-1 * var(--cui-border-width));
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}

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

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--cui-success);
  border-radius: var(--cui-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(--cui-form-valid-border-color);
  padding-inline-end: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%231b9e3e' d='M2.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.1'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--cui-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--cui-success-rgb), 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-inline-end: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--cui-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"] {
  --cui-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%231b9e3e' d='M2.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.1'/%3e%3c/svg%3e");
  padding-inline-end: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--cui-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--cui-success-rgb), 0.25);
}

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

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--cui-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--cui-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(--cui-success-rgb), 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--cui-form-valid-color);
}

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-inline-start: 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(--cui-form-invalid-color);
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--cui-danger);
  border-radius: var(--cui-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(--cui-form-invalid-border-color);
  padding-inline-end: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e55353'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e55353' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--cui-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--cui-danger-rgb), 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-inline-end: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--cui-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"] {
  --cui-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23e55353'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e55353' stroke='none'/%3e%3c/svg%3e");
  padding-inline-end: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--cui-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--cui-danger-rgb), 0.25);
}

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

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--cui-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--cui-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(--cui-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--cui-form-invalid-color);
}

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-inline-start: 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;
}

.btn {
  --cui-btn-padding-x: 0.75rem;
  --cui-btn-padding-y: 0.375rem;
  --cui-btn-font-family: ;
  --cui-btn-font-size: 1rem;
  --cui-btn-font-weight: 400;
  --cui-btn-line-height: 1.5;
  --cui-btn-color: var(--cui-body-color);
  --cui-btn-bg: transparent;
  --cui-btn-border-width: var(--cui-border-width);
  --cui-btn-border-color: transparent;
  --cui-btn-border-radius: var(--cui-border-radius);
  --cui-btn-hover-border-color: transparent;
  --cui-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(8, 10, 12, 0.075);
  --cui-btn-disabled-opacity: 0.65;
  --cui-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--cui-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--cui-btn-padding-y) var(--cui-btn-padding-x);
  font-family: var(--cui-btn-font-family);
  font-size: var(--cui-btn-font-size);
  font-weight: var(--cui-btn-font-weight);
  line-height: var(--cui-btn-line-height);
  color: var(--cui-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--cui-btn-border-width) solid var(--cui-btn-border-color);
  border-radius: var(--cui-btn-border-radius);
  background-color: var(--cui-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(--cui-btn-hover-color);
  background-color: var(--cui-btn-hover-bg);
  border-color: var(--cui-btn-hover-border-color);
}
.btn-check + .btn:hover {
  color: var(--cui-btn-color);
  background-color: var(--cui-btn-bg);
  border-color: var(--cui-btn-border-color);
}
.btn:focus-visible {
  color: var(--cui-btn-hover-color);
  background-color: var(--cui-btn-hover-bg);
  border-color: var(--cui-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--cui-btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn {
  border-color: var(--cui-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--cui-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
  color: var(--cui-btn-active-color);
  background-color: var(--cui-btn-active-bg);
  border-color: var(--cui-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(--cui-btn-focus-box-shadow);
}
.btn-check:checked:focus-visible + .btn {
  box-shadow: var(--cui-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  color: var(--cui-btn-disabled-color);
  pointer-events: none;
  background-color: var(--cui-btn-disabled-bg);
  border-color: var(--cui-btn-disabled-border-color);
  opacity: var(--cui-btn-disabled-opacity);
}

.btn-ghost {
  --cui-btn-color: var(--cui-secondary-color);
  --cui-btn-border-color: transparent;
  --cui-btn-active-color: var(--cui-body-color);
  --cui-btn-active-bg: var(--cui-tertiary-bg);
  --cui-btn-active-border-color: var(--cui-tertiary-bg);
  --cui-btn-disabled-color: var(--cui-secondary-color);
  --cui-btn-disabled-border-color: transparent;
  --cui-btn-hover-color: var(--cui-body-color);
  --cui-btn-hover-bg: var(--cui-tertiary-bg);
  --cui-btn-hover-border-color: var(--cui-tertiary-bg);
  --cui-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--cui-tertiary-bg-rgb), .5);
}

.btn-outline {
  --cui-btn-color: var(--cui-secondary-color);
  --cui-btn-border-color: var(--cui-border-color);
  --cui-btn-active-color: var(--cui-body-color);
  --cui-btn-active-bg: var(--cui-tertiary-bg);
  --cui-btn-active-border-color: var(--cui-border-color);
  --cui-btn-disabled-color: var(--cui-secondary-color);
  --cui-btn-disabled-border-color: var(--cui-border-color);
  --cui-btn-hover-color: var(--cui-body-color);
  --cui-btn-hover-bg: var(--cui-tertiary-bg);
  --cui-btn-hover-border-color: var(--cui-border-color);
  --cui-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--cui-tertiary-bg-rgb), .5);
}

.btn-transparent {
  --cui-btn-active-border-color: transparent;
  --cui-btn-disabled-border-color: transparent;
  --cui-btn-hover-border-color: transparent;
}

.btn-primary {
  --cui-btn-color: #fff;
  --cui-btn-bg: #5856d6;
  --cui-btn-border-color: #5856d6;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: rgb(74.8, 73.1, 181.9);
  --cui-btn-hover-border-color: rgb(70.4, 68.8, 171.2);
  --cui-btn-focus-shadow-rgb: 113.05, 111.35, 220.15;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: rgb(70.4, 68.8, 171.2);
  --cui-btn-active-border-color: rgb(66, 64.5, 160.5);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #fff;
  --cui-btn-disabled-bg: #5856d6;
  --cui-btn-disabled-border-color: #5856d6;
}

.btn-secondary {
  --cui-btn-color: #fff;
  --cui-btn-bg: #6b7785;
  --cui-btn-border-color: #6b7785;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: rgb(90.95, 101.15, 113.05);
  --cui-btn-hover-border-color: rgb(85.6, 95.2, 106.4);
  --cui-btn-focus-shadow-rgb: 129.2, 139.4, 151.3;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: rgb(85.6, 95.2, 106.4);
  --cui-btn-active-border-color: rgb(80.25, 89.25, 99.75);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #fff;
  --cui-btn-disabled-bg: #6b7785;
  --cui-btn-disabled-border-color: #6b7785;
}

.btn-success {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: #1b9e3e;
  --cui-btn-border-color: #1b9e3e;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(61.2, 172.55, 90.95);
  --cui-btn-hover-border-color: rgb(49.8, 167.7, 81.3);
  --cui-btn-focus-shadow-rgb: 24.15, 135.8, 54.5;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(72.6, 177.4, 100.6);
  --cui-btn-active-border-color: rgb(49.8, 167.7, 81.3);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: #1b9e3e;
  --cui-btn-disabled-border-color: #1b9e3e;
}

.btn-info {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: #39f;
  --cui-btn-border-color: #39f;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(81.6, 168.3, 255);
  --cui-btn-hover-border-color: rgb(71.4, 163.2, 255);
  --cui-btn-focus-shadow-rgb: 44.55, 131.55, 218.55;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(91.8, 173.4, 255);
  --cui-btn-active-border-color: rgb(71.4, 163.2, 255);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: #39f;
  --cui-btn-disabled-border-color: #39f;
}

.btn-warning {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: #f9b115;
  --cui-btn-border-color: #f9b115;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(249.9, 188.7, 56.1);
  --cui-btn-hover-border-color: rgb(249.6, 184.8, 44.4);
  --cui-btn-focus-shadow-rgb: 212.85, 151.95, 19.65;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(250.2, 192.6, 67.8);
  --cui-btn-active-border-color: rgb(249.6, 184.8, 44.4);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: #f9b115;
  --cui-btn-disabled-border-color: #f9b115;
}

.btn-danger {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: #e55353;
  --cui-btn-border-color: #e55353;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(232.9, 108.8, 108.8);
  --cui-btn-hover-border-color: rgb(231.6, 100.2, 100.2);
  --cui-btn-focus-shadow-rgb: 195.85, 72.05, 72.35;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(234.2, 117.4, 117.4);
  --cui-btn-active-border-color: rgb(231.6, 100.2, 100.2);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: #e55353;
  --cui-btn-disabled-border-color: #e55353;
}

.btn-light {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: #f3f4f7;
  --cui-btn-border-color: #f3f4f7;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(206.55, 207.4, 209.95);
  --cui-btn-hover-border-color: rgb(194.4, 195.2, 197.6);
  --cui-btn-focus-shadow-rgb: 207.75, 208.9, 211.75;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(194.4, 195.2, 197.6);
  --cui-btn-active-border-color: rgb(182.25, 183, 185.25);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: #f3f4f7;
  --cui-btn-disabled-border-color: #f3f4f7;
}

.btn-dark {
  --cui-btn-color: #fff;
  --cui-btn-bg: #212631;
  --cui-btn-border-color: #212631;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: rgb(66.3, 70.55, 79.9);
  --cui-btn-hover-border-color: rgb(55.2, 59.7, 69.6);
  --cui-btn-focus-shadow-rgb: 66.3, 70.55, 79.9;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: rgb(77.4, 81.4, 90.2);
  --cui-btn-active-border-color: rgb(55.2, 59.7, 69.6);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #fff;
  --cui-btn-disabled-bg: #212631;
  --cui-btn-disabled-border-color: #212631;
}

.btn-outline-primary {
  --cui-btn-color: #5856d6;
  --cui-btn-border-color: #5856d6;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: #5856d6;
  --cui-btn-hover-border-color: #5856d6;
  --cui-btn-focus-shadow-rgb: 88, 86, 214;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: #5856d6;
  --cui-btn-active-border-color: #5856d6;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #5856d6;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #5856d6;
  --cui-gradient: none;
}

.btn-outline-secondary {
  --cui-btn-color: #6b7785;
  --cui-btn-border-color: #6b7785;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: #6b7785;
  --cui-btn-hover-border-color: #6b7785;
  --cui-btn-focus-shadow-rgb: 107, 119, 133;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: #6b7785;
  --cui-btn-active-border-color: #6b7785;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #6b7785;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #6b7785;
  --cui-gradient: none;
}

.btn-outline-success {
  --cui-btn-color: #1b9e3e;
  --cui-btn-border-color: #1b9e3e;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: #1b9e3e;
  --cui-btn-hover-border-color: #1b9e3e;
  --cui-btn-focus-shadow-rgb: 27, 158, 62;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: #1b9e3e;
  --cui-btn-active-border-color: #1b9e3e;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #1b9e3e;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #1b9e3e;
  --cui-gradient: none;
}

.btn-outline-info {
  --cui-btn-color: #39f;
  --cui-btn-border-color: #39f;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: #39f;
  --cui-btn-hover-border-color: #39f;
  --cui-btn-focus-shadow-rgb: 51, 153, 255;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: #39f;
  --cui-btn-active-border-color: #39f;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #39f;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #39f;
  --cui-gradient: none;
}

.btn-outline-warning {
  --cui-btn-color: #f9b115;
  --cui-btn-border-color: #f9b115;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: #f9b115;
  --cui-btn-hover-border-color: #f9b115;
  --cui-btn-focus-shadow-rgb: 249, 177, 21;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: #f9b115;
  --cui-btn-active-border-color: #f9b115;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #f9b115;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #f9b115;
  --cui-gradient: none;
}

.btn-outline-danger {
  --cui-btn-color: #e55353;
  --cui-btn-border-color: #e55353;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: #e55353;
  --cui-btn-hover-border-color: #e55353;
  --cui-btn-focus-shadow-rgb: 229, 83, 83;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: #e55353;
  --cui-btn-active-border-color: #e55353;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #e55353;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #e55353;
  --cui-gradient: none;
}

.btn-outline-light {
  --cui-btn-color: #f3f4f7;
  --cui-btn-border-color: #f3f4f7;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: #f3f4f7;
  --cui-btn-hover-border-color: #f3f4f7;
  --cui-btn-focus-shadow-rgb: 243, 244, 247;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: #f3f4f7;
  --cui-btn-active-border-color: #f3f4f7;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #f3f4f7;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #f3f4f7;
  --cui-gradient: none;
}

.btn-outline-dark {
  --cui-btn-color: #212631;
  --cui-btn-border-color: #212631;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: #212631;
  --cui-btn-hover-border-color: #212631;
  --cui-btn-focus-shadow-rgb: 33, 38, 49;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: #212631;
  --cui-btn-active-border-color: #212631;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #212631;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #212631;
  --cui-gradient: none;
}

.btn-ghost-primary {
  --cui-btn-color: #5856d6;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #5856d6;
  --cui-btn-hover-border-color: #5856d6;
  --cui-btn-hover-color: #fff;
  --cui-btn-active-bg: #5856d6;
  --cui-btn-active-border-color: #5856d6;
  --cui-btn-active-color: #fff;
  --cui-btn-disabled-color: #5856d6;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-ghost-secondary {
  --cui-btn-color: #6b7785;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #6b7785;
  --cui-btn-hover-border-color: #6b7785;
  --cui-btn-hover-color: #fff;
  --cui-btn-active-bg: #6b7785;
  --cui-btn-active-border-color: #6b7785;
  --cui-btn-active-color: #fff;
  --cui-btn-disabled-color: #6b7785;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-ghost-success {
  --cui-btn-color: #1b9e3e;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #1b9e3e;
  --cui-btn-hover-border-color: #1b9e3e;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: #1b9e3e;
  --cui-btn-active-border-color: #1b9e3e;
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: #1b9e3e;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-ghost-info {
  --cui-btn-color: #39f;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #39f;
  --cui-btn-hover-border-color: #39f;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: #39f;
  --cui-btn-active-border-color: #39f;
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: #39f;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-ghost-warning {
  --cui-btn-color: #f9b115;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #f9b115;
  --cui-btn-hover-border-color: #f9b115;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: #f9b115;
  --cui-btn-active-border-color: #f9b115;
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: #f9b115;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-ghost-danger {
  --cui-btn-color: #e55353;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #e55353;
  --cui-btn-hover-border-color: #e55353;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: #e55353;
  --cui-btn-active-border-color: #e55353;
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: #e55353;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-ghost-light {
  --cui-btn-color: #f3f4f7;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #f3f4f7;
  --cui-btn-hover-border-color: #f3f4f7;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: #f3f4f7;
  --cui-btn-active-border-color: #f3f4f7;
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: #f3f4f7;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-ghost-dark {
  --cui-btn-color: #212631;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #212631;
  --cui-btn-hover-border-color: #212631;
  --cui-btn-hover-color: #fff;
  --cui-btn-active-bg: #212631;
  --cui-btn-active-border-color: #212631;
  --cui-btn-active-color: #fff;
  --cui-btn-disabled-color: #212631;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

.btn-link {
  --cui-btn-font-weight: 400;
  --cui-btn-color: var(--cui-link-color);
  --cui-btn-bg: transparent;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-color: var(--cui-link-hover-color);
  --cui-btn-hover-border-color: transparent;
  --cui-btn-active-border-color: transparent;
  --cui-btn-disabled-color: #6d7d9c;
  --cui-btn-disabled-border-color: transparent;
  --cui-btn-box-shadow: none;
  --cui-btn-focus-shadow-rgb: 113.05, 111.35, 220.15;
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--cui-btn-color);
}

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

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

[data-coreui-theme=dark] .btn-primary {
  --cui-btn-color: #fff;
  --cui-btn-bg: rgb(94.2, 92.4, 207.6);
  --cui-btn-border-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: rgb(80.07, 78.54, 176.46);
  --cui-btn-hover-border-color: rgb(75.36, 73.92, 166.08);
  --cui-btn-focus-shadow-rgb: 118.32, 116.79, 214.71;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: rgb(75.36, 73.92, 166.08);
  --cui-btn-active-border-color: rgb(70.65, 69.3, 155.7);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #fff;
  --cui-btn-disabled-bg: rgb(94.2, 92.4, 207.6);
  --cui-btn-disabled-border-color: rgb(94.2, 92.4, 207.6);
}
[data-coreui-theme=dark] .btn-secondary {
  --cui-btn-color: #fff;
  --cui-btn-bg: #6b7785;
  --cui-btn-border-color: #6b7785;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: rgb(90.95, 101.15, 113.05);
  --cui-btn-hover-border-color: rgb(85.6, 95.2, 106.4);
  --cui-btn-focus-shadow-rgb: 129.2, 139.4, 151.3;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: rgb(85.6, 95.2, 106.4);
  --cui-btn-active-border-color: rgb(80.25, 89.25, 99.75);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #fff;
  --cui-btn-disabled-bg: #6b7785;
  --cui-btn-disabled-border-color: #6b7785;
}
[data-coreui-theme=dark] .btn-success {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: rgb(33.55, 151.45, 65.05);
  --cui-btn-border-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(66.7675, 166.9825, 93.5425);
  --cui-btn-hover-border-color: rgb(55.695, 161.805, 84.045);
  --cui-btn-focus-shadow-rgb: 29.7175, 130.2325, 57.0925;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(77.84, 172.16, 103.04);
  --cui-btn-active-border-color: rgb(55.695, 161.805, 84.045);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: rgb(33.55, 151.45, 65.05);
  --cui-btn-disabled-border-color: rgb(33.55, 151.45, 65.05);
}
[data-coreui-theme=dark] .btn-info {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: rgb(61.2, 153, 244.8);
  --cui-btn-border-color: rgb(61.2, 153, 244.8);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(90.27, 168.3, 246.33);
  --cui-btn-hover-border-color: rgb(80.58, 163.2, 245.82);
  --cui-btn-focus-shadow-rgb: 53.22, 131.55, 209.88;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(99.96, 173.4, 246.84);
  --cui-btn-active-border-color: rgb(80.58, 163.2, 245.82);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: rgb(61.2, 153, 244.8);
  --cui-btn-disabled-border-color: rgb(61.2, 153, 244.8);
}
[data-coreui-theme=dark] .btn-warning {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: rgb(237.6, 172.8, 32.4);
  --cui-btn-border-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(240.21, 185.13, 65.79);
  --cui-btn-hover-border-color: rgb(239.34, 181.02, 54.66);
  --cui-btn-focus-shadow-rgb: 203.16, 148.38, 29.34;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(241.08, 189.24, 76.92);
  --cui-btn-active-border-color: rgb(239.34, 181.02, 54.66);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: rgb(237.6, 172.8, 32.4);
  --cui-btn-disabled-border-color: rgb(237.6, 172.8, 32.4);
}
[data-coreui-theme=dark] .btn-danger {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: rgb(221.7, 90.3, 90.3);
  --cui-btn-border-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(226.695, 115.005, 115.005);
  --cui-btn-hover-border-color: rgb(225.03, 106.77, 106.77);
  --cui-btn-focus-shadow-rgb: 189.645, 78.255, 78.555;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(228.36, 123.24, 123.24);
  --cui-btn-active-border-color: rgb(225.03, 106.77, 106.77);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: rgb(221.7, 90.3, 90.3);
  --cui-btn-disabled-border-color: rgb(221.7, 90.3, 90.3);
}
[data-coreui-theme=dark] .btn-light {
  --cui-btn-color: #080a0c;
  --cui-btn-bg: #f3f4f7;
  --cui-btn-border-color: #f3f4f7;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(244.8, 245.65, 248.2);
  --cui-btn-hover-border-color: rgb(244.2, 245.1, 247.8);
  --cui-btn-focus-shadow-rgb: 207.75, 208.9, 211.75;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(245.4, 246.2, 248.6);
  --cui-btn-active-border-color: rgb(244.2, 245.1, 247.8);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #080a0c;
  --cui-btn-disabled-bg: #f3f4f7;
  --cui-btn-disabled-border-color: #f3f4f7;
}
[data-coreui-theme=dark] .btn-dark {
  --cui-btn-color: #fff;
  --cui-btn-bg: #212631;
  --cui-btn-border-color: #212631;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: rgb(28.05, 32.3, 41.65);
  --cui-btn-hover-border-color: rgb(26.4, 30.4, 39.2);
  --cui-btn-focus-shadow-rgb: 66.3, 70.55, 79.9;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: rgb(26.4, 30.4, 39.2);
  --cui-btn-active-border-color: rgb(24.75, 28.5, 36.75);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #fff;
  --cui-btn-disabled-bg: #212631;
  --cui-btn-disabled-border-color: #212631;
}
[data-coreui-theme=dark] .btn-outline-primary {
  --cui-btn-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-border-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: rgb(94.2, 92.4, 207.6);
  --cui-btn-hover-border-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-focus-shadow-rgb: 94.2, 92.4, 207.6;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: rgb(94.2, 92.4, 207.6);
  --cui-btn-active-border-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: rgb(94.2, 92.4, 207.6);
  --cui-gradient: none;
}
[data-coreui-theme=dark] .btn-outline-secondary {
  --cui-btn-color: #6b7785;
  --cui-btn-border-color: #6b7785;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: #6b7785;
  --cui-btn-hover-border-color: #6b7785;
  --cui-btn-focus-shadow-rgb: 107, 119, 133;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: #6b7785;
  --cui-btn-active-border-color: #6b7785;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #6b7785;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #6b7785;
  --cui-gradient: none;
}
[data-coreui-theme=dark] .btn-outline-success {
  --cui-btn-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-border-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(33.55, 151.45, 65.05);
  --cui-btn-hover-border-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-focus-shadow-rgb: 33.55, 151.45, 65.05;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(33.55, 151.45, 65.05);
  --cui-btn-active-border-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: rgb(33.55, 151.45, 65.05);
  --cui-gradient: none;
}
[data-coreui-theme=dark] .btn-outline-info {
  --cui-btn-color: rgb(61.2, 153, 244.8);
  --cui-btn-border-color: rgb(61.2, 153, 244.8);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(61.2, 153, 244.8);
  --cui-btn-hover-border-color: rgb(61.2, 153, 244.8);
  --cui-btn-focus-shadow-rgb: 61.2, 153, 244.8;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(61.2, 153, 244.8);
  --cui-btn-active-border-color: rgb(61.2, 153, 244.8);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: rgb(61.2, 153, 244.8);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: rgb(61.2, 153, 244.8);
  --cui-gradient: none;
}
[data-coreui-theme=dark] .btn-outline-warning {
  --cui-btn-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-border-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(237.6, 172.8, 32.4);
  --cui-btn-hover-border-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-focus-shadow-rgb: 237.6, 172.8, 32.4;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(237.6, 172.8, 32.4);
  --cui-btn-active-border-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: rgb(237.6, 172.8, 32.4);
  --cui-gradient: none;
}
[data-coreui-theme=dark] .btn-outline-danger {
  --cui-btn-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-border-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: rgb(221.7, 90.3, 90.3);
  --cui-btn-hover-border-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-focus-shadow-rgb: 221.7, 90.3, 90.3;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: rgb(221.7, 90.3, 90.3);
  --cui-btn-active-border-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: rgb(221.7, 90.3, 90.3);
  --cui-gradient: none;
}
[data-coreui-theme=dark] .btn-outline-light {
  --cui-btn-color: #f3f4f7;
  --cui-btn-border-color: #f3f4f7;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-hover-bg: #f3f4f7;
  --cui-btn-hover-border-color: #f3f4f7;
  --cui-btn-focus-shadow-rgb: 243, 244, 247;
  --cui-btn-active-color: #080a0c;
  --cui-btn-active-bg: #f3f4f7;
  --cui-btn-active-border-color: #f3f4f7;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #f3f4f7;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #f3f4f7;
  --cui-gradient: none;
}
[data-coreui-theme=dark] .btn-outline-dark {
  --cui-btn-color: #212631;
  --cui-btn-border-color: #212631;
  --cui-btn-hover-color: #fff;
  --cui-btn-hover-bg: #212631;
  --cui-btn-hover-border-color: #212631;
  --cui-btn-focus-shadow-rgb: 33, 38, 49;
  --cui-btn-active-color: #fff;
  --cui-btn-active-bg: #212631;
  --cui-btn-active-border-color: #212631;
  --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);
  --cui-btn-disabled-color: #212631;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: #212631;
  --cui-gradient: none;
}
[data-coreui-theme=dark] .btn-ghost-primary {
  --cui-btn-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: rgb(94.2, 92.4, 207.6);
  --cui-btn-hover-border-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-hover-color: #fff;
  --cui-btn-active-bg: rgb(94.2, 92.4, 207.6);
  --cui-btn-active-border-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-active-color: #fff;
  --cui-btn-disabled-color: rgb(94.2, 92.4, 207.6);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}
[data-coreui-theme=dark] .btn-ghost-secondary {
  --cui-btn-color: #6b7785;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #6b7785;
  --cui-btn-hover-border-color: #6b7785;
  --cui-btn-hover-color: #fff;
  --cui-btn-active-bg: #6b7785;
  --cui-btn-active-border-color: #6b7785;
  --cui-btn-active-color: #fff;
  --cui-btn-disabled-color: #6b7785;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}
[data-coreui-theme=dark] .btn-ghost-success {
  --cui-btn-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: rgb(33.55, 151.45, 65.05);
  --cui-btn-hover-border-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: rgb(33.55, 151.45, 65.05);
  --cui-btn-active-border-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: rgb(33.55, 151.45, 65.05);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}
[data-coreui-theme=dark] .btn-ghost-info {
  --cui-btn-color: rgb(61.2, 153, 244.8);
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: rgb(61.2, 153, 244.8);
  --cui-btn-hover-border-color: rgb(61.2, 153, 244.8);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: rgb(61.2, 153, 244.8);
  --cui-btn-active-border-color: rgb(61.2, 153, 244.8);
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: rgb(61.2, 153, 244.8);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}
[data-coreui-theme=dark] .btn-ghost-warning {
  --cui-btn-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: rgb(237.6, 172.8, 32.4);
  --cui-btn-hover-border-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: rgb(237.6, 172.8, 32.4);
  --cui-btn-active-border-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: rgb(237.6, 172.8, 32.4);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}
[data-coreui-theme=dark] .btn-ghost-danger {
  --cui-btn-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: rgb(221.7, 90.3, 90.3);
  --cui-btn-hover-border-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: rgb(221.7, 90.3, 90.3);
  --cui-btn-active-border-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: rgb(221.7, 90.3, 90.3);
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}
[data-coreui-theme=dark] .btn-ghost-light {
  --cui-btn-color: #f3f4f7;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #f3f4f7;
  --cui-btn-hover-border-color: #f3f4f7;
  --cui-btn-hover-color: #080a0c;
  --cui-btn-active-bg: #f3f4f7;
  --cui-btn-active-border-color: #f3f4f7;
  --cui-btn-active-color: #080a0c;
  --cui-btn-disabled-color: #f3f4f7;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}
[data-coreui-theme=dark] .btn-ghost-dark {
  --cui-btn-color: #212631;
  --cui-btn-border-color: transparent;
  --cui-btn-hover-bg: #212631;
  --cui-btn-hover-border-color: #212631;
  --cui-btn-hover-color: #fff;
  --cui-btn-active-bg: #212631;
  --cui-btn-active-border-color: #212631;
  --cui-btn-active-color: #fff;
  --cui-btn-disabled-color: #212631;
  --cui-btn-disabled-bg: transparent;
  --cui-btn-disabled-border-color: transparent;
}

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

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

.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-inline-start: 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-inline-start: 0;
}

.dropdown-menu {
  --cui-dropdown-zindex: 1000;
  --cui-dropdown-min-width: 10rem;
  --cui-dropdown-padding-x: 0;
  --cui-dropdown-padding-y: 0.5rem;
  --cui-dropdown-spacer: 0.125rem;
  --cui-dropdown-font-size: 1rem;
  --cui-dropdown-color: var(--cui-body-color);
  --cui-dropdown-bg: var(--cui-body-bg);
  --cui-dropdown-border-color: var(--cui-border-color-translucent);
  --cui-dropdown-border-radius: var(--cui-border-radius);
  --cui-dropdown-border-width: var(--cui-border-width);
  --cui-dropdown-inner-border-radius: calc(var(--cui-border-radius) - var(--cui-border-width));
  --cui-dropdown-divider-bg: var(--cui-border-color-translucent);
  --cui-dropdown-divider-margin-y: 0.5rem;
  --cui-dropdown-box-shadow: var(--cui-box-shadow);
  --cui-dropdown-link-color: var(--cui-body-color);
  --cui-dropdown-link-hover-color: var(--cui-body-color);
  --cui-dropdown-link-hover-bg: var(--cui-tertiary-bg);
  --cui-dropdown-link-active-color: rgba(255, 255, 255, 0.87);
  --cui-dropdown-link-active-bg: var(--cui-primary);
  --cui-dropdown-link-disabled-color: var(--cui-tertiary-color);
  --cui-dropdown-item-padding-x: 1rem;
  --cui-dropdown-item-padding-y: 0.25rem;
  --cui-dropdown-header-color: #6d7d9c;
  --cui-dropdown-header-padding-x: 1rem;
  --cui-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--cui-dropdown-zindex);
  display: none;
  min-width: var(--cui-dropdown-min-width);
  padding: var(--cui-dropdown-padding-y) var(--cui-dropdown-padding-x);
  margin: 0;
  font-size: var(--cui-dropdown-font-size);
  color: var(--cui-dropdown-color);
  text-align: start;
  list-style: none;
  background-color: var(--cui-dropdown-bg);
  background-clip: padding-box;
  border: var(--cui-dropdown-border-width) solid var(--cui-dropdown-border-color);
  border-radius: var(--cui-dropdown-border-radius);
}
.dropdown-menu[data-coreui-popper] {
  inset-inline-start: 0;
  top: 100%;
  margin-top: var(--cui-dropdown-spacer);
}

.dropdown-menu-start {
  --cui-position: start;
}
.dropdown-menu-start[data-coreui-popper] {
  inset-inline-start: 0;
  inset-inline-end: auto;
}

.dropdown-menu-end {
  --cui-position: end;
}
.dropdown-menu-end[data-coreui-popper] {
  inset-inline-start: auto;
  inset-inline-end: 0;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --cui-position: start;
  }
  .dropdown-menu-sm-start[data-coreui-popper] {
    inset-inline-start: 0;
    inset-inline-end: auto;
  }
  .dropdown-menu-sm-end {
    --cui-position: end;
  }
  .dropdown-menu-sm-end[data-coreui-popper] {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --cui-position: start;
  }
  .dropdown-menu-md-start[data-coreui-popper] {
    inset-inline-start: 0;
    inset-inline-end: auto;
  }
  .dropdown-menu-md-end {
    --cui-position: end;
  }
  .dropdown-menu-md-end[data-coreui-popper] {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --cui-position: start;
  }
  .dropdown-menu-lg-start[data-coreui-popper] {
    inset-inline-start: 0;
    inset-inline-end: auto;
  }
  .dropdown-menu-lg-end {
    --cui-position: end;
  }
  .dropdown-menu-lg-end[data-coreui-popper] {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --cui-position: start;
  }
  .dropdown-menu-xl-start[data-coreui-popper] {
    inset-inline-start: 0;
    inset-inline-end: auto;
  }
  .dropdown-menu-xl-end {
    --cui-position: end;
  }
  .dropdown-menu-xl-end[data-coreui-popper] {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --cui-position: start;
  }
  .dropdown-menu-xxl-start[data-coreui-popper] {
    inset-inline-start: 0;
    inset-inline-end: auto;
  }
  .dropdown-menu-xxl-end {
    --cui-position: end;
  }
  .dropdown-menu-xxl-end[data-coreui-popper] {
    inset-inline-start: auto;
    inset-inline-end: 0;
  }
}
.dropup .dropdown-menu[data-coreui-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--cui-dropdown-spacer);
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-inline-start: 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-inline-start: 0;
}

.dropend .dropdown-menu[data-coreui-popper] {
  inset-inline-start: 100%;
  inset-inline-end: auto;
  top: 0;
  margin-inline-start: var(--cui-dropdown-spacer);
  margin-top: 0;
}
.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-inline-start: 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-inline-start: 0;
}
.dropend .dropdown-toggle::after {
  vertical-align: 0;
}

.dropstart .dropdown-menu[data-coreui-popper] {
  inset-inline-start: auto;
  inset-inline-end: 100%;
  top: 0;
  margin-inline-end: var(--cui-dropdown-spacer);
  margin-top: 0;
}
.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-inline-start: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropstart .dropdown-toggle::after {
  display: none;
}
.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-inline-end: 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-inline-start: 0;
}
.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}

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

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

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

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

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

.dropdown-menu-dark {
  --cui-dropdown-color: #dbdfe6;
  --cui-dropdown-bg: #323a49;
  --cui-dropdown-border-color: var(--cui-border-color-translucent);
  --cui-dropdown-box-shadow: ;
  --cui-dropdown-link-color: #dbdfe6;
  --cui-dropdown-link-hover-color: #fff;
  --cui-dropdown-divider-bg: var(--cui-border-color-translucent);
  --cui-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --cui-dropdown-link-active-color: rgba(255, 255, 255, 0.87);
  --cui-dropdown-link-active-bg: var(--cui-primary);
  --cui-dropdown-link-disabled-color: #aab3c5;
  --cui-dropdown-header-color: #aab3c5;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}

.btn-group {
  border-radius: var(--cui-border-radius);
}
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin-inline-start: calc(-1 * var(--cui-border-width));
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.btn-group > .btn-group:not(:last-child) > .btn {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}
.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-inline-start: 0;
}
.dropstart .dropdown-toggle-split::before {
  margin-inline-end: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: calc(-1 * var(--cui-border-width));
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:nth-child(n+3),
.btn-group-vertical > :not(.btn-check) + .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

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

.nav-link {
  display: block;
  padding: var(--cui-nav-link-padding-y) var(--cui-nav-link-padding-x);
  font-size: var(--cui-nav-link-font-size);
  font-weight: var(--cui-nav-link-font-weight);
  color: var(--cui-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(--cui-nav-link-hover-color);
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--cui-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

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

.nav-pills {
  --cui-nav-pills-border-radius: var(--cui-border-radius);
  --cui-nav-pills-link-active-color: rgba(255, 255, 255, 0.87);
  --cui-nav-pills-link-active-bg: var(--cui-primary);
}
.nav-pills .nav-link {
  border-radius: var(--cui-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--cui-nav-pills-link-active-color);
  background-color: var(--cui-nav-pills-link-active-bg);
}

.nav-underline {
  --cui-nav-underline-gap: 1rem;
  --cui-nav-underline-border-width: 0.125rem;
  --cui-nav-underline-link-active-color: var(--cui-emphasis-color);
  gap: var(--cui-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--cui-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(--cui-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-underline-border {
  --cui-nav-underline-border-gap: 0.5rem;
  --cui-nav-underline-border-border-color: var(--cui-border-color);
  --cui-nav-underline-border-border-width: 0.125rem;
  --cui-nav-underline-border-link-padding-x: 0.5rem;
  --cui-nav-underline-border-link-padding-y: 0.5rem;
  --cui-nav-underline-border-link-color: var(--cui-secondary-color);
  --cui-nav-underline-border-link-active-color: var(--cui-primary);
  --cui-nav-underline-border-link-disabled-color: var(--cui-tertiary-color);
  --cui-nav-link-color: var(--cui-nav-underline-border-link-color);
  --cui-nav-link-disabled-color: var(--cui-nav-underline-border-link-disabled-color);
  gap: var(--cui-nav-underline-border-gap);
  border-bottom: var(--cui-nav-underline-border-border-width) solid var(--cui-nav-underline-border-border-color);
}
.nav-underline-border .nav-link {
  padding: var(--cui-nav-underline-border-link-padding-y) var(--cui-nav-underline-border-link-padding-x);
  margin-bottom: calc(-1 * var(--cui-nav-underline-border-border-width));
  border-bottom: var(--cui-nav-underline-border-border-width) solid transparent;
}
.nav-underline-border .nav-link:hover, .nav-underline-border .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline-border .nav-link.active,
.nav-underline-border .show > .nav-link {
  font-weight: 700;
  color: var(--cui-nav-underline-border-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-enclosed {
  --cui-nav-enclosed-padding: 0.125rem;
  --cui-nav-enclosed-bg: var(--cui-tertiary-bg);
  --cui-nav-enclosed-border-radius: 0.5rem;
  --cui-nav-enclosed-link-padding-x: 0.875rem;
  --cui-nav-enclosed-link-padding-y: 0.375rem;
  --cui-nav-enclosed-link-color: var(--cui-body-color);
  --cui-nav-enclosed-link-border-width: 1px;
  --cui-nav-enclosed-link-active-color: var(--cui-body-color);
  --cui-nav-enclosed-link-active-bg: var(--cui-body-bg);
  --cui-nav-enclosed-link-active-border-color: var(--cui-border-color);
  --cui-nav-enclosed-link-hover-box-shadow: var(--cui-box-shadow-sm);
  --cui-nav-enclosed-link-disabled-color: var(--cui-secondary-color);
  display: inline-flex;
  padding: var(--cui-nav-enclosed-padding);
  background-color: var(--cui-nav-enclosed-bg);
  border-radius: var(--cui-nav-enclosed-border-radius);
}
.nav-enclosed .nav-link {
  padding: calc(var(--cui-nav-enclosed-link-padding-y) - var(--cui-nav-enclosed-link-border-width)) calc(var(--cui-nav-enclosed-link-padding-x) - var(--cui-nav-enclosed-link-border-width));
  color: var(--cui-nav-enclosed-link-color);
  border: var(--cui-nav-enclosed-link-border-width) solid transparent;
  border-radius: calc(var(--cui-nav-enclosed-border-radius) - var(--cui-nav-enclosed-padding));
}
.nav-enclosed .nav-link.disabled, .nav-enclosed .nav-link:disabled {
  color: var(--cui-nav-enclosed-link-disabled-color);
}
.nav-enclosed .nav-link.active,
.nav-enclosed .show > .nav-link {
  color: var(--cui-nav-enclosed-link-active-color);
  background-color: var(--cui-nav-enclosed-link-active-bg);
  border: 1px solid var(--cui-nav-enclosed-link-active-border-color);
}
.nav-enclosed .nav-link.active:not(:focus-visible),
.nav-enclosed .show > .nav-link:not(:focus-visible) {
  box-shadow: var(--cui-nav-enclosed-link-hover-box-shadow);
}

.nav-enclosed-pills {
  --cui-nav-enclosed-border-radius: 50rem;
}

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

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-grow: 1;
  flex-basis: 0;
  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;
}

.navbar {
  --cui-navbar-padding-x: 0;
  --cui-navbar-padding-y: 0.5rem;
  --cui-navbar-color: rgba(var(--cui-emphasis-color-rgb), 0.65);
  --cui-navbar-hover-color: rgba(var(--cui-emphasis-color-rgb), 0.8);
  --cui-navbar-disabled-color: rgba(var(--cui-emphasis-color-rgb), 0.3);
  --cui-navbar-active-color: rgba(var(--cui-emphasis-color-rgb), 1);
  --cui-navbar-brand-padding-y: 0.3125rem;
  --cui-navbar-brand-margin-end: 1rem;
  --cui-navbar-brand-font-size: 1.25rem;
  --cui-navbar-brand-color: rgba(var(--cui-emphasis-color-rgb), 1);
  --cui-navbar-brand-hover-color: rgba(var(--cui-emphasis-color-rgb), 1);
  --cui-navbar-nav-link-padding-x: 0.5rem;
  --cui-navbar-toggler-padding-y: 0.25rem;
  --cui-navbar-toggler-padding-x: 0.75rem;
  --cui-navbar-toggler-font-size: 1.25rem;
  --cui-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2837, 42.92, 54.02, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --cui-navbar-toggler-border-color: rgba(var(--cui-emphasis-color-rgb), 0.15);
  --cui-navbar-toggler-border-radius: var(--cui-border-radius);
  --cui-navbar-toggler-focus-width: 0.25rem;
  --cui-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--cui-navbar-padding-y) var(--cui-navbar-padding-x);
}
.navbar > .container-xxl, .navbar > .container-xl, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container,
.navbar > .container-fluid {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: var(--cui-navbar-brand-padding-y);
  padding-bottom: var(--cui-navbar-brand-padding-y);
  margin-inline-end: var(--cui-navbar-brand-margin-end);
  font-size: var(--cui-navbar-brand-font-size);
  color: var(--cui-navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--cui-navbar-brand-hover-color);
}

.navbar-nav {
  --cui-nav-link-padding-x: 0;
  --cui-nav-link-padding-y: 0.5rem;
  --cui-nav-link-font-weight: ;
  --cui-nav-link-color: var(--cui-navbar-color);
  --cui-nav-link-hover-color: var(--cui-navbar-hover-color);
  --cui-nav-link-disabled-color: var(--cui-navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-inline-start: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--cui-navbar-active-color);
}
.navbar-nav .dropdown-menu {
  position: static;
}

.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--cui-navbar-color);
}
.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
  color: var(--cui-navbar-active-color);
}

.navbar-collapse {
  flex-grow: 1;
  flex-basis: 100%;
  align-items: center;
}

.navbar-toggler {
  padding: var(--cui-navbar-toggler-padding-y) var(--cui-navbar-toggler-padding-x);
  font-size: var(--cui-navbar-toggler-font-size);
  line-height: 1;
  color: var(--cui-navbar-color);
  background-color: transparent;
  border: var(--cui-border-width) solid var(--cui-navbar-toggler-border-color);
  border-radius: var(--cui-navbar-toggler-border-radius);
  transition: var(--cui-navbar-toggler-transition);
}
@media (prefers-reduced-motion: reduce) {
  .navbar-toggler {
    transition: none;
  }
}
.navbar-toggler:hover {
  text-decoration: none;
}
.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--cui-navbar-toggler-focus-width);
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--cui-navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-nav-scroll {
  max-height: var(--cui-scroll-height, 75vh);
  overflow-y: auto;
}

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: var(--cui-navbar-nav-link-padding-x);
    padding-left: var(--cui-navbar-nav-link-padding-x);
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: var(--cui-navbar-nav-link-padding-x);
    padding-left: var(--cui-navbar-nav-link-padding-x);
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
  .navbar-expand-md .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: var(--cui-navbar-nav-link-padding-x);
    padding-left: var(--cui-navbar-nav-link-padding-x);
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
  .navbar-expand-lg .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: var(--cui-navbar-nav-link-padding-x);
    padding-left: var(--cui-navbar-nav-link-padding-x);
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: var(--cui-navbar-nav-link-padding-x);
    padding-left: var(--cui-navbar-nav-link-padding-x);
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xxl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: var(--cui-navbar-nav-link-padding-x);
  padding-left: var(--cui-navbar-nav-link-padding-x);
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}
.navbar-expand .offcanvas {
  position: static;
  z-index: auto;
  flex-grow: 1;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
  background-color: transparent !important;
  border: 0 !important;
  transform: none !important;
  transition: none;
}
.navbar-expand .offcanvas .offcanvas-header {
  display: none;
}
.navbar-expand .offcanvas .offcanvas-body {
  display: flex;
  flex-grow: 0;
  padding: 0;
  overflow-y: visible;
}

.navbar-dark,
.navbar[data-coreui-theme=dark] {
  --cui-navbar-color: rgba(255, 255, 255, 0.55);
  --cui-navbar-hover-color: rgba(255, 255, 255, 0.75);
  --cui-navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --cui-navbar-active-color: #fff;
  --cui-navbar-brand-color: #fff;
  --cui-navbar-brand-hover-color: #fff;
  --cui-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
  --cui-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

[data-coreui-theme=dark] .navbar-toggler-icon {
  --cui-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.card {
  --cui-card-spacer-y: 1rem;
  --cui-card-spacer-x: 1rem;
  --cui-card-title-spacer-y: 0.5rem;
  --cui-card-title-color: ;
  --cui-card-subtitle-color: ;
  --cui-card-border-width: var(--cui-border-width);
  --cui-card-border-color: var(--cui-border-color-translucent);
  --cui-card-border-radius: var(--cui-border-radius);
  --cui-card-box-shadow: ;
  --cui-card-inner-border-radius: calc(var(--cui-border-radius) - (var(--cui-border-width)));
  --cui-card-cap-padding-y: 0.5rem;
  --cui-card-cap-padding-x: 1rem;
  --cui-card-cap-bg: rgba(var(--cui-body-color-rgb), 0.03);
  --cui-card-cap-color: ;
  --cui-card-height: ;
  --cui-card-color: ;
  --cui-card-bg: var(--cui-body-bg);
  --cui-card-img-overlay-padding: 1rem;
  --cui-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--cui-card-height);
  color: var(--cui-body-color);
  word-wrap: break-word;
  background-color: var(--cui-card-bg);
  background-clip: border-box;
  border: var(--cui-card-border-width) solid var(--cui-card-border-color);
  border-radius: var(--cui-card-border-radius);
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: var(--cui-card-inner-border-radius);
  border-top-right-radius: var(--cui-card-inner-border-radius);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--cui-card-inner-border-radius);
  border-bottom-left-radius: var(--cui-card-inner-border-radius);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  padding: var(--cui-card-spacer-y) var(--cui-card-spacer-x);
  color: var(--cui-card-color);
}

.card-title {
  margin-bottom: var(--cui-card-title-spacer-y);
  color: var(--cui-card-title-color);
}

.card-subtitle {
  margin-top: calc(-0.5 * var(--cui-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--cui-card-subtitle-color);
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link + .card-link {
  margin-inline-start: var(--cui-card-spacer-x);
}

.card-header {
  padding: var(--cui-card-cap-padding-y) var(--cui-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--cui-card-cap-color);
  background-color: var(--cui-card-cap-bg);
  border-bottom: var(--cui-card-border-width) solid var(--cui-card-border-color);
}
.card-header:first-child {
  border-radius: var(--cui-card-inner-border-radius) var(--cui-card-inner-border-radius) 0 0;
}

.card-footer {
  padding: var(--cui-card-cap-padding-y) var(--cui-card-cap-padding-x);
  color: var(--cui-card-cap-color);
  background-color: var(--cui-card-cap-bg);
  border-top: var(--cui-card-border-width) solid var(--cui-card-border-color);
}
.card-footer:last-child {
  border-radius: 0 0 var(--cui-card-inner-border-radius) var(--cui-card-inner-border-radius);
}

.card-header-tabs {
  margin-right: calc(-0.5 * var(--cui-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--cui-card-cap-padding-y));
  margin-left: calc(-0.5 * var(--cui-card-cap-padding-x));
  border-bottom: 0;
}
.card-header-tabs .nav-link.active {
  background-color: var(--cui-card-bg);
  border-bottom-color: var(--cui-card-bg);
}

.card-header-pills {
  margin-right: calc(-0.5 * var(--cui-card-cap-padding-x));
  margin-left: calc(-0.5 * var(--cui-card-cap-padding-x));
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--cui-card-img-overlay-padding);
  border-radius: var(--cui-card-inner-border-radius);
}

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: var(--cui-card-inner-border-radius);
  border-top-right-radius: var(--cui-card-inner-border-radius);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--cui-card-inner-border-radius);
  border-bottom-left-radius: var(--cui-card-inner-border-radius);
}

.card-group > .card {
  margin-bottom: var(--cui-card-group-margin);
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-inline-start: 0;
    border-inline-start: 0;
  }
  .card-group > .card:not(:last-child) {
    border-start-end-radius: 0;
    border-end-end-radius: 0;
  }
  .card-group > .card:not(:last-child) > .card-img-top,
  .card-group > .card:not(:last-child) > .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) > .card-img-bottom,
  .card-group > .card:not(:last-child) > .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-start-start-radius: 0;
    border-end-start-radius: 0;
  }
  .card-group > .card:not(:first-child) > .card-img-top,
  .card-group > .card:not(:first-child) > .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) > .card-img-bottom,
  .card-group > .card:not(:first-child) > card-footer {
    border-bottom-left-radius: 0;
  }
}

.accordion {
  --cui-accordion-color: var(--cui-body-color);
  --cui-accordion-bg: var(--cui-body-bg);
  --cui-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;
  --cui-accordion-border-color: var(--cui-border-color);
  --cui-accordion-border-width: var(--cui-border-width);
  --cui-accordion-border-radius: var(--cui-border-radius);
  --cui-accordion-inner-border-radius: calc(var(--cui-border-radius) - (var(--cui-border-width)));
  --cui-accordion-btn-padding-x: 1.25rem;
  --cui-accordion-btn-padding-y: 1rem;
  --cui-accordion-btn-color: var(--cui-body-color);
  --cui-accordion-btn-bg: var(--cui-accordion-bg);
  --cui-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='rgba%2837, 42.92, 54.02, 0.95%29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --cui-accordion-btn-icon-width: 1.25rem;
  --cui-accordion-btn-icon-transform: rotate(-180deg);
  --cui-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --cui-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%233634a3' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --cui-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
  --cui-accordion-body-padding-x: 1.25rem;
  --cui-accordion-body-padding-y: 1rem;
  --cui-accordion-active-color: var(--cui-primary-text-emphasis);
  --cui-accordion-active-bg: var(--cui-primary-bg-subtle);
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--cui-accordion-btn-padding-y) var(--cui-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--cui-accordion-btn-color);
  text-align: start;
  background-color: var(--cui-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--cui-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--cui-accordion-active-color);
  background-color: var(--cui-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--cui-accordion-border-width)) 0 var(--cui-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
  background-image: var(--cui-accordion-btn-active-icon);
  transform: var(--cui-accordion-btn-icon-transform);
}
.accordion-button::after {
  flex-shrink: 0;
  width: var(--cui-accordion-btn-icon-width);
  height: var(--cui-accordion-btn-icon-width);
  margin-inline-start: auto;
  content: "";
  background-image: var(--cui-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--cui-accordion-btn-icon-width);
  transition: var(--cui-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(--cui-accordion-btn-focus-box-shadow);
}

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

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

.accordion-body {
  padding: var(--cui-accordion-body-padding-y) var(--cui-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-collapse,
.accordion-flush > .accordion-item > .accordion-header .accordion-button,
.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}

[data-coreui-theme=dark] .accordion-button::after {
  --cui-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba%28255, 255, 255, 0.87%29'%3e%3cpath fill-rule='evenodd' d='M1.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-.708'/%3e%3c/svg%3e");
  --cui-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%2859.35, 57.55, 157.45%29'%3e%3cpath fill-rule='evenodd' d='M1.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-.708'/%3e%3c/svg%3e");
}

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

.breadcrumb-item + .breadcrumb-item {
  padding-inline-start: var(--cui-breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
  float: inline-start;
  padding-inline-end: var(--cui-breadcrumb-item-padding-x);
  color: var(--cui-breadcrumb-divider-color);
  content: var(--cui-breadcrumb-divider, "/");
}
.breadcrumb-item.active {
  color: var(--cui-breadcrumb-item-active-color);
}

.pagination {
  --cui-pagination-padding-x: 0.75rem;
  --cui-pagination-padding-y: 0.375rem;
  --cui-pagination-font-size: 1rem;
  --cui-pagination-color: var(--cui-link-color);
  --cui-pagination-bg: var(--cui-body-bg);
  --cui-pagination-border-width: var(--cui-border-width);
  --cui-pagination-border-color: var(--cui-border-color);
  --cui-pagination-border-radius: var(--cui-border-radius);
  --cui-pagination-hover-color: var(--cui-link-hover-color);
  --cui-pagination-hover-bg: var(--cui-tertiary-bg);
  --cui-pagination-hover-border-color: var(--cui-border-color);
  --cui-pagination-focus-color: var(--cui-link-hover-color);
  --cui-pagination-focus-bg: var(--cui-secondary-bg);
  --cui-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
  --cui-pagination-active-color: rgba(255, 255, 255, 0.87);
  --cui-pagination-active-bg: var(--cui-primary);
  --cui-pagination-active-border-color: var(--cui-primary);
  --cui-pagination-disabled-color: var(--cui-secondary-color);
  --cui-pagination-disabled-bg: var(--cui-secondary-bg);
  --cui-pagination-disabled-border-color: var(--cui-border-color);
  display: flex;
  padding-inline-start: 0;
  list-style: none;
}

.page-link {
  position: relative;
  display: block;
  padding: var(--cui-pagination-padding-y) var(--cui-pagination-padding-x);
  font-size: var(--cui-pagination-font-size);
  color: var(--cui-pagination-color);
  text-decoration: none;
  background-color: var(--cui-pagination-bg);
  border: var(--cui-pagination-border-width) solid var(--cui-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(--cui-pagination-hover-color);
  background-color: var(--cui-pagination-hover-bg);
  border-color: var(--cui-pagination-hover-border-color);
}
.page-link:focus {
  z-index: 3;
  color: var(--cui-pagination-focus-color);
  background-color: var(--cui-pagination-focus-bg);
  outline: 0;
  box-shadow: var(--cui-pagination-focus-box-shadow);
}
.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--cui-pagination-active-color);
  background-color: var(--cui-pagination-active-bg);
  border-color: var(--cui-pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
  color: var(--cui-pagination-disabled-color);
  pointer-events: none;
  background-color: var(--cui-pagination-disabled-bg);
  border-color: var(--cui-pagination-disabled-border-color);
}

.page-item:not(:first-child) .page-link {
  margin-inline-start: calc(-1 * var(--cui-border-width));
}
.page-item:first-child .page-link {
  border-start-start-radius: var(--cui-pagination-border-radius);
  border-end-start-radius: var(--cui-pagination-border-radius);
}
.page-item:last-child .page-link {
  border-start-end-radius: var(--cui-pagination-border-radius);
  border-end-end-radius: var(--cui-pagination-border-radius);
}

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

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

.badge {
  --cui-badge-padding-x: 0.65em;
  --cui-badge-padding-y: 0.35em;
  --cui-badge-font-size: 0.75em;
  --cui-badge-font-weight: 700;
  --cui-badge-color: #fff;
  --cui-badge-border-radius: var(--cui-border-radius);
  display: inline-block;
  padding: var(--cui-badge-padding-y) var(--cui-badge-padding-x);
  font-size: var(--cui-badge-font-size);
  font-weight: var(--cui-badge-font-weight);
  line-height: 1;
  color: var(--cui-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--cui-badge-border-radius, 0);
}
.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.badge-sm {
  --cui-badge-padding-x: 0.5em;
  --cui-badge-padding-y: 0.3em;
  font-size: 0.65em;
}

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

.alert-heading {
  color: inherit;
}

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

.alert-dismissible {
  padding-inline-end: 3rem;
}
.alert-dismissible .btn-close {
  position: absolute;
  inset-inline-end: 0;
  top: 0;
  z-index: 2;
  padding: 1.25rem 1rem;
}

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

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

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

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

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

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

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

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

@keyframes progress-bar-stripes {
  0% {
    background-position-x: var(--cui-progress-height);
  }
}
.progress,
.progress-stacked {
  --cui-progress-height: 1rem;
  --cui-progress-font-size: 0.75rem;
  --cui-progress-bg: var(--cui-secondary-bg);
  --cui-progress-border-radius: var(--cui-border-radius);
  --cui-progress-box-shadow: var(--cui-box-shadow-inset);
  --cui-progress-bar-color: #fff;
  --cui-progress-bar-bg: var(--cui-primary);
  --cui-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--cui-progress-height);
  overflow: hidden;
  font-size: var(--cui-progress-font-size);
  background-color: var(--cui-progress-bg);
  border-radius: var(--cui-progress-border-radius);
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--cui-progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--cui-progress-bar-bg);
  transition: var(--cui-progress-bar-transition);
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: var(--cui-progress-height) var(--cui-progress-height);
}

.progress-stacked > .progress {
  overflow: visible;
}

.progress-stacked > .progress > .progress-bar {
  width: 100%;
}

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

.progress-thin {
  height: 4px;
}

.progress.progress-white {
  background-color: rgba(255, 255, 255, 0.2);
}
.progress.progress-white .progress-bar {
  background-color: #fff;
}

.progress-group {
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 1rem;
}

.progress-group-prepend {
  flex: 0 0 100px;
  align-self: center;
}

.progress-group-header {
  display: flex;
  flex-basis: 100%;
  align-items: center;
  margin-bottom: 0.25rem;
}

.progress-group-bars {
  flex-grow: 1;
  align-self: center;
}
.progress-group-bars .progress:not(:last-child) {
  margin-bottom: 2px;
}

.progress-group-header + .progress-group-bars {
  flex-basis: 100%;
}

.list-group {
  --cui-list-group-color: var(--cui-body-color);
  --cui-list-group-bg: var(--cui-body-bg);
  --cui-list-group-border-color: var(--cui-border-color);
  --cui-list-group-border-width: var(--cui-border-width);
  --cui-list-group-border-radius: var(--cui-border-radius);
  --cui-list-group-item-padding-x: 1rem;
  --cui-list-group-item-padding-y: 0.5rem;
  --cui-list-group-action-color: var(--cui-secondary-color);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-tertiary-bg);
  --cui-list-group-action-active-color: var(--cui-body-color);
  --cui-list-group-action-active-bg: var(--cui-secondary-bg);
  --cui-list-group-disabled-color: var(--cui-secondary-color);
  --cui-list-group-disabled-bg: var(--cui-body-bg);
  --cui-list-group-active-color: rgba(255, 255, 255, 0.87);
  --cui-list-group-active-bg: var(--cui-primary);
  --cui-list-group-active-border-color: var(--cui-primary);
  display: flex;
  flex-direction: column;
  padding-inline-start: 0;
  margin-bottom: 0;
  border-radius: var(--cui-list-group-border-radius);
}

.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}
.list-group-numbered > .list-group-item::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}

.list-group-item {
  position: relative;
  display: block;
  padding: var(--cui-list-group-item-padding-y) var(--cui-list-group-item-padding-x);
  color: var(--cui-list-group-color);
  text-decoration: none;
  background-color: var(--cui-list-group-bg);
  border: var(--cui-list-group-border-width) solid var(--cui-list-group-border-color);
}
.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: var(--cui-list-group-disabled-color);
  pointer-events: none;
  background-color: var(--cui-list-group-disabled-bg);
}
.list-group-item.active {
  z-index: 2;
  color: var(--cui-list-group-active-color);
  background-color: var(--cui-list-group-active-bg);
  border-color: var(--cui-list-group-active-border-color);
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: calc(-1 * var(--cui-list-group-border-width));
  border-top-width: var(--cui-list-group-border-width);
}

.list-group-item-action {
  width: 100%;
  color: var(--cui-list-group-action-color);
  text-align: inherit;
}
.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {
  z-index: 1;
  color: var(--cui-list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--cui-list-group-action-hover-bg);
}
.list-group-item-action:not(.active):active {
  color: var(--cui-list-group-action-active-color);
  background-color: var(--cui-list-group-action-active-bg);
}

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-end-start-radius: var(--cui-list-group-border-radius);
  border-start-end-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-start-end-radius: var(--cui-list-group-border-radius);
  border-end-start-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-inline-start-width: 0;
  border-top-width: var(--cui-list-group-border-width);
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-inline-start: calc(-1 * var(--cui-list-group-border-width));
  border-inline-start-width: var(--cui-list-group-border-width);
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--cui-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--cui-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-inline-start-width: 0;
    border-top-width: var(--cui-list-group-border-width);
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-inline-start: calc(-1 * var(--cui-list-group-border-width));
    border-inline-start-width: var(--cui-list-group-border-width);
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--cui-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--cui-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-inline-start-width: 0;
    border-top-width: var(--cui-list-group-border-width);
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-inline-start: calc(-1 * var(--cui-list-group-border-width));
    border-inline-start-width: var(--cui-list-group-border-width);
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--cui-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--cui-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-inline-start-width: 0;
    border-top-width: var(--cui-list-group-border-width);
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-inline-start: calc(-1 * var(--cui-list-group-border-width));
    border-inline-start-width: var(--cui-list-group-border-width);
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--cui-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--cui-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-inline-start-width: 0;
    border-top-width: var(--cui-list-group-border-width);
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-inline-start: calc(-1 * var(--cui-list-group-border-width));
    border-inline-start-width: var(--cui-list-group-border-width);
  }
}
@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
    border-end-start-radius: var(--cui-list-group-border-radius);
    border-start-end-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
    border-start-end-radius: var(--cui-list-group-border-radius);
    border-end-start-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-inline-start-width: 0;
    border-top-width: var(--cui-list-group-border-width);
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-inline-start: calc(-1 * var(--cui-list-group-border-width));
    border-inline-start-width: var(--cui-list-group-border-width);
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 var(--cui-list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  --cui-list-group-color: var(--cui-primary-text-emphasis);
  --cui-list-group-bg: var(--cui-primary-bg-subtle);
  --cui-list-group-border-color: var(--cui-primary-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-primary-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-primary-border-subtle);
  --cui-list-group-active-color: var(--cui-primary-bg-subtle);
  --cui-list-group-active-bg: var(--cui-primary-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-primary-text-emphasis);
}

.list-group-item-secondary {
  --cui-list-group-color: var(--cui-secondary-text-emphasis);
  --cui-list-group-bg: var(--cui-secondary-bg-subtle);
  --cui-list-group-border-color: var(--cui-secondary-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-secondary-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-secondary-border-subtle);
  --cui-list-group-active-color: var(--cui-secondary-bg-subtle);
  --cui-list-group-active-bg: var(--cui-secondary-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-secondary-text-emphasis);
}

.list-group-item-success {
  --cui-list-group-color: var(--cui-success-text-emphasis);
  --cui-list-group-bg: var(--cui-success-bg-subtle);
  --cui-list-group-border-color: var(--cui-success-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-success-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-success-border-subtle);
  --cui-list-group-active-color: var(--cui-success-bg-subtle);
  --cui-list-group-active-bg: var(--cui-success-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-success-text-emphasis);
}

.list-group-item-info {
  --cui-list-group-color: var(--cui-info-text-emphasis);
  --cui-list-group-bg: var(--cui-info-bg-subtle);
  --cui-list-group-border-color: var(--cui-info-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-info-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-info-border-subtle);
  --cui-list-group-active-color: var(--cui-info-bg-subtle);
  --cui-list-group-active-bg: var(--cui-info-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-info-text-emphasis);
}

.list-group-item-warning {
  --cui-list-group-color: var(--cui-warning-text-emphasis);
  --cui-list-group-bg: var(--cui-warning-bg-subtle);
  --cui-list-group-border-color: var(--cui-warning-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-warning-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-warning-border-subtle);
  --cui-list-group-active-color: var(--cui-warning-bg-subtle);
  --cui-list-group-active-bg: var(--cui-warning-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-warning-text-emphasis);
}

.list-group-item-danger {
  --cui-list-group-color: var(--cui-danger-text-emphasis);
  --cui-list-group-bg: var(--cui-danger-bg-subtle);
  --cui-list-group-border-color: var(--cui-danger-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-danger-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-danger-border-subtle);
  --cui-list-group-active-color: var(--cui-danger-bg-subtle);
  --cui-list-group-active-bg: var(--cui-danger-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-danger-text-emphasis);
}

.list-group-item-light {
  --cui-list-group-color: var(--cui-light-text-emphasis);
  --cui-list-group-bg: var(--cui-light-bg-subtle);
  --cui-list-group-border-color: var(--cui-light-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-light-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-light-border-subtle);
  --cui-list-group-active-color: var(--cui-light-bg-subtle);
  --cui-list-group-active-bg: var(--cui-light-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-light-text-emphasis);
}

.list-group-item-dark {
  --cui-list-group-color: var(--cui-dark-text-emphasis);
  --cui-list-group-bg: var(--cui-dark-bg-subtle);
  --cui-list-group-border-color: var(--cui-dark-border-subtle);
  --cui-list-group-action-hover-color: var(--cui-emphasis-color);
  --cui-list-group-action-hover-bg: var(--cui-dark-border-subtle);
  --cui-list-group-action-active-color: var(--cui-emphasis-color);
  --cui-list-group-action-active-bg: var(--cui-dark-border-subtle);
  --cui-list-group-active-color: var(--cui-dark-bg-subtle);
  --cui-list-group-active-bg: var(--cui-dark-text-emphasis);
  --cui-list-group-active-border-color: var(--cui-dark-text-emphasis);
}

.btn-close {
  --cui-btn-close-color: #080a0c;
  --cui-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23080a0c'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");
  --cui-btn-close-opacity: 0.5;
  --cui-btn-close-hover-opacity: 0.75;
  --cui-btn-close-focus-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
  --cui-btn-close-focus-opacity: 1;
  --cui-btn-close-disabled-opacity: 0.25;
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--cui-btn-close-color);
  background: transparent var(--cui-btn-close-bg) center/1em auto no-repeat;
  filter: var(--cui-btn-close-filter);
  border: 0;
  border-radius: 0.375rem;
  opacity: var(--cui-btn-close-opacity);
}
.btn-close:hover {
  color: var(--cui-btn-close-color);
  text-decoration: none;
  opacity: var(--cui-btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--cui-btn-close-focus-shadow);
  opacity: var(--cui-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  user-select: none;
  opacity: var(--cui-btn-close-disabled-opacity);
}

.btn-close-white {
  --cui-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

:root,
[data-coreui-theme=light] {
  --cui-btn-close-filter: ;
}

[data-coreui-theme=dark] {
  --cui-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

.toast {
  --cui-toast-zindex: 1090;
  --cui-toast-padding-x: 0.75rem;
  --cui-toast-padding-y: 0.5rem;
  --cui-toast-spacing: 1.5rem;
  --cui-toast-max-width: 350px;
  --cui-toast-font-size: 0.875rem;
  --cui-toast-color: ;
  --cui-toast-bg: rgba(var(--cui-body-bg-rgb), 0.85);
  --cui-toast-border-width: var(--cui-border-width);
  --cui-toast-border-color: var(--cui-border-color-translucent);
  --cui-toast-border-radius: var(--cui-border-radius);
  --cui-toast-box-shadow: var(--cui-box-shadow);
  --cui-toast-header-color: var(--cui-secondary-color);
  --cui-toast-header-bg: rgba(var(--cui-body-bg-rgb), 0.85);
  --cui-toast-header-border-color: var(--cui-border-color-translucent);
  width: var(--cui-toast-max-width);
  max-width: 100%;
  font-size: var(--cui-toast-font-size);
  color: var(--cui-toast-color);
  pointer-events: auto;
  background-color: var(--cui-toast-bg);
  background-clip: padding-box;
  border: var(--cui-toast-border-width) solid var(--cui-toast-border-color);
  box-shadow: var(--cui-toast-box-shadow);
  border-radius: var(--cui-toast-border-radius);
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}

.toast-container {
  --cui-toast-zindex: 1090;
  position: absolute;
  z-index: var(--cui-toast-zindex);
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}
.toast-container > :not(:last-child) {
  margin-bottom: var(--cui-toast-spacing);
}

.toast-header {
  display: flex;
  align-items: center;
  padding: var(--cui-toast-padding-y) var(--cui-toast-padding-x);
  color: var(--cui-toast-header-color);
  background-color: var(--cui-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--cui-toast-border-width) solid var(--cui-toast-header-border-color);
  border-top-left-radius: calc(var(--cui-toast-border-radius) - var(--cui-toast-border-width));
  border-top-right-radius: calc(var(--cui-toast-border-radius) - var(--cui-toast-border-width));
}
.toast-header .btn-close {
  margin-inline: var(--cui-toast-padding-x) calc(-0.5 * var(--cui-toast-padding-x));
}

.toast-body {
  padding: var(--cui-toast-padding-x);
  word-wrap: break-word;
}

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

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--cui-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transform: translate(0, -50px);
  transition: transform 0.3s ease-out;
}
@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(--cui-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(--cui-modal-margin) * 2);
}

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

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

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

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

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

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

@media (min-width: 576px) {
  .modal {
    --cui-modal-margin: 1.75rem;
    --cui-modal-box-shadow: var(--cui-box-shadow);
  }
  .modal-dialog {
    max-width: var(--cui-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --cui-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --cui-modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --cui-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: 1199.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: 1399.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;
  }
}
.tooltip {
  --cui-tooltip-zindex: 1080;
  --cui-tooltip-max-width: 200px;
  --cui-tooltip-padding-x: 0.5rem;
  --cui-tooltip-padding-y: 0.25rem;
  --cui-tooltip-margin: ;
  --cui-tooltip-font-size: 0.875rem;
  --cui-tooltip-color: var(--cui-body-bg);
  --cui-tooltip-bg: var(--cui-emphasis-color);
  --cui-tooltip-border-radius: var(--cui-border-radius);
  --cui-tooltip-opacity: 0.9;
  --cui-tooltip-arrow-width: 0.8rem;
  --cui-tooltip-arrow-height: 0.4rem;
  z-index: var(--cui-tooltip-zindex);
  display: block;
  margin: var(--cui-tooltip-margin);
  font-family: var(--cui-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--cui-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: var(--cui-tooltip-opacity);
}
.tooltip .tooltip-arrow {
  display: block;
  width: var(--cui-tooltip-arrow-width);
  height: var(--cui-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
  bottom: calc(-1 * var(--cui-tooltip-arrow-height));
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--cui-tooltip-arrow-height) calc(var(--cui-tooltip-arrow-width) * 0.5) 0;
  border-top-color: var(--cui-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
  left: calc(-1 * var(--cui-tooltip-arrow-height));
  width: var(--cui-tooltip-arrow-height);
  height: var(--cui-tooltip-arrow-width);
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
  right: -1px;
  border-width: calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height) calc(var(--cui-tooltip-arrow-width) * 0.5) 0;
  border-right-color: var(--cui-tooltip-bg);
}

/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: calc(-1 * var(--cui-tooltip-arrow-height));
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height);
  border-bottom-color: var(--cui-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
  right: calc(-1 * var(--cui-tooltip-arrow-height));
  width: var(--cui-tooltip-arrow-height);
  height: var(--cui-tooltip-arrow-width);
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--cui-tooltip-arrow-width) * 0.5) 0 calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height);
  border-left-color: var(--cui-tooltip-bg);
}

/* rtl:end:ignore */
.tooltip-inner {
  max-width: var(--cui-tooltip-max-width);
  padding: var(--cui-tooltip-padding-y) var(--cui-tooltip-padding-x);
  color: var(--cui-tooltip-color);
  text-align: center;
  background-color: var(--cui-tooltip-bg);
  border-radius: var(--cui-tooltip-border-radius);
}

.popover {
  --cui-popover-zindex: 1070;
  --cui-popover-max-width: 276px;
  --cui-popover-font-size: 0.875rem;
  --cui-popover-bg: var(--cui-body-bg);
  --cui-popover-border-width: var(--cui-border-width);
  --cui-popover-border-color: var(--cui-border-color-translucent);
  --cui-popover-border-radius: var(--cui-border-radius-lg);
  --cui-popover-inner-border-radius: calc(var(--cui-border-radius-lg) - var(--cui-border-width));
  --cui-popover-box-shadow: var(--cui-box-shadow);
  --cui-popover-header-padding-x: 1rem;
  --cui-popover-header-padding-y: 0.5rem;
  --cui-popover-header-font-size: 1rem;
  --cui-popover-header-color: inherit;
  --cui-popover-header-bg: var(--cui-secondary-bg);
  --cui-popover-body-padding-x: 1rem;
  --cui-popover-body-padding-y: 1rem;
  --cui-popover-body-color: var(--cui-body-color);
  --cui-popover-arrow-width: 1rem;
  --cui-popover-arrow-height: 0.5rem;
  --cui-popover-arrow-border: var(--cui-popover-border-color);
  z-index: var(--cui-popover-zindex);
  display: block;
  max-width: var(--cui-popover-max-width);
  font-family: var(--cui-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--cui-popover-font-size);
  word-wrap: break-word;
  background-color: var(--cui-popover-bg);
  background-clip: padding-box;
  border: var(--cui-popover-border-width) solid var(--cui-popover-border-color);
  border-radius: var(--cui-popover-border-radius);
}
.popover .popover-arrow {
  display: block;
  width: var(--cui-popover-arrow-width);
  height: var(--cui-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
  bottom: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  border-width: var(--cui-popover-arrow-height) calc(var(--cui-popover-arrow-width) * 0.5) 0;
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
  bottom: 0;
  border-top-color: var(--cui-popover-arrow-border);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  bottom: var(--cui-popover-border-width);
  border-top-color: var(--cui-popover-bg);
}

/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
  left: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));
  width: var(--cui-popover-arrow-height);
  height: var(--cui-popover-arrow-width);
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  border-width: calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height) calc(var(--cui-popover-arrow-width) * 0.5) 0;
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
  left: 0;
  border-right-color: var(--cui-popover-arrow-border);
}
.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  left: var(--cui-popover-border-width);
  border-right-color: var(--cui-popover-bg);
}

/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
  top: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  border-width: 0 calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height);
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
  top: 0;
  border-bottom-color: var(--cui-popover-arrow-border);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  top: var(--cui-popover-border-width);
  border-bottom-color: var(--cui-popover-bg);
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: var(--cui-popover-arrow-width);
  margin-left: calc(-0.5 * var(--cui-popover-arrow-width));
  content: "";
  border-bottom: var(--cui-popover-border-width) solid var(--cui-popover-header-bg);
}

/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
  right: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));
  width: var(--cui-popover-arrow-height);
  height: var(--cui-popover-arrow-width);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  border-width: calc(var(--cui-popover-arrow-width) * 0.5) 0 calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
  right: 0;
  border-left-color: var(--cui-popover-arrow-border);
}
.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  right: var(--cui-popover-border-width);
  border-left-color: var(--cui-popover-bg);
}

/* rtl:end:ignore */
.popover-header {
  padding: var(--cui-popover-header-padding-y) var(--cui-popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--cui-popover-header-font-size);
  color: var(--cui-popover-header-color);
  background-color: var(--cui-popover-header-bg);
  border-bottom: var(--cui-popover-border-width) solid var(--cui-popover-border-color);
  border-top-left-radius: var(--cui-popover-inner-border-radius);
  border-top-right-radius: var(--cui-popover-inner-border-radius);
}
.popover-header:empty {
  display: none;
}

.popover-body {
  padding: var(--cui-popover-body-padding-y) var(--cui-popover-body-padding-x);
  color: var(--cui-popover-body-color);
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start,
  .carousel-fade .active.carousel-item-end {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  filter: var(--cui-carousel-control-icon-filter);
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e");
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
}
.carousel-indicators [data-coreui-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-coreui-target] {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: var(--cui-carousel-caption-color);
  text-align: center;
}

.carousel-dark {
  --cui-carousel-indicator-active-bg: #080a0c;
  --cui-carousel-caption-color: #080a0c;
  --cui-carousel-control-icon-filter: invert(1) grayscale(100);
}

:root,
[data-coreui-theme=light] {
  --cui-carousel-indicator-active-bg: #fff;
  --cui-carousel-caption-color: #fff;
  --cui-carousel-control-icon-filter: ;
}

[data-coreui-theme=dark] {
  --cui-carousel-indicator-active-bg: #080a0c;
  --cui-carousel-caption-color: #080a0c;
  --cui-carousel-control-icon-filter: invert(1) grayscale(100);
}

.spinner-grow,
.spinner-border {
  display: inline-block;
  flex-shrink: 0;
  width: var(--cui-spinner-width);
  height: var(--cui-spinner-height);
  vertical-align: var(--cui-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--cui-spinner-animation-speed) linear infinite var(--cui-spinner-animation-name);
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}
.spinner-border {
  --cui-spinner-width: 2rem;
  --cui-spinner-height: 2rem;
  --cui-spinner-vertical-align: -0.125em;
  --cui-spinner-border-width: 0.25em;
  --cui-spinner-animation-speed: 0.75s;
  --cui-spinner-animation-name: spinner-border;
  border: var(--cui-spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}

.spinner-border-sm {
  --cui-spinner-width: 1rem;
  --cui-spinner-height: 1rem;
  --cui-spinner-border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  --cui-spinner-width: 2rem;
  --cui-spinner-height: 2rem;
  --cui-spinner-vertical-align: -0.125em;
  --cui-spinner-animation-speed: 0.75s;
  --cui-spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0;
}

.spinner-grow-sm {
  --cui-spinner-width: 1rem;
  --cui-spinner-height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    --cui-spinner-animation-speed: 1.5s;
  }
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
  --cui-offcanvas-zindex: 1045;
  --cui-offcanvas-width: 400px;
  --cui-offcanvas-height: 30vh;
  --cui-offcanvas-padding-x: 1rem;
  --cui-offcanvas-padding-y: 1rem;
  --cui-offcanvas-color: var(--cui-body-color);
  --cui-offcanvas-bg: var(--cui-body-bg);
  --cui-offcanvas-border-width: var(--cui-border-width);
  --cui-offcanvas-border-color: var(--cui-border-color-translucent);
  --cui-offcanvas-box-shadow: var(--cui-box-shadow-sm);
  --cui-offcanvas-transition: transform 0.3s ease-in-out;
  --cui-offcanvas-title-line-height: 1.5;
}

@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--cui-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--cui-offcanvas-color);
    visibility: hidden;
    background-color: var(--cui-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--cui-offcanvas-transition);
  }
}
@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    transition: none;
  }
}
@media (max-width: 575.98px) {
  .offcanvas-sm.offcanvas-start {
    inset-inline-start: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-end: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    inset-inline-end: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-start: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none !important;
  }
  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
    visibility: visible;
  }
}
@media (min-width: 576px) {
  .offcanvas-sm {
    --cui-offcanvas-height: auto;
    --cui-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-sm .offcanvas-header {
    display: none;
  }
  .offcanvas-sm .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 767.98px) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--cui-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--cui-offcanvas-color);
    visibility: hidden;
    background-color: var(--cui-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--cui-offcanvas-transition);
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md.offcanvas-start {
    inset-inline-start: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-end: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    inset-inline-end: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-start: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none !important;
  }
  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
    visibility: visible;
  }
}
@media (min-width: 768px) {
  .offcanvas-md {
    --cui-offcanvas-height: auto;
    --cui-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-md .offcanvas-header {
    display: none;
  }
  .offcanvas-md .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 991.98px) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--cui-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--cui-offcanvas-color);
    visibility: hidden;
    background-color: var(--cui-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--cui-offcanvas-transition);
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    transition: none;
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg.offcanvas-start {
    inset-inline-start: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-end: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    inset-inline-end: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-start: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none !important;
  }
  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
    visibility: visible;
  }
}
@media (min-width: 992px) {
  .offcanvas-lg {
    --cui-offcanvas-height: auto;
    --cui-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-lg .offcanvas-header {
    display: none;
  }
  .offcanvas-lg .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1199.98px) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--cui-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--cui-offcanvas-color);
    visibility: hidden;
    background-color: var(--cui-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--cui-offcanvas-transition);
  }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    transition: none;
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl.offcanvas-start {
    inset-inline-start: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-end: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    inset-inline-end: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-start: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none !important;
  }
  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
    visibility: visible;
  }
}
@media (min-width: 1200px) {
  .offcanvas-xl {
    --cui-offcanvas-height: auto;
    --cui-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xl .offcanvas-header {
    display: none;
  }
  .offcanvas-xl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1399.98px) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--cui-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--cui-offcanvas-color);
    visibility: hidden;
    background-color: var(--cui-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--cui-offcanvas-transition);
  }
}
@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl.offcanvas-start {
    inset-inline-start: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-end: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    inset-inline-end: 0;
    top: 0;
    width: var(--cui-offcanvas-width);
    border-inline-start: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--cui-offcanvas-height);
    max-height: 100%;
    border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none !important;
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
    visibility: visible;
  }
}
@media (min-width: 1400px) {
  .offcanvas-xxl {
    --cui-offcanvas-height: auto;
    --cui-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xxl .offcanvas-header {
    display: none;
  }
  .offcanvas-xxl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--cui-offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--cui-offcanvas-color);
  visibility: hidden;
  background-color: var(--cui-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--cui-offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  inset-inline-start: 0;
  top: 0;
  width: var(--cui-offcanvas-width);
  border-inline-end: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  inset-inline-end: 0;
  top: 0;
  width: var(--cui-offcanvas-width);
  border-inline-start: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--cui-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--cui-offcanvas-height);
  max-height: 100%;
  border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);
  transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none !important;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}

.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: var(--cui-offcanvas-backdrop-bg, #080a0c);
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.5;
}

.offcanvas-header {
  display: flex;
  align-items: center;
  padding: var(--cui-offcanvas-padding-y) var(--cui-offcanvas-padding-x);
}
.offcanvas-header .btn-close {
  padding: calc(var(--cui-offcanvas-padding-y) * 0.5) calc(var(--cui-offcanvas-padding-x) * 0.5);
  margin-inline-start: auto;
  margin-inline-end: calc(-0.5 * var(--cui-offcanvas-padding-x));
  margin-top: calc(-0.5 * var(--cui-offcanvas-padding-y));
  margin-bottom: calc(-0.5 * var(--cui-offcanvas-padding-y));
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--cui-offcanvas-title-line-height);
}

.offcanvas-body {
  flex-grow: 1;
  padding: var(--cui-offcanvas-padding-y) var(--cui-offcanvas-padding-x);
  overflow-y: auto;
}

.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: 0.5;
}
.placeholder.btn::before {
  display: inline-block;
  content: "";
}

.placeholder-xs {
  min-height: 0.6em;
}

.placeholder-sm {
  min-height: 0.8em;
}

.placeholder-lg {
  min-height: 1.2em;
}

.placeholder-glow .placeholder {
  animation: placeholder-glow 2s ease-in-out infinite;
}

@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}
.placeholder-wave {
  mask-image: linear-gradient(130deg, #080a0c 55%, rgba(0, 0, 0, 0.8) 75%, #080a0c 95%);
  mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}

@keyframes placeholder-wave {
  100% {
    mask-position: -200% 0%;
  }
}
.avatar {
  --cui-avatar-width: 2rem;
  --cui-avatar-height: 2rem;
  --cui-avatar-font-size: 0.8rem;
  --cui-avatar-border-radius: 50em;
  --cui-avatar-status-width: 0.5rem;
  --cui-avatar-status-height: 0.5rem;
  --cui-avatar-status-border-radius: 50em;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--cui-avatar-width);
  height: var(--cui-avatar-height);
  font-size: var(--cui-avatar-font-size);
  vertical-align: middle;
  border-radius: var(--cui-avatar-border-radius);
  transition: margin 0.15s;
}
@media (prefers-reduced-motion: reduce) {
  .avatar {
    transition: none;
  }
}

.avatar-img {
  width: 100%;
  height: auto;
  border-radius: var(--cui-avatar-border-radius);
}

.avatar-status {
  position: absolute;
  inset-inline-end: 0;
  bottom: 0;
  display: block;
  width: var(--cui-avatar-status-width);
  height: var(--cui-avatar-status-height);
  border: 1px solid #fff;
  border-radius: var(--cui-avatar-status-border-radius);
}

.avatar-sm {
  --cui-avatar-width: 1.5rem;
  --cui-avatar-height: 1.5rem;
  --cui-avatar-font-size: 0.6rem;
  --cui-avatar-status-width: 0.4rem;
  --cui-avatar-status-height: 0.4rem;
}

.avatar-md {
  --cui-avatar-width: 2.5rem;
  --cui-avatar-height: 2.5rem;
  --cui-avatar-font-size: 1rem;
  --cui-avatar-status-width: 0.7rem;
  --cui-avatar-status-height: 0.7rem;
}

.avatar-lg {
  --cui-avatar-width: 3rem;
  --cui-avatar-height: 3rem;
  --cui-avatar-font-size: 1.2rem;
  --cui-avatar-status-width: 0.8rem;
  --cui-avatar-status-height: 0.8rem;
}

.avatar-xl {
  --cui-avatar-width: 4rem;
  --cui-avatar-height: 4rem;
  --cui-avatar-font-size: 1.6rem;
  --cui-avatar-status-width: 1rem;
  --cui-avatar-status-height: 1rem;
}

.avatars-stack {
  display: flex;
}
.avatars-stack .avatar {
  margin-inline-end: calc(-0.4 * var(--cui-avatar-width));
}
.avatars-stack .avatar:hover {
  margin-inline-end: 0;
}

.callout {
  --cui-callout-padding-x: 1rem;
  --cui-callout-padding-y: 1rem;
  --cui-callout-margin-x: 0;
  --cui-callout-margin-y: 1rem;
  --cui-callout-border-width: var(--cui-border-width);
  --cui-callout-border-color: var(--cui-border-color);
  --cui-callout-border-left-width: calc(var(--cui-border-width) * 4);
  --cui-callout-border-radius: var(--cui-border-radius);
  padding: var(--cui-callout-padding-y) var(--cui-callout-padding-x);
  margin: var(--cui-callout-margin-y) var(--cui-callout-margin-x);
  border: var(--cui-callout-border-width) solid var(--cui-callout-border-color);
  border-inline-start-color: var(--cui-callout-border-left-color);
  border-inline-start-width: var(--cui-callout-border-left-width);
  border-radius: var(--cui-callout-border-radius);
}

.callout-primary {
  --cui-callout-border-left-color: #5856d6;
}

.callout-secondary {
  --cui-callout-border-left-color: #6b7785;
}

.callout-success {
  --cui-callout-border-left-color: #1b9e3e;
}

.callout-danger {
  --cui-callout-border-left-color: #e55353;
}

.callout-warning {
  --cui-callout-border-left-color: #f9b115;
}

.callout-info {
  --cui-callout-border-left-color: #39f;
}

.callout-light {
  --cui-callout-border-left-color: #f3f4f7;
}

.callout-dark {
  --cui-callout-border-left-color: #212631;
}

.footer {
  --cui-footer-min-height: 3rem;
  --cui-footer-padding-x: 1rem;
  --cui-footer-padding-y: 0.5rem;
  --cui-footer-color: var(--cui-body-color);
  --cui-footer-bg: var(--cui-tertiary-bg);
  --cui-footer-border-color: var(--cui-border-color);
  --cui-footer-border: var(--cui-border-width) solid var(--cui-footer-border-color);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  min-height: var(--cui-footer-min-height);
  padding: var(--cui-footer-padding-y) var(--cui-footer-padding-x);
  color: var(--cui-footer-color);
  background: var(--cui-footer-bg);
  border-top: var(--cui-footer-border);
}

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

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

.header {
  --cui-header-padding-x: 0.5rem;
  --cui-header-padding-y: 0.5rem;
  --cui-header-bg: var(--cui-body-bg);
  --cui-header-color: rgba(var(--cui-emphasis-color-rgb), 0.65);
  --cui-header-border-color: var(--cui-border-color);
  --cui-header-border: var(--cui-border-width) solid var(--cui-header-border-color);
  --cui-header-hover-color: rgba(var(--cui-emphasis-color-rgb), 0.8);
  --cui-header-disabled-color: rgba(var(--cui-emphasis-color-rgb), 0.3);
  --cui-header-active-color: rgba(var(--cui-emphasis-color-rgb), 1);
  --cui-header-transition: box-shadow 0.15s ease-in-out;
  --cui-header-brand-padding-y: 0.3125rem;
  --cui-header-brand-color: #212631;
  --cui-header-brand-hover-color: rgb(29.7, 34.2, 44.1);
  --cui-header-toggler-padding-x: 0.75rem;
  --cui-header-toggler-padding-y: 0.25rem;
  --cui-header-toggler-bg: transparent;
  --cui-header-toggler-color: rgba(var(--cui-emphasis-color-rgb), 0.65);
  --cui-header-toggler-border-radius: var(--cui-border-radius);
  --cui-header-toggler-hover-color: rgba(var(--cui-emphasis-color-rgb), 1);
  --cui-header-toggler-icon-bg: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28var%28--cui-emphasis-color-rgb%29, 0.65%29' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
  --cui-header-toggler-hover-icon-bg: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28var%28--cui-emphasis-color-rgb%29, 0.8%29' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
  --cui-header-nav-link-padding-x: 0.5rem;
  --cui-header-nav-link-padding-y: 0.5rem;
  --cui-header-divider-border-color: var(--cui-border-color);
  --cui-header-divider-border: var(--cui-border-width) solid var(--cui-header-divider-border-color);
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--cui-header-padding-y) var(--cui-header-padding-x);
  background: var(--cui-header-bg);
  border-bottom: var(--cui-header-border);
  transition: var(--cui-header-transition);
}
@media (prefers-reduced-motion: reduce) {
  .header {
    transition: none;
  }
}
.header > .container-xxl, .header > .container-xl, .header > .container-lg, .header > .container-md, .header > .container-sm, .header > .container,
.header > .container-fluid {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.header.header-sticky {
  position: sticky;
  top: 0;
  z-index: 1020;
}

.header-divider {
  flex-basis: calc(100% + 2 * var(--cui-header-padding-x));
  height: 0;
  margin: var(--cui-header-padding-y) calc(-1 * var(--cui-header-padding-x));
  border-top: var(--cui-header-divider-border);
}

.header-brand {
  padding-top: var(--cui-header-brand-padding-y);
  padding-bottom: var(--cui-header-brand-padding-y);
  margin-inline-end: 1rem;
  font-size: 1.25rem;
  color: var(--cui-header-brand-color);
  text-decoration: none;
  white-space: nowrap;
}
.header-brand:hover, .header-brand:focus {
  color: var(--cui-header-brand-hover-color);
}

.header-nav {
  display: flex;
  flex-direction: row;
  padding-inline-start: 0;
  margin-bottom: 0;
  list-style: none;
}
.header-nav .nav-link {
  padding: var(--cui-header-nav-link-padding-y) var(--cui-header-nav-link-padding-x);
  color: var(--cui-header-color);
}
.header-nav .nav-link:hover, .header-nav .nav-link:focus {
  color: var(--cui-header-hover-color);
}
.header-nav .nav-link.disabled {
  color: var(--cui-header-disabled-color);
}
.header-nav .show > .nav-link,
.header-nav .nav-link.active {
  color: var(--cui-header-active-color);
}
.header-nav .dropdown-menu {
  position: absolute;
}

.header-text {
  padding-top: var(--cui-header-nav-link-padding-y);
  padding-bottom: var(--cui-header-nav-link-padding-y);
  color: var(--cui-header-color);
}
.header-text a {
  color: var(--cui-header-active-color);
}
.header-text a:hover, .header-text a:focus {
  color: var(--cui-header-active-color);
}

.header-toggler {
  padding: var(--cui-header-toggler-padding-y) var(--cui-header-toggler-padding-x);
  font-size: 1.25rem;
  color: var(--cui-header-toggler-color);
  background-color: var(--cui-header-toggler-bg);
  border: 0;
  border-radius: var(--cui-header-toggler-border-radius);
}
.header-toggler:hover {
  color: var(--cui-header-toggler-hover-color);
  text-decoration: none;
}
.header-toggler:focus {
  outline: 0;
}
.header-toggler:not(:disabled) {
  cursor: pointer;
}

.header-toggler-icon {
  display: block;
  height: 1.5625rem;
  background-image: var(--cui-header-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}
.header-toggler-icon:hover {
  background-image: var(--cui-header-toggler-hover-icon-bg);
}

.icon {
  display: inline-block;
  color: inherit;
  text-align: center;
  vertical-align: -0.125rem;
  fill: currentcolor;
}
.icon:not(.icon-c-s):not(.icon-custom-size) {
  width: 1rem;
  height: 1rem;
  font-size: 1rem;
}
.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl {
  width: 2rem;
  height: 2rem;
  font-size: 2rem;
}
.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl {
  width: 1.5rem;
  height: 1.5rem;
  font-size: 1.5rem;
}
.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg {
  width: 1.25rem;
  height: 1.25rem;
  font-size: 1.25rem;
}
.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm {
  width: 0.875rem;
  height: 0.875rem;
  font-size: 0.875rem;
}
.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl {
  width: 3rem;
  height: 3rem;
  font-size: 3rem;
}
.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl {
  width: 4rem;
  height: 4rem;
  font-size: 4rem;
}
.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl {
  width: 5rem;
  height: 5rem;
  font-size: 5rem;
}
.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl {
  width: 6rem;
  height: 6rem;
  font-size: 6rem;
}
.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl {
  width: 7rem;
  height: 7rem;
  font-size: 7rem;
}
.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl {
  width: 8rem;
  height: 8rem;
  font-size: 8rem;
}
.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl {
  width: 9rem;
  height: 9rem;
  font-size: 9rem;
}

.sidebar {
  --cui-sidebar-zindex: 1035;
  --cui-sidebar-width: 16rem;
  --cui-sidebar-bg: var(--cui-body-bg);
  --cui-sidebar-padding-x: 1rem;
  --cui-sidebar-padding-y: 1rem;
  --cui-sidebar-color: var(--cui-body-color);
  --cui-sidebar-brand-color: var(--cui-body-color);
  --cui-sidebar-brand-bg: rgba(8, 10, 12, 0.2);
  position: relative;
  display: flex;
  flex: 0 0 var(--cui-sidebar-width);
  flex-direction: column;
  order: -1;
  width: var(--cui-sidebar-width);
  color: var(--cui-sidebar-color);
  background: var(--cui-sidebar-bg);
  box-shadow: none;
  transition: margin-left 0.15s, margin-right 0.15s, box-shadow 0.075s, transform 0.15s, width 0.15s, z-index 0s ease 0.15s;
}
@media (prefers-reduced-motion: reduce) {
  .sidebar {
    transition: none;
  }
}
.sidebar:not(.sidebar-end) {
  margin-inline-start: 0;
}
.sidebar.sidebar-end {
  order: 99;
  margin-inline-end: 0;
}
@media (min-width: 992px) {
  .sidebar:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid):not(.sidebar-end) ~ * {
    --cui-sidebar-occupy-start: 16rem;
  }
  .sidebar:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid).sidebar-end ~ * {
    --cui-sidebar-occupy-end: 16rem;
  }
  .sidebar.hide:not(.sidebar-end) {
    margin-inline-start: calc(-1 * var(--cui-sidebar-width));
  }
  .sidebar.hide.sidebar-end {
    margin-inline-end: calc(-1 * var(--cui-sidebar-width));
  }
}
@media (max-width: 991.98px) {
  .sidebar {
    --cui-is-mobile: true;
    position: fixed;
    top: 0;
    bottom: 0;
    z-index: var(--cui-sidebar-zindex);
  }
  .sidebar:not(.sidebar-end) {
    inset-inline-start: 0;
  }
  .sidebar:not(.sidebar-end):not(.show) {
    margin-inline-start: calc(-1 * var(--cui-sidebar-width));
  }
  .sidebar.sidebar-end {
    inset-inline-end: 0;
  }
  .sidebar.sidebar-end:not(.show) {
    margin-inline-end: calc(-1 * var(--cui-sidebar-width));
  }
}

.sidebar-fixed, .sidebar-narrow-unfoldable, .sidebar-overlaid {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: var(--cui-sidebar-zindex);
}
.sidebar-fixed:not(.sidebar-end), .sidebar-narrow-unfoldable:not(.sidebar-end), .sidebar-overlaid:not(.sidebar-end) {
  inset-inline-start: 0;
}
.sidebar-fixed.sidebar-end, .sidebar-end.sidebar-narrow-unfoldable, .sidebar-end.sidebar-overlaid {
  inset-inline-end: 0;
}

.sidebar-overlaid {
  --cui-sidebar-overlaid-box-shadow: var(--cui-box-shadow);
}
.sidebar-overlaid:not(.sidebar-end) {
  margin-inline-start: calc(-1 * var(--cui-sidebar-width));
}
.sidebar-overlaid.sidebar-end {
  margin-inline-end: calc(-1 * var(--cui-sidebar-width));
}
.sidebar-overlaid.show {
  box-shadow: var(--cui-sidebar-overlaid-box-shadow);
}
.sidebar-overlaid.show:not(.sidebar-end) {
  margin-inline-start: 0;
}
.sidebar-overlaid.show.sidebar-end {
  margin-inline-end: 0;
}

.sidebar-sm {
  --cui-sidebar-width: 12rem;
}
@media (min-width: 992px) {
  .sidebar-sm:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid):not(.sidebar-end) ~ * {
    --cui-sidebar-occupy-start: 12rem;
  }
  .sidebar-sm:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid).sidebar-end ~ * {
    --cui-sidebar-occupy-end: 12rem;
  }
}

.sidebar-lg {
  --cui-sidebar-width: 20rem;
}
@media (min-width: 992px) {
  .sidebar-lg:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid):not(.sidebar-end) ~ * {
    --cui-sidebar-occupy-start: 20rem;
  }
  .sidebar-lg:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid).sidebar-end ~ * {
    --cui-sidebar-occupy-end: 20rem;
  }
}

.sidebar-xl {
  --cui-sidebar-width: 24rem;
}
@media (min-width: 992px) {
  .sidebar-xl:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid):not(.sidebar-end) ~ * {
    --cui-sidebar-occupy-start: 24rem;
  }
  .sidebar-xl:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid).sidebar-end ~ * {
    --cui-sidebar-occupy-end: 24rem;
  }
}

.sidebar-brand {
  color: var(--cui-sidebar-brand-color);
  white-space: nowrap;
}
.sidebar-brand .sidebar-brand-narrow {
  display: none;
}

.sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--cui-sidebar-padding-y) var(--cui-sidebar-padding-x);
}
.sidebar-header .btn-close {
  padding: calc(var(--cui-sidebar-padding-y) * 0.5) calc(var(--cui-sidebar-padding-x) * 0.5);
  margin-inline-end: calc(-0.5 * var(--cui-sidebar-padding-x));
  margin-top: calc(-0.5 * var(--cui-sidebar-padding-y));
  margin-bottom: calc(-0.5 * var(--cui-sidebar-padding-y));
}

.sidebar-body {
  padding: var(--cui-sidebar-padding-y) var(--cui-sidebar-padding-x);
}

.sidebar-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--cui-sidebar-padding-y) var(--cui-sidebar-padding-x);
}

.sidebar-toggler {
  --cui-sidebar-toggler-width: 0.5rem;
  --cui-sidebar-toggler-height: 0.5rem;
  --cui-sidebar-toggler-bg: transparent;
  --cui-sidebar-toggler-color: var(--cui-tertiary-color);
  --cui-sidebar-toggler-icon: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cg xmlns='http://www.w3.org/2000/svg' transform='matrix%28-1 0 0 -1 512 512%29'%3E%3Cpath fill='%23000' d='M472,16H40A24.028,24.028,0,0,0,16,40V200H48V48H464V464H48V304H16V472a24.028,24.028,0,0,0,24,24H472a24.028,24.028,0,0,0,24-24V40A24.028,24.028,0,0,0,472,16Z'/%3E%3Cpolygon fill='%23000' points='209.377 363.306 232.004 385.933 366.627 251.31 232.004 116.687 209.377 139.313 305.374 235.311 16 235.311 16 267.311 305.372 267.311 209.377 363.306'/%3E%3C/g%3E%3C/svg%3E");
  --cui-sidebar-toggler-hover-color: var(--cui-secondary-color);
  --cui-sidebar-toggler-focus-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);
  --cui-sidebar-toggler-focus-color: var(--cui-secondary-color);
  --cui-sidebar-toggler-transition: transform 0.15s;
  position: relative;
  box-sizing: content-box;
  width: var(--cui-sidebar-toggler-width);
  height: var(--cui-sidebar-toggler-height);
  padding: 0.25rem 0.25rem;
  background-color: var(--cui-sidebar-toggler-bg);
  border: 0;
  border-radius: 0.375rem;
}
.sidebar-toggler::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--cui-sidebar-toggler-color);
  mask: var(--cui-sidebar-toggler-icon) no-repeat center;
  transition: var(--cui-sidebar-toggler-transition);
}
@media (prefers-reduced-motion: reduce) {
  .sidebar-toggler::before {
    transition: none;
  }
}
.sidebar-toggler:hover {
  text-decoration: none;
}
.sidebar-toggler:hover::before {
  background-color: var(--cui-sidebar-toggler-hover-color);
}
.sidebar-toggler:focus {
  position: relative;
  outline: 0;
  box-shadow: var(--cui-sidebar-toggler-focus-shadow);
}
.sidebar-toggler:focus::before {
  background-color: var(--cui-sidebar-toggler-focus-color);
}
@media (max-width: 991.98px) {
  .sidebar-toggler {
    display: none;
  }
}

.sidebar-backdrop {
  --cui-backdrop-zindex: 1034;
  --cui-backdrop-bg: #080a0c;
  --cui-backdrop-opacity: 0.5;
}
@media (max-width: 991.98px) {
  .sidebar-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--cui-backdrop-zindex);
    width: 100vw;
    height: 100vh;
    background-color: var(--cui-backdrop-bg);
  }
  .sidebar-backdrop.fade {
    opacity: 0;
  }
  .sidebar-backdrop.show {
    opacity: var(--cui-backdrop-opacity);
  }
}

.sidebar-dark {
  --cui-body-color: rgba(255, 255, 255, 0.87);
  --cui-body-bg: #212631;
  --cui-emphasis-color: #fff;
  --cui-secondary-color: rgba(255, 255, 255, 0.6);
  --cui-secondary-bg: #323a49;
  --cui-tertiary-color: rgba(255, 255, 255, 0.38);
  --cui-tertiary-bg: rgb(41.5, 48, 61);
  --cui-border-color: #323a49;
}
.sidebar-dark .sidebar-toggler {
  filter: var(--cui-sidebar-toggler-white-filter);
}

.sidebar-nav {
  --cui-sidebar-nav-padding-x: 0.5rem;
  --cui-sidebar-nav-padding-y: 0.5rem;
  --cui-sidebar-nav-gap: 1px;
  --cui-sidebar-nav-title-padding-x: 1rem;
  --cui-sidebar-nav-title-padding-y: 0.75rem;
  --cui-sidebar-nav-title-margin-top: 1rem;
  --cui-sidebar-nav-title-color: var(--cui-tertiary-color);
  --cui-sidebar-nav-link-padding-x: 1rem;
  --cui-sidebar-nav-link-padding-y: 0.75rem;
  --cui-sidebar-nav-link-color: var(--cui-body-color);
  --cui-sidebar-nav-link-bg: transparent;
  --cui-sidebar-nav-link-border-color: transparent;
  --cui-sidebar-nav-link-border-radius: var(--cui-border-radius);
  --cui-sidebar-nav-link-border-width: 0;
  --cui-sidebar-nav-link-active-color: var(--cui-emphasis-color);
  --cui-sidebar-nav-link-active-bg: var(--cui-tertiary-bg);
  --cui-sidebar-nav-link-disabled-color: var(--cui-tertiary-color);
  --cui-sidebar-nav-link-hover-color: var(--cui-emphasis-color);
  --cui-sidebar-nav-link-hover-bg: var(--cui-tertiary-bg);
  --cui-sidebar-nav-link-icon-margin: 0.75rem;
  --cui-sidebar-nav-link-icon-color: var(--cui-tertiary-color);
  --cui-sidebar-nav-link-icon-width: 1.25rem;
  --cui-sidebar-nav-link-icon-height: 1.25rem;
  --cui-sidebar-nav-link-icon-font-size: 1.25rem;
  --cui-sidebar-nav-link-active-icon-color: var(--cui-emphasis-color);
  --cui-sidebar-nav-link-disabled-icon-color: var(--cui-tertiary-color);
  --cui-sidebar-nav-link-hover-icon-color: var(--cui-body-color);
  --cui-sidebar-nav-link-icon-bullet-size: 0.3125rem;
  --cui-sidebar-nav-link-icon-bullet-bg: transparent;
  --cui-sidebar-nav-link-icon-bullet-border-width: 1px;
  --cui-sidebar-nav-link-icon-bullet-border-radius: 50rem;
  --cui-sidebar-nav-link-icon-bullet-border-color: var(--cui-tertiary-color);
  --cui-sidebar-nav-link-active-icon-bullet-bg: transparent;
  --cui-sidebar-nav-link-active-icon-bullet-border-color: var(--cui-emphasis-color);
  --cui-sidebar-nav-link-disabled-icon-bullet-bg: transparent;
  --cui-sidebar-nav-link-disabled-icon-bullet-border-color: var(--cui-tertiary-color);
  --cui-sidebar-nav-link-hover-icon-bullet-bg: transparent;
  --cui-sidebar-nav-link-hover-icon-bullet-border-color: var(--cui-body-color);
  --cui-sidebar-nav-group-bg: transparent;
  --cui-sidebar-nav-group-border-width: 0;
  --cui-sidebar-nav-group-border-radius: var(--cui-border-radius);
  --cui-sidebar-nav-group-border-color: transparent;
  --cui-sidebar-nav-group-items-padding-y: 0;
  --cui-sidebar-nav-group-items-padding-x: 0;
  --cui-sidebar-nav-group-indicator-color: var(--cui-tertiary-color);
  --cui-sidebar-nav-group-indicator-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' d='M1.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-.708'/%3e%3c/svg%3e");
  --cui-sidebar-nav-group-indicator-hover-color: var(--cui-emphasis-color);
  --cui-sidebar-nav-group-indicator-hover-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' d='M1.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-.708'/%3e%3c/svg%3e");
  --cui-sidebar-nav-group-toggle-show-color: var(--cui-body-color);
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: var(--cui-sidebar-nav-padding-y) var(--cui-sidebar-nav-padding-x);
  margin-bottom: 0;
  overflow-x: hidden;
  overflow-y: auto;
  list-style: none;
}
.sidebar-nav .nav-item + .nav-item,
.sidebar-nav .nav-item + .nav-group,
.sidebar-nav .nav-group + .nav-item {
  margin-top: var(--cui-sidebar-nav-gap);
}
.sidebar-nav .nav-title {
  padding: var(--cui-sidebar-nav-title-padding-y) var(--cui-sidebar-nav-title-padding-x);
  margin-top: var(--cui-sidebar-nav-title-margin-top);
  font-size: 80%;
  font-weight: 700;
  color: var(--cui-sidebar-nav-title-color);
  text-transform: uppercase;
  transition: height 0.15s, margin 0.15s;
}
@media (prefers-reduced-motion: reduce) {
  .sidebar-nav .nav-title {
    transition: none;
  }
}
.sidebar-nav .nav-link {
  display: flex;
  flex: 1;
  align-items: center;
  padding: var(--cui-sidebar-nav-link-padding-y) var(--cui-sidebar-nav-link-padding-x);
  color: var(--cui-sidebar-nav-link-color);
  text-decoration: none;
  white-space: nowrap;
  background: var(--cui-sidebar-nav-link-bg);
  border: var(--cui-sidebar-nav-link-border-width) solid var(--cui-sidebar-nav-link-border-color);
  border-radius: var(--cui-sidebar-nav-link-border-radius);
  transition: background 0.15s ease, color 0.15s ease, gap 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .sidebar-nav .nav-link {
    transition: none;
  }
}
.sidebar-nav .nav-link.active {
  color: var(--cui-sidebar-nav-link-active-color);
  background: var(--cui-sidebar-nav-link-active-bg);
}
.sidebar-nav .nav-link.active .nav-icon {
  color: var(--cui-sidebar-nav-link-active-icon-color);
}
.sidebar-nav .nav-link.active .nav-icon-bullet {
  background: var(--cui-sidebar-link-active-icon-bullet-bg);
  border-color: var(--cui-sidebar-link-active-icon-bullet-border-color);
}
.sidebar-nav .nav-link.disabled {
  color: var(--cui-sidebar-nav-link-disabled-color);
  pointer-events: none;
  cursor: not-allowed;
  background: transparent;
}
.sidebar-nav .nav-link.disabled .nav-icon {
  color: var(--cui-sidebar-nav-link-disabled-icon-color);
}
.sidebar-nav .nav-link.disabled .nav-icon-bullet {
  background: var(--cui-sidebar-link-disabled-icon-bullet-bg);
  border-color: var(--cui-sidebar-link-disabled-icon-bullet-border-color);
}
.sidebar-nav .nav-link.disabled:hover {
  color: var(--cui-sidebar-nav-link-disabled-color);
}
.sidebar-nav .nav-link.disabled:hover .nav-icon {
  color: var(--cui-sidebar-nav-link-disabled-icon-color);
}
.sidebar-nav .nav-link.disabled:hover .nav-icon-bullet {
  background: var(--cui-sidebar-link-disabled-icon-bullet-bg);
  border-color: var(--cui-sidebar-link-disabled-icon-bullet-border-color);
}
.sidebar-nav .nav-link.disabled:hover.nav-dropdown-toggle::after {
  background-color: var(--cui-sidebar-nav-group-indicator-hover-color);
  mask-image: var(--cui-sidebar-nav-group-indicator-hover-icon);
}
@media (hover: hover), (-ms-high-contrast: none) {
  .sidebar-nav .nav-link:hover {
    color: var(--cui-sidebar-nav-link-hover-color);
    text-decoration: none;
    background: var(--cui-sidebar-nav-link-hover-bg);
  }
  .sidebar-nav .nav-link:hover .nav-icon {
    color: var(--cui-sidebar-nav-link-hover-icon-color);
  }
  .sidebar-nav .nav-link:hover .nav-icon-bullet {
    background: var(--cui-sidebar-link-hover-icon-bullet-bg);
    border-color: var(--cui-sidebar-link-hover-icon-bullet-border-color);
  }
  .sidebar-nav .nav-link:hover.nav-group-toggle::after {
    background-color: var(--cui-sidebar-nav-group-indicator-hover-color);
    mask-image: var(--cui-sidebar-nav-group-indicator-hover-icon);
  }
}
.sidebar-nav .nav-icon {
  display: flex;
  flex: 0 0 var(--cui-sidebar-nav-link-icon-width);
  align-items: center;
  justify-content: center;
  height: var(--cui-sidebar-nav-link-icon-height);
  margin-inline-end: var(--cui-sidebar-nav-link-icon-margin);
  font-size: var(--cui-sidebar-nav-link-icon-font-size);
  color: var(--cui-sidebar-nav-link-icon-color);
  text-align: center;
  pointer-events: none;
  fill: currentcolor;
  transition: inherit;
}
@media (prefers-reduced-motion: reduce) {
  .sidebar-nav .nav-icon {
    transition: none;
  }
}
.sidebar-nav .nav-icon-bullet {
  display: inline-block;
  width: var(--cui-sidebar-nav-link-icon-bullet-size);
  height: var(--cui-sidebar-nav-link-icon-bullet-size);
  background: var(--cui-sidebar-nav-link-icon-bullet-bg);
  border: var(--cui-sidebar-nav-link-icon-bullet-border-width) solid var(--cui-sidebar-nav-link-icon-bullet-border-color);
  border-radius: var(--cui-sidebar-nav-link-icon-bullet-border-radius);
}
.sidebar-nav svg.nav-icon {
  overflow: hidden;
}
.sidebar-nav .nav-group {
  position: relative;
  border: var(--cui-sidebar-nav-group-border-width) solid var(--cui-sidebar-nav-group-border-color);
  border-radius: var(--cui-sidebar-nav-group-border-radius);
  transition: background 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .sidebar-nav .nav-group {
    transition: none;
  }
}
.sidebar-nav .nav-group .nav-group-items {
  padding: var(--cui-sidebar-nav-group-items-padding-y) var(--cui-sidebar-nav-group-items-padding-x);
  overflow: hidden;
  transition: height 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .sidebar-nav .nav-group .nav-group-items {
    transition: none;
  }
}
.sidebar-nav .nav-group:not(.show) .nav-group-items {
  display: none;
}
.sidebar-nav .nav-group.show {
  background: var(--cui-sidebar-nav-group-bg);
}
.sidebar-nav .nav-group.show .nav-group-toggle {
  color: var(--cui-sidebar-nav-group-toggle-show-color);
}
.sidebar-nav .nav-group.show > .nav-group-toggle::after {
  transform: rotate(180deg);
}
.sidebar-nav .nav-group.show + .show {
  margin-top: var(--cui-sidebar-nav-gap);
}
.sidebar-nav .nav-group-toggle {
  cursor: pointer;
}
.sidebar-nav .nav-group-toggle::after {
  display: block;
  flex: 0 12px;
  height: 12px;
  margin-inline-start: auto;
  content: "";
  background-color: var(--cui-sidebar-nav-group-indicator-color);
  mask-image: var(--cui-sidebar-nav-group-indicator-icon);
  transition: transform 0.15s;
}
@media (prefers-reduced-motion: reduce) {
  .sidebar-nav .nav-group-toggle::after {
    transition: none;
  }
}
.sidebar-nav .nav-group-items {
  padding: 0;
  list-style: none;
}
.sidebar-nav .nav-group-items .nav-link {
  padding-inline-start: calc(var(--cui-sidebar-nav-link-padding-x) + var(--cui-sidebar-nav-link-icon-width) + var(--cui-sidebar-nav-link-icon-margin));
}
.sidebar-nav .nav-group-items .nav-icon {
  margin-inline-start: calc(-1 * (var(--cui-sidebar-nav-link-icon-width) + var(--cui-sidebar-nav-link-icon-margin)));
}
.sidebar-nav.compact .nav-link,
.sidebar-nav .compact .nav-link {
  --cui-sidebar-nav-link-padding-y: 0.5625rem;
}

.sidebar-narrow, .sidebar-narrow-unfoldable:not(:hover) {
  --cui-sidebar-narrow-width: 4rem;
}
@media (min-width: 992px) {
  .sidebar-narrow, .sidebar-narrow-unfoldable:not(:hover) {
    flex: 0 0 var(--cui-sidebar-narrow-width);
    width: var(--cui-sidebar-narrow-width);
    padding-bottom: var(--cui-sidebar-toggler-height);
    overflow: visible;
  }
  .sidebar-narrow .sidebar-brand-full, .sidebar-narrow-unfoldable:not(:hover) .sidebar-brand-full {
    display: none;
  }
  .sidebar-narrow .sidebar-brand-narrow, .sidebar-narrow-unfoldable:not(:hover) .sidebar-brand-narrow {
    display: block;
  }
  .sidebar-narrow .sidebar-header, .sidebar-narrow-unfoldable:not(:hover) .sidebar-header {
    justify-content: center;
    padding-right: 0;
    padding-left: 0;
  }
  .sidebar-narrow .sidebar-nav, .sidebar-narrow-unfoldable:not(:hover) .sidebar-nav {
    --cui-sidebar-nav-link-padding-x: 0.5rem;
    --cui-sidebar-nav-link-padding-y: 0.75rem;
  }
  .sidebar-narrow .nav-link, .sidebar-narrow-unfoldable:not(:hover) .nav-link {
    overflow: hidden;
  }
  .sidebar-narrow .nav-icon, .sidebar-narrow-unfoldable:not(:hover) .nav-icon {
    flex: 0 0 calc(var(--cui-sidebar-narrow-width) - var(--cui-sidebar-nav-padding-x) * 2 - var(--cui-sidebar-nav-link-padding-x) * 2);
  }
  .sidebar-narrow .d-narrow-none, .sidebar-narrow-unfoldable:not(:hover) .d-narrow-none,
  .sidebar-narrow .nav-label,
  .sidebar-narrow-unfoldable:not(:hover) .nav-label,
  .sidebar-narrow .nav-title,
  .sidebar-narrow-unfoldable:not(:hover) .nav-title,
  .sidebar-narrow .nav-group-items,
  .sidebar-narrow-unfoldable:not(:hover) .nav-group-items,
  .sidebar-narrow .nav-group.show .nav-group-items,
  .sidebar-narrow .sidebar-form,
  .sidebar-narrow-unfoldable:not(:hover) .sidebar-form {
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    visibility: hidden;
    opacity: 0;
  }
  .sidebar-narrow .sidebar-toggler::before, .sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler::before {
    transform: rotate(-180deg);
  }
  .sidebar-narrow.sidebar-end .sidebar-toggler::before, .sidebar-end.sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler::before {
    transform: rotate(0deg);
  }
}

.sidebar-narrow-unfoldable {
  --cui-sidebar-narrow-unfoldable-box-shadow: var(--cui-box-shadow);
}
.sidebar-narrow-unfoldable:hover {
  box-shadow: var(--cui-sidebar-narrow-unfoldable-box-shadow);
  box-shadow: 0 0.5rem 1rem rgba(8, 10, 12, 0.15);
}
.sidebar-narrow-unfoldable:hover .sidebar-toggler::before {
  transform: rotate(-180deg);
}
.sidebar-narrow-unfoldable:hover.sidebar-end .sidebar-toggler::before {
  transform: rotate(0deg);
}

@media (min-width: 992px) {
  .sidebar-narrow:not(.sidebar-end):not(.hide) ~ *,
  .sidebar-narrow-unfoldable:not(.sidebar-end):not(.hide) ~ * {
    --cui-sidebar-occupy-start: 4rem;
  }
  .sidebar-narrow.sidebar-end:not(.hide) ~ *,
  .sidebar-narrow-unfoldable.sidebar-end:not(.hide) ~ * {
    --cui-sidebar-occupy-end: 4rem;
  }
}

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

.text-bg-primary {
  color: #fff !important;
  background-color: rgba(var(--cui-primary-rgb), var(--cui-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #fff !important;
  background-color: rgba(var(--cui-secondary-rgb), var(--cui-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #080a0c !important;
  background-color: rgba(var(--cui-success-rgb), var(--cui-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #080a0c !important;
  background-color: rgba(var(--cui-info-rgb), var(--cui-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #080a0c !important;
  background-color: rgba(var(--cui-warning-rgb), var(--cui-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #080a0c !important;
  background-color: rgba(var(--cui-danger-rgb), var(--cui-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #080a0c !important;
  background-color: rgba(var(--cui-light-rgb), var(--cui-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #fff !important;
  background-color: rgba(var(--cui-dark-rgb), var(--cui-bg-opacity, 1)) !important;
}

[data-coreui-theme=dark] .text-bg-primary {
  color: #fff !important;
  background-color: rgba(94.2, 92.4, 207.6, var(--cui-bg-opacity, 1)) !important;
}
[data-coreui-theme=dark] .text-bg-secondary {
  color: #fff !important;
  background-color: rgba(107, 119, 133, var(--cui-bg-opacity, 1)) !important;
}
[data-coreui-theme=dark] .text-bg-success {
  color: #080a0c !important;
  background-color: rgba(33.55, 151.45, 65.05, var(--cui-bg-opacity, 1)) !important;
}
[data-coreui-theme=dark] .text-bg-info {
  color: #080a0c !important;
  background-color: rgba(61.2, 153, 244.8, var(--cui-bg-opacity, 1)) !important;
}
[data-coreui-theme=dark] .text-bg-warning {
  color: #080a0c !important;
  background-color: rgba(237.6, 172.8, 32.4, var(--cui-bg-opacity, 1)) !important;
}
[data-coreui-theme=dark] .text-bg-danger {
  color: #080a0c !important;
  background-color: rgba(221.7, 90.3, 90.3, var(--cui-bg-opacity, 1)) !important;
}
[data-coreui-theme=dark] .text-bg-light {
  color: #080a0c !important;
  background-color: rgba(243, 244, 247, var(--cui-bg-opacity, 1)) !important;
}
[data-coreui-theme=dark] .text-bg-dark {
  color: #fff !important;
  background-color: rgba(33, 38, 49, var(--cui-bg-opacity, 1)) !important;
}

.link-primary {
  color: rgba(var(--cui-primary-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-primary-rgb), var(--cui-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: rgba(70.4, 68.8, 171.2, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(70.4, 68.8, 171.2, var(--cui-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: rgba(var(--cui-secondary-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-secondary-rgb), var(--cui-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: rgba(85.6, 95.2, 106.4, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(85.6, 95.2, 106.4, var(--cui-link-underline-opacity, 1)) !important;
}

.link-success {
  color: rgba(var(--cui-success-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-success-rgb), var(--cui-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: rgba(72.6, 177.4, 100.6, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(72.6, 177.4, 100.6, var(--cui-link-underline-opacity, 1)) !important;
}

.link-info {
  color: rgba(var(--cui-info-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-info-rgb), var(--cui-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: rgba(91.8, 173.4, 255, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(91.8, 173.4, 255, var(--cui-link-underline-opacity, 1)) !important;
}

.link-warning {
  color: rgba(var(--cui-warning-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-warning-rgb), var(--cui-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: rgba(250.2, 192.6, 67.8, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(250.2, 192.6, 67.8, var(--cui-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: rgba(var(--cui-danger-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-danger-rgb), var(--cui-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: rgba(234.2, 117.4, 117.4, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(234.2, 117.4, 117.4, var(--cui-link-underline-opacity, 1)) !important;
}

.link-light {
  color: rgba(var(--cui-light-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-light-rgb), var(--cui-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: rgba(245.4, 246.2, 248.6, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(245.4, 246.2, 248.6, var(--cui-link-underline-opacity, 1)) !important;
}

.link-dark {
  color: rgba(var(--cui-dark-rgb), var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--cui-dark-rgb), var(--cui-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: rgba(26.4, 30.4, 39.2, var(--cui-link-opacity, 1)) !important;
  text-decoration-color: rgba(26.4, 30.4, 39.2, var(--cui-link-underline-opacity, 1)) !important;
}

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

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

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--cui-link-color-rgb), var(--cui-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(--cui-icon-link-transform, translate3d(0.25em, 0, 0));
}

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

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

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

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

.ratio-21x9 {
  --cui-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: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .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;
}
.visually-hidden *,
.visually-hidden-focusable:not(:focus):not(:focus-within) * {
  overflow: hidden !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(--cui-border-width);
  min-height: 1em;
  padding: 0;
  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: inline-start !important;
}

.float-end {
  float: inline-end !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(--cui-box-shadow) !important;
}

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

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

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

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

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

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

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

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

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

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

.focus-ring-dark {
  --cui-focus-ring-color: rgba(var(--cui-dark-rgb), var(--cui-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 {
  inset-inline-start: 0 !important;
}

.start-50 {
  inset-inline-start: 50% !important;
}

.start-100 {
  inset-inline-start: 100% !important;
}

.end-0 {
  inset-inline-end: 0 !important;
}

.end-50 {
  inset-inline-end: 50% !important;
}

.end-100 {
  inset-inline-end: 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(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.border-top-primary {
  border-top-color: #5856d6 !important;
}

.border-top-secondary {
  border-top-color: #6b7785 !important;
}

.border-top-success {
  border-top-color: #1b9e3e !important;
}

.border-top-info {
  border-top-color: #39f !important;
}

.border-top-warning {
  border-top-color: #f9b115 !important;
}

.border-top-danger {
  border-top-color: #e55353 !important;
}

.border-top-light {
  border-top-color: #f3f4f7 !important;
}

.border-top-dark {
  border-top-color: #212631 !important;
}

.border-top-white {
  border-top-color: #fff !important;
}

.border-end-primary {
  border-inline-end-color: #5856d6 !important;
}

.border-end-secondary {
  border-inline-end-color: #6b7785 !important;
}

.border-end-success {
  border-inline-end-color: #1b9e3e !important;
}

.border-end-info {
  border-inline-end-color: #39f !important;
}

.border-end-warning {
  border-inline-end-color: #f9b115 !important;
}

.border-end-danger {
  border-inline-end-color: #e55353 !important;
}

.border-end-light {
  border-inline-end-color: #f3f4f7 !important;
}

.border-end-dark {
  border-inline-end-color: #212631 !important;
}

.border-end-white {
  border-inline-end-color: #fff !important;
}

.border-bottom-primary {
  border-bottom-color: #5856d6 !important;
}

.border-bottom-secondary {
  border-bottom-color: #6b7785 !important;
}

.border-bottom-success {
  border-bottom-color: #1b9e3e !important;
}

.border-bottom-info {
  border-bottom-color: #39f !important;
}

.border-bottom-warning {
  border-bottom-color: #f9b115 !important;
}

.border-bottom-danger {
  border-bottom-color: #e55353 !important;
}

.border-bottom-light {
  border-bottom-color: #f3f4f7 !important;
}

.border-bottom-dark {
  border-bottom-color: #212631 !important;
}

.border-bottom-white {
  border-bottom-color: #fff !important;
}

.border-start-primary {
  border-inline-start-color: #5856d6 !important;
}

.border-start-secondary {
  border-inline-start-color: #6b7785 !important;
}

.border-start-success {
  border-inline-start-color: #1b9e3e !important;
}

.border-start-info {
  border-inline-start-color: #39f !important;
}

.border-start-warning {
  border-inline-start-color: #f9b115 !important;
}

.border-start-danger {
  border-inline-start-color: #e55353 !important;
}

.border-start-light {
  border-inline-start-color: #f3f4f7 !important;
}

.border-start-dark {
  border-inline-start-color: #212631 !important;
}

.border-start-white {
  border-inline-start-color: #fff !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-top-1 {
  border-top-width: 1px !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.border-opacity-100 {
  --cui-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: 0.25rem !important;
}

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

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

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

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

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

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

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !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: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

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

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

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

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

.me-0 {
  margin-inline-end: 0 !important;
}

.me-1 {
  margin-inline-end: 0.25rem !important;
}

.me-2 {
  margin-inline-end: 0.5rem !important;
}

.me-3 {
  margin-inline-end: 1rem !important;
}

.me-4 {
  margin-inline-end: 1.5rem !important;
}

.me-5 {
  margin-inline-end: 3rem !important;
}

.me-auto {
  margin-inline-end: auto !important;
}

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

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

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

.ms-0 {
  margin-inline-start: 0 !important;
}

.ms-1 {
  margin-inline-start: 0.25rem !important;
}

.ms-2 {
  margin-inline-start: 0.5rem !important;
}

.ms-3 {
  margin-inline-start: 1rem !important;
}

.ms-4 {
  margin-inline-start: 1.5rem !important;
}

.ms-5 {
  margin-inline-start: 3rem !important;
}

.ms-auto {
  margin-inline-start: auto !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

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

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pe-0 {
  padding-inline-end: 0 !important;
}

.pe-1 {
  padding-inline-end: 0.25rem !important;
}

.pe-2 {
  padding-inline-end: 0.5rem !important;
}

.pe-3 {
  padding-inline-end: 1rem !important;
}

.pe-4 {
  padding-inline-end: 1.5rem !important;
}

.pe-5 {
  padding-inline-end: 3rem !important;
}

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

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.ps-0 {
  padding-inline-start: 0 !important;
}

.ps-1 {
  padding-inline-start: 0.25rem !important;
}

.ps-2 {
  padding-inline-start: 0.5rem !important;
}

.ps-3 {
  padding-inline-start: 1rem !important;
}

.ps-4 {
  padding-inline-start: 1.5rem !important;
}

.ps-5 {
  padding-inline-start: 3rem !important;
}

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

.gap-1 {
  gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 1rem !important;
}

.gap-4 {
  gap: 1.5rem !important;
}

.gap-5 {
  gap: 3rem !important;
}

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

.row-gap-1 {
  row-gap: 0.25rem !important;
}

.row-gap-2 {
  row-gap: 0.5rem !important;
}

.row-gap-3 {
  row-gap: 1rem !important;
}

.row-gap-4 {
  row-gap: 1.5rem !important;
}

.row-gap-5 {
  row-gap: 3rem !important;
}

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

.column-gap-1 {
  column-gap: 0.25rem !important;
}

.column-gap-2 {
  column-gap: 0.5rem !important;
}

.column-gap-3 {
  column-gap: 1rem !important;
}

.column-gap-4 {
  column-gap: 1.5rem !important;
}

.column-gap-5 {
  column-gap: 3rem !important;
}

.font-monospace {
  font-family: var(--cui-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.5 !important;
}

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

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

.text-end {
  text-align: end !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 */
[data-coreui-theme=dark] .dark\:text-primary, [data-coreui-theme=dark] .dark\:text-primary:not([class*="dark:"]),
.text-primary {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-primary-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-secondary, [data-coreui-theme=dark] .dark\:text-secondary:not([class*="dark:"]),
.text-secondary {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-secondary-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-success, [data-coreui-theme=dark] .dark\:text-success:not([class*="dark:"]),
.text-success {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-success-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-info, [data-coreui-theme=dark] .dark\:text-info:not([class*="dark:"]),
.text-info {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-info-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-warning, [data-coreui-theme=dark] .dark\:text-warning:not([class*="dark:"]),
.text-warning {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-warning-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-danger, [data-coreui-theme=dark] .dark\:text-danger:not([class*="dark:"]),
.text-danger {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-danger-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-light, [data-coreui-theme=dark] .dark\:text-light:not([class*="dark:"]),
.text-light {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-light-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-dark, [data-coreui-theme=dark] .dark\:text-dark:not([class*="dark:"]),
.text-dark {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-dark-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-black, [data-coreui-theme=dark] .dark\:text-black:not([class*="dark:"]),
.text-black {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-black-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-white, [data-coreui-theme=dark] .dark\:text-white:not([class*="dark:"]),
.text-white {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-white-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-body, [data-coreui-theme=dark] .dark\:text-body:not([class*="dark:"]),
.text-body {
  --cui-text-opacity: 1;
  color: rgba(var(--cui-body-color-rgb), var(--cui-text-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:text-muted, [data-coreui-theme=dark] .dark\:text-muted:not([class*="dark:"]),
.text-muted {
  --cui-text-opacity: 1;
  color: var(--cui-secondary-color) !important;
}

[data-coreui-theme=dark] .dark\:text-black-50, [data-coreui-theme=dark] .dark\:text-black-50:not([class*="dark:"]),
.text-black-50 {
  --cui-text-opacity: 1;
  color: rgba(8, 10, 12, 0.5) !important;
}

[data-coreui-theme=dark] .dark\:text-white-50, [data-coreui-theme=dark] .dark\:text-white-50:not([class*="dark:"]),
.text-white-50 {
  --cui-text-opacity: 1;
  color: rgba(255, 255, 255, 0.5) !important;
}

[data-coreui-theme=dark] .dark\:text-body-secondary, [data-coreui-theme=dark] .dark\:text-body-secondary:not([class*="dark:"]),
.text-body-secondary {
  --cui-text-opacity: 1;
  color: var(--cui-secondary-color) !important;
}

[data-coreui-theme=dark] .dark\:text-body-tertiary, [data-coreui-theme=dark] .dark\:text-body-tertiary:not([class*="dark:"]),
.text-body-tertiary {
  --cui-text-opacity: 1;
  color: var(--cui-tertiary-color) !important;
}

[data-coreui-theme=dark] .dark\:text-body-emphasis, [data-coreui-theme=dark] .dark\:text-body-emphasis:not([class*="dark:"]),
.text-body-emphasis {
  --cui-text-opacity: 1;
  color: var(--cui-emphasis-color) !important;
}

[data-coreui-theme=dark] .dark\:text-reset, [data-coreui-theme=dark] .dark\:text-reset:not([class*="dark:"]),
.text-reset {
  --cui-text-opacity: 1;
  color: inherit !important;
}

[data-coreui-theme=dark] .dark\:text-high-emphasis-inverse, [data-coreui-theme=dark] .dark\:text-high-emphasis-inverse:not([class*="dark:"]),
.text-high-emphasis-inverse {
  --cui-text-opacity: 1;
  color: var(--cui-high-emphasis-inverse) !important;
}

[data-coreui-theme=dark] .dark\:text-medium-emphasis-inverse, [data-coreui-theme=dark] .dark\:text-medium-emphasis-inverse:not([class*="dark:"]),
.text-medium-emphasis-inverse {
  --cui-text-opacity: 1;
  color: var(--cui-medium-emphasis-inverse) !important;
}

[data-coreui-theme=dark] .dark\:text-disabled-inverse, [data-coreui-theme=dark] .dark\:text-disabled-inverse:not([class*="dark:"]),
.text-disabled-inverse {
  --cui-text-opacity: 1;
  color: var(--cui-disabled-inverse) !important;
}

[data-coreui-theme=dark] .dark\:text-high-emphasis, [data-coreui-theme=dark] .dark\:text-high-emphasis:not([class*="dark:"]),
.text-high-emphasis {
  --cui-text-opacity: 1;
  color: var(--cui-high-emphasis) !important;
}

[data-coreui-theme=dark] .dark\:text-medium-emphasis, [data-coreui-theme=dark] .dark\:text-medium-emphasis:not([class*="dark:"]),
.text-medium-emphasis {
  --cui-text-opacity: 1;
  color: var(--cui-medium-emphasis) !important;
}

[data-coreui-theme=dark] .dark\:text-disabled, [data-coreui-theme=dark] .dark\:text-disabled:not([class*="dark:"]),
.text-disabled {
  --cui-text-opacity: 1;
  color: var(--cui-disabled) !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.link-opacity-100-hover:hover {
  --cui-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 {
  --cui-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--cui-primary-rgb), var(--cui-link-underline-opacity)) !important;
}

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

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

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

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

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

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

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

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

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

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

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

.link-underline-opacity-10-hover:hover {
  --cui-link-underline-opacity: 0.1;
}

.link-underline-opacity-25 {
  --cui-link-underline-opacity: 0.25;
}

.link-underline-opacity-25-hover:hover {
  --cui-link-underline-opacity: 0.25;
}

.link-underline-opacity-50 {
  --cui-link-underline-opacity: 0.5;
}

.link-underline-opacity-50-hover:hover {
  --cui-link-underline-opacity: 0.5;
}

.link-underline-opacity-75 {
  --cui-link-underline-opacity: 0.75;
}

.link-underline-opacity-75-hover:hover {
  --cui-link-underline-opacity: 0.75;
}

.link-underline-opacity-100 {
  --cui-link-underline-opacity: 1;
}

.link-underline-opacity-100-hover:hover {
  --cui-link-underline-opacity: 1;
}

[data-coreui-theme=dark] .dark\:bg-primary, [data-coreui-theme=dark] .dark\:bg-primary:not([class*="dark:"]),
.bg-primary {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-primary-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-secondary, [data-coreui-theme=dark] .dark\:bg-secondary:not([class*="dark:"]),
.bg-secondary {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-secondary-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-success, [data-coreui-theme=dark] .dark\:bg-success:not([class*="dark:"]),
.bg-success {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-success-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-info, [data-coreui-theme=dark] .dark\:bg-info:not([class*="dark:"]),
.bg-info {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-info-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-warning, [data-coreui-theme=dark] .dark\:bg-warning:not([class*="dark:"]),
.bg-warning {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-warning-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-danger, [data-coreui-theme=dark] .dark\:bg-danger:not([class*="dark:"]),
.bg-danger {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-danger-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-light, [data-coreui-theme=dark] .dark\:bg-light:not([class*="dark:"]),
.bg-light {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-light-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-dark, [data-coreui-theme=dark] .dark\:bg-dark:not([class*="dark:"]),
.bg-dark {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-dark-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-black, [data-coreui-theme=dark] .dark\:bg-black:not([class*="dark:"]),
.bg-black {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-black-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-white, [data-coreui-theme=dark] .dark\:bg-white:not([class*="dark:"]),
.bg-white {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-white-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-body, [data-coreui-theme=dark] .dark\:bg-body:not([class*="dark:"]),
.bg-body {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-body-bg-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-transparent, [data-coreui-theme=dark] .dark\:bg-transparent:not([class*="dark:"]),
.bg-transparent {
  --cui-bg-opacity: 1;
  background-color: transparent !important;
}

[data-coreui-theme=dark] .dark\:bg-body-secondary, [data-coreui-theme=dark] .dark\:bg-body-secondary:not([class*="dark:"]),
.bg-body-secondary {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-secondary-bg-rgb), var(--cui-bg-opacity)) !important;
}

[data-coreui-theme=dark] .dark\:bg-body-tertiary, [data-coreui-theme=dark] .dark\:bg-body-tertiary:not([class*="dark:"]),
.bg-body-tertiary {
  --cui-bg-opacity: 1;
  background-color: rgba(var(--cui-tertiary-bg-rgb), var(--cui-bg-opacity)) !important;
}

.bg-opacity-10 {
  --cui-bg-opacity: 0.1;
}

.bg-opacity-25 {
  --cui-bg-opacity: 0.25;
}

.bg-opacity-50 {
  --cui-bg-opacity: 0.5;
}

.bg-opacity-75 {
  --cui-bg-opacity: 0.75;
}

.bg-opacity-100 {
  --cui-bg-opacity: 1;
}

[data-coreui-theme=dark] .dark\:bg-primary-subtle, [data-coreui-theme=dark] .dark\:bg-primary-subtle:not([class*="dark:"]),
.bg-primary-subtle {
  background-color: var(--cui-primary-bg-subtle) !important;
}

[data-coreui-theme=dark] .dark\:bg-secondary-subtle, [data-coreui-theme=dark] .dark\:bg-secondary-subtle:not([class*="dark:"]),
.bg-secondary-subtle {
  background-color: var(--cui-secondary-bg-subtle) !important;
}

[data-coreui-theme=dark] .dark\:bg-success-subtle, [data-coreui-theme=dark] .dark\:bg-success-subtle:not([class*="dark:"]),
.bg-success-subtle {
  background-color: var(--cui-success-bg-subtle) !important;
}

[data-coreui-theme=dark] .dark\:bg-info-subtle, [data-coreui-theme=dark] .dark\:bg-info-subtle:not([class*="dark:"]),
.bg-info-subtle {
  background-color: var(--cui-info-bg-subtle) !important;
}

[data-coreui-theme=dark] .dark\:bg-warning-subtle, [data-coreui-theme=dark] .dark\:bg-warning-subtle:not([class*="dark:"]),
.bg-warning-subtle {
  background-color: var(--cui-warning-bg-subtle) !important;
}

[data-coreui-theme=dark] .dark\:bg-danger-subtle, [data-coreui-theme=dark] .dark\:bg-danger-subtle:not([class*="dark:"]),
.bg-danger-subtle {
  background-color: var(--cui-danger-bg-subtle) !important;
}

[data-coreui-theme=dark] .dark\:bg-light-subtle, [data-coreui-theme=dark] .dark\:bg-light-subtle:not([class*="dark:"]),
.bg-light-subtle {
  background-color: var(--cui-light-bg-subtle) !important;
}

[data-coreui-theme=dark] .dark\:bg-dark-subtle, [data-coreui-theme=dark] .dark\:bg-dark-subtle:not([class*="dark:"]),
.bg-dark-subtle {
  background-color: var(--cui-dark-bg-subtle) !important;
}

.bg-gradient {
  background-image: var(--cui-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(--cui-border-radius) !important;
}

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

.rounded-1 {
  border-radius: var(--cui-border-radius-sm) !important;
}

.rounded-2 {
  border-radius: var(--cui-border-radius) !important;
}

.rounded-3 {
  border-radius: var(--cui-border-radius-lg) !important;
}

.rounded-4 {
  border-radius: var(--cui-border-radius-xl) !important;
}

.rounded-5 {
  border-radius: var(--cui-border-radius-xxl) !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: var(--cui-border-radius-pill) !important;
}

.rounded-top {
  border-top-left-radius: var(--cui-border-radius) !important;
  border-top-right-radius: var(--cui-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(--cui-border-radius-sm) !important;
  border-top-right-radius: var(--cui-border-radius-sm) !important;
}

.rounded-top-2 {
  border-top-left-radius: var(--cui-border-radius) !important;
  border-top-right-radius: var(--cui-border-radius) !important;
}

.rounded-top-3 {
  border-top-left-radius: var(--cui-border-radius-lg) !important;
  border-top-right-radius: var(--cui-border-radius-lg) !important;
}

.rounded-top-4 {
  border-top-left-radius: var(--cui-border-radius-xl) !important;
  border-top-right-radius: var(--cui-border-radius-xl) !important;
}

.rounded-top-5 {
  border-top-left-radius: var(--cui-border-radius-xxl) !important;
  border-top-right-radius: var(--cui-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(--cui-border-radius-pill) !important;
  border-top-right-radius: var(--cui-border-radius-pill) !important;
}

.rounded-end {
  border-start-end-radius: var(--cui-border-radius) !important;
  border-end-end-radius: var(--cui-border-radius) !important;
}

.rounded-end-0 {
  border-start-end-radius: 0 !important;
  border-end-end-radius: 0 !important;
}

.rounded-end-1 {
  border-start-end-radius: var(--cui-border-radius-sm) !important;
  border-end-end-radius: var(--cui-border-radius-sm) !important;
}

.rounded-end-2 {
  border-start-end-radius: var(--cui-border-radius) !important;
  border-end-end-radius: var(--cui-border-radius) !important;
}

.rounded-end-3 {
  border-start-end-radius: var(--cui-border-radius-lg) !important;
  border-end-end-radius: var(--cui-border-radius-lg) !important;
}

.rounded-end-4 {
  border-start-end-radius: var(--cui-border-radius-xl) !important;
  border-end-end-radius: var(--cui-border-radius-xl) !important;
}

.rounded-end-5 {
  border-start-end-radius: var(--cui-border-radius-xxl) !important;
  border-end-end-radius: var(--cui-border-radius-xxl) !important;
}

.rounded-end-circle {
  border-start-end-radius: 50% !important;
  border-end-end-radius: 50% !important;
}

.rounded-end-pill {
  border-start-end-radius: var(--cui-border-radius-pill) !important;
  border-end-end-radius: var(--cui-border-radius-pill) !important;
}

.rounded-bottom {
  border-bottom-right-radius: var(--cui-border-radius) !important;
  border-bottom-left-radius: var(--cui-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(--cui-border-radius-sm) !important;
  border-bottom-left-radius: var(--cui-border-radius-sm) !important;
}

.rounded-bottom-2 {
  border-bottom-right-radius: var(--cui-border-radius) !important;
  border-bottom-left-radius: var(--cui-border-radius) !important;
}

.rounded-bottom-3 {
  border-bottom-right-radius: var(--cui-border-radius-lg) !important;
  border-bottom-left-radius: var(--cui-border-radius-lg) !important;
}

.rounded-bottom-4 {
  border-bottom-right-radius: var(--cui-border-radius-xl) !important;
  border-bottom-left-radius: var(--cui-border-radius-xl) !important;
}

.rounded-bottom-5 {
  border-bottom-right-radius: var(--cui-border-radius-xxl) !important;
  border-bottom-left-radius: var(--cui-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(--cui-border-radius-pill) !important;
  border-bottom-left-radius: var(--cui-border-radius-pill) !important;
}

.rounded-start {
  border-end-start-radius: var(--cui-border-radius) !important;
  border-start-start-radius: var(--cui-border-radius) !important;
}

.rounded-start-0 {
  border-end-start-radius: 0 !important;
  border-start-start-radius: 0 !important;
}

.rounded-start-1 {
  border-end-start-radius: var(--cui-border-radius-sm) !important;
  border-start-start-radius: var(--cui-border-radius-sm) !important;
}

.rounded-start-2 {
  border-end-start-radius: var(--cui-border-radius) !important;
  border-start-start-radius: var(--cui-border-radius) !important;
}

.rounded-start-3 {
  border-end-start-radius: var(--cui-border-radius-lg) !important;
  border-start-start-radius: var(--cui-border-radius-lg) !important;
}

.rounded-start-4 {
  border-end-start-radius: var(--cui-border-radius-xl) !important;
  border-start-start-radius: var(--cui-border-radius-xl) !important;
}

.rounded-start-5 {
  border-end-start-radius: var(--cui-border-radius-xxl) !important;
  border-start-start-radius: var(--cui-border-radius-xxl) !important;
}

.rounded-start-circle {
  border-end-start-radius: 50% !important;
  border-start-start-radius: 50% !important;
}

.rounded-start-pill {
  border-end-start-radius: var(--cui-border-radius-pill) !important;
  border-start-start-radius: var(--cui-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: inline-start !important;
  }
  .float-sm-end {
    float: inline-end !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: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !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: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-inline-end: 0 !important;
  }
  .me-sm-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-sm-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-sm-3 {
    margin-inline-end: 1rem !important;
  }
  .me-sm-4 {
    margin-inline-end: 1.5rem !important;
  }
  .me-sm-5 {
    margin-inline-end: 3rem !important;
  }
  .me-sm-auto {
    margin-inline-end: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-inline-start: 0 !important;
  }
  .ms-sm-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-inline-start: 1rem !important;
  }
  .ms-sm-4 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-inline-start: 3rem !important;
  }
  .ms-sm-auto {
    margin-inline-start: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-inline-end: 0 !important;
  }
  .pe-sm-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-inline-end: 1rem !important;
  }
  .pe-sm-4 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-inline-end: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-inline-start: 0 !important;
  }
  .ps-sm-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-inline-start: 1rem !important;
  }
  .ps-sm-4 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-inline-start: 3rem !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 0.25rem !important;
  }
  .gap-sm-2 {
    gap: 0.5rem !important;
  }
  .gap-sm-3 {
    gap: 1rem !important;
  }
  .gap-sm-4 {
    gap: 1.5rem !important;
  }
  .gap-sm-5 {
    gap: 3rem !important;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-sm-3 {
    row-gap: 1rem !important;
  }
  .row-gap-sm-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-sm-5 {
    row-gap: 3rem !important;
  }
  .column-gap-sm-0 {
    column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-sm-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    column-gap: 1rem !important;
  }
  .column-gap-sm-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-sm-5 {
    column-gap: 3rem !important;
  }
  .text-sm-start {
    text-align: start !important;
  }
  .text-sm-end {
    text-align: end !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: inline-start !important;
  }
  .float-md-end {
    float: inline-end !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: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !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: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-inline-end: 0 !important;
  }
  .me-md-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-md-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-md-3 {
    margin-inline-end: 1rem !important;
  }
  .me-md-4 {
    margin-inline-end: 1.5rem !important;
  }
  .me-md-5 {
    margin-inline-end: 3rem !important;
  }
  .me-md-auto {
    margin-inline-end: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-inline-start: 0 !important;
  }
  .ms-md-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-md-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-md-3 {
    margin-inline-start: 1rem !important;
  }
  .ms-md-4 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-md-5 {
    margin-inline-start: 3rem !important;
  }
  .ms-md-auto {
    margin-inline-start: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-inline-end: 0 !important;
  }
  .pe-md-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-md-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-md-3 {
    padding-inline-end: 1rem !important;
  }
  .pe-md-4 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-md-5 {
    padding-inline-end: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-inline-start: 0 !important;
  }
  .ps-md-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-md-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-md-3 {
    padding-inline-start: 1rem !important;
  }
  .ps-md-4 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-md-5 {
    padding-inline-start: 3rem !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 0.25rem !important;
  }
  .gap-md-2 {
    gap: 0.5rem !important;
  }
  .gap-md-3 {
    gap: 1rem !important;
  }
  .gap-md-4 {
    gap: 1.5rem !important;
  }
  .gap-md-5 {
    gap: 3rem !important;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-md-3 {
    row-gap: 1rem !important;
  }
  .row-gap-md-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-md-5 {
    row-gap: 3rem !important;
  }
  .column-gap-md-0 {
    column-gap: 0 !important;
  }
  .column-gap-md-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-md-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    column-gap: 1rem !important;
  }
  .column-gap-md-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-md-5 {
    column-gap: 3rem !important;
  }
  .text-md-start {
    text-align: start !important;
  }
  .text-md-end {
    text-align: end !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: inline-start !important;
  }
  .float-lg-end {
    float: inline-end !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: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !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: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-inline-end: 0 !important;
  }
  .me-lg-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-lg-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-lg-3 {
    margin-inline-end: 1rem !important;
  }
  .me-lg-4 {
    margin-inline-end: 1.5rem !important;
  }
  .me-lg-5 {
    margin-inline-end: 3rem !important;
  }
  .me-lg-auto {
    margin-inline-end: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-inline-start: 0 !important;
  }
  .ms-lg-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-inline-start: 1rem !important;
  }
  .ms-lg-4 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-inline-start: 3rem !important;
  }
  .ms-lg-auto {
    margin-inline-start: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-inline-end: 0 !important;
  }
  .pe-lg-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-inline-end: 1rem !important;
  }
  .pe-lg-4 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-inline-end: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-inline-start: 0 !important;
  }
  .ps-lg-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-inline-start: 1rem !important;
  }
  .ps-lg-4 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-inline-start: 3rem !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 0.25rem !important;
  }
  .gap-lg-2 {
    gap: 0.5rem !important;
  }
  .gap-lg-3 {
    gap: 1rem !important;
  }
  .gap-lg-4 {
    gap: 1.5rem !important;
  }
  .gap-lg-5 {
    gap: 3rem !important;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-lg-3 {
    row-gap: 1rem !important;
  }
  .row-gap-lg-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-lg-5 {
    row-gap: 3rem !important;
  }
  .column-gap-lg-0 {
    column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-lg-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    column-gap: 1rem !important;
  }
  .column-gap-lg-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-lg-5 {
    column-gap: 3rem !important;
  }
  .text-lg-start {
    text-align: start !important;
  }
  .text-lg-end {
    text-align: end !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: inline-start !important;
  }
  .float-xl-end {
    float: inline-end !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: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !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: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-inline-end: 0 !important;
  }
  .me-xl-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-xl-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-xl-3 {
    margin-inline-end: 1rem !important;
  }
  .me-xl-4 {
    margin-inline-end: 1.5rem !important;
  }
  .me-xl-5 {
    margin-inline-end: 3rem !important;
  }
  .me-xl-auto {
    margin-inline-end: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-inline-start: 0 !important;
  }
  .ms-xl-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-inline-start: 1rem !important;
  }
  .ms-xl-4 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-inline-start: 3rem !important;
  }
  .ms-xl-auto {
    margin-inline-start: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-inline-end: 0 !important;
  }
  .pe-xl-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-inline-end: 1rem !important;
  }
  .pe-xl-4 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-inline-end: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-inline-start: 0 !important;
  }
  .ps-xl-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-inline-start: 1rem !important;
  }
  .ps-xl-4 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-inline-start: 3rem !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 0.25rem !important;
  }
  .gap-xl-2 {
    gap: 0.5rem !important;
  }
  .gap-xl-3 {
    gap: 1rem !important;
  }
  .gap-xl-4 {
    gap: 1.5rem !important;
  }
  .gap-xl-5 {
    gap: 3rem !important;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    column-gap: 1rem !important;
  }
  .column-gap-xl-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xl-5 {
    column-gap: 3rem !important;
  }
  .text-xl-start {
    text-align: start !important;
  }
  .text-xl-end {
    text-align: end !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: inline-start !important;
  }
  .float-xxl-end {
    float: inline-end !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: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !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: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-inline-end: 0 !important;
  }
  .me-xxl-1 {
    margin-inline-end: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-inline-end: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-inline-end: 1rem !important;
  }
  .me-xxl-4 {
    margin-inline-end: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-inline-end: 3rem !important;
  }
  .me-xxl-auto {
    margin-inline-end: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-inline-start: 0 !important;
  }
  .ms-xxl-1 {
    margin-inline-start: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-inline-start: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-inline-start: 1rem !important;
  }
  .ms-xxl-4 {
    margin-inline-start: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-inline-start: 3rem !important;
  }
  .ms-xxl-auto {
    margin-inline-start: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-inline-end: 0 !important;
  }
  .pe-xxl-1 {
    padding-inline-end: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-inline-end: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-inline-end: 1rem !important;
  }
  .pe-xxl-4 {
    padding-inline-end: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-inline-end: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-inline-start: 0 !important;
  }
  .ps-xxl-1 {
    padding-inline-start: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-inline-start: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-inline-start: 1rem !important;
  }
  .ps-xxl-4 {
    padding-inline-start: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-inline-start: 3rem !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .gap-xxl-3 {
    gap: 1rem !important;
  }
  .gap-xxl-4 {
    gap: 1.5rem !important;
  }
  .gap-xxl-5 {
    gap: 3rem !important;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xxl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xxl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xxl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xxl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    column-gap: 0.25rem !important;
  }
  .column-gap-xxl-2 {
    column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    column-gap: 1rem !important;
  }
  .column-gap-xxl-4 {
    column-gap: 1.5rem !important;
  }
  .column-gap-xxl-5 {
    column-gap: 3rem !important;
  }
  .text-xxl-start {
    text-align: start !important;
  }
  .text-xxl-end {
    text-align: end !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;
  }
}
.simplebar-content {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

body {
  background-color: var(--cui-tertiary-bg);
}

.wrapper {
  width: 100%;
  padding-inline: var(--cui-sidebar-occupy-start, 0) var(--cui-sidebar-occupy-end, 0);
  will-change: auto;
  transition: padding 0.15s;
}
@media (prefers-reduced-motion: reduce) {
  .wrapper {
    transition: none;
  }
}

.header > .container-fluid,
.sidebar-header {
  min-height: calc(4rem + 1px);
}

.sidebar-brand-full {
  margin-left: 3px;
}

.sidebar-header .nav-underline-border {
  --cui-nav-underline-border-link-padding-x: 1rem;
  --cui-nav-underline-border-gap: 0;
}
.sidebar-header .nav-link {
  display: flex;
  align-items: center;
  min-height: calc(4rem + 1px);
}

.sidebar-toggler {
  margin-inline-start: auto;
}

.sidebar-narrow .sidebar-toggler,
.sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler {
  margin-inline-end: auto;
}

.header > .container-fluid + .container-fluid {
  min-height: 3rem;
}

.footer {
  min-height: calc(3rem + 1px);
}

[data-coreui-theme=dark] body {
  background-color: var(--cui-dark-bg-subtle);
}
[data-coreui-theme=dark] .footer {
  --cui-footer-bg: var(--cui-body-bg);
}

/* stylelint-disable property-disallowed-list */
:root {
  --cui-body-bg: #f5f6f8;
  --cui-primary: #009ac4;
  --cui-primary-rgb: 0, 154, 196;
  --cui-secondary: #7c7c7c;
  --cui-secondary-rgb: 124, 124, 124;
  --cui-info: #009ac4;
  --cui-info-rgb: 0, 154, 196;
  --crystal-primary: #009ac4;
  --crystal-dark: #006f8e;
  --crystal-darker: #004e64;
  --crystal-light: #e6f7fc;
  --crystal-sidebar-bg: #004e64;
  --crystal-gray: #7c7c7c;
}

body {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #333;
}

.btn-primary {
  --cui-btn-bg: var(--crystal-primary);
  --cui-btn-border-color: var(--crystal-primary);
  --cui-btn-color: #fff;
  --cui-btn-hover-bg: var(--crystal-dark);
  --cui-btn-hover-border-color: var(--crystal-dark);
  --cui-btn-hover-color: #fff;
  --cui-btn-active-bg: var(--crystal-darker);
  --cui-btn-active-border-color: var(--crystal-darker);
  box-shadow: 0 2px 6px rgba(0, 154, 196, 0.25);
  transition: all 0.2s ease-in-out;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.btn-primary:hover {
  box-shadow: 0 4px 10px rgba(0, 154, 196, 0.35);
  transform: translateY(-1px);
}

.btn-info {
  --cui-btn-bg: var(--crystal-primary);
  --cui-btn-border-color: var(--crystal-primary);
  --cui-btn-color: #fff;
  --cui-btn-hover-bg: var(--crystal-dark);
  --cui-btn-hover-border-color: var(--crystal-dark);
  --cui-btn-hover-color: #fff;
}

.btn-outline-primary {
  --cui-btn-color: var(--crystal-primary);
  --cui-btn-border-color: var(--crystal-primary);
  --cui-btn-hover-bg: var(--crystal-primary);
  --cui-btn-hover-border-color: var(--crystal-primary);
  --cui-btn-hover-color: #fff;
}

.header {
  color: #fff;
  background: var(--crystal-primary) !important;
  border-bottom: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.header .nav-link {
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9) !important;
  transition: all 0.2s;
}
.header .nav-link:hover, .header .nav-link.active {
  color: #fff !important;
  background-color: rgba(255, 255, 255, 0.15);
  border-radius: 0.375rem;
}
.header .header-brand {
  color: #fff !important;
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: 0.03em;
}
.header .header-toggler {
  color: #fff;
  border: none;
  transition: background-color 0.2s;
}
.header .header-toggler:hover {
  background-color: rgba(255, 255, 255, 0.15);
}
.header .header-toggler .icon {
  filter: brightness(0) invert(1);
}
.header .breadcrumb {
  --cui-breadcrumb-divider-color: rgba(255, 255, 255, .6);
  margin-bottom: 0;
}
.header .breadcrumb-item {
  color: rgba(255, 255, 255, 0.75);
}
.header .breadcrumb-item.active {
  font-weight: 600;
  color: #fff;
}
.header .breadcrumb-item a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
}
.header .breadcrumb-item a:hover {
  color: #fff;
  text-decoration: underline;
}

.sidebar {
  --cui-sidebar-bg: var(--crystal-sidebar-bg);
  --cui-sidebar-brand-color: #fff;
  --cui-sidebar-color: rgba(255, 255, 255, .85);
  --cui-sidebar-nav-link-active-bg: rgba(255, 255, 255, .12);
  --cui-sidebar-nav-link-color: rgba(255, 255, 255, .8);
  --cui-sidebar-nav-link-hover-color: #fff;
  --cui-sidebar-nav-title-color: rgba(255, 255, 255, .45);
  border-right: none !important;
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15);
}
.sidebar .nav-link {
  border-left: 3px solid transparent;
  transition: all 0.18s ease;
  border-radius: 0 0.5rem 0.5rem 0;
  margin-right: 0.5rem;
}
.sidebar .nav-link:hover {
  background-color: rgba(255, 255, 255, 0.1);
  border-left-color: rgba(255, 255, 255, 0.4);
  color: #fff;
}
.sidebar .nav-link.active {
  color: #fff !important;
  background-color: rgba(255, 255, 255, 0.15);
  border-left-color: #fff;
  font-weight: 600;
}
.sidebar .nav-title {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.sidebar .nav-icon {
  color: rgba(255, 255, 255, 0.7);
}

.sidebar-brand {
  background-color: var(--crystal-darker) !important;
  padding: 0.15rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.sidebar-brand a {
  display: block;
  width: 100%;
  text-align: center;
}
.sidebar-brand img {
  width: 100%;
  max-width: 256px;
  height: auto;
  object-fit: contain;
  display: block;
}

.sidebar-narrow-unfoldable:not(:hover) .sidebar-brand img {
  display: none;
}

.card {
  border: none;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  border-radius: 0.625rem;
}

.card-header {
  background-color: #fff;
  border-bottom: 2px solid var(--crystal-light);
  font-weight: 600;
  color: #333;
}

.card-accent-primary {
  border-top: 3px solid var(--crystal-primary) !important;
}

.table thead th {
  background-color: var(--crystal-light);
  color: var(--crystal-darker);
  font-weight: 700;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 2px solid #c8e8f4;
}

.table-hover tbody tr:hover {
  background-color: rgba(0, 154, 196, 0.04);
}

.badge {
  font-weight: 600;
  letter-spacing: 0.02em;
}

.badge.bg-primary {
  background-color: var(--crystal-primary) !important;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--crystal-primary);
  box-shadow: 0 0 0 0.2rem rgba(0, 154, 196, 0.2);
}

.input-group-text {
  background-color: var(--crystal-light);
  border-color: #ced4da;
  color: var(--crystal-dark);
}

.app-login-page {
  display: flex;
  min-height: 100vh;
  overflow: hidden;
}

.login-left-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 380px;
  min-width: 340px;
  max-width: 420px;
  padding: 3rem 2.5rem;
  background: #fff;
  z-index: 1;
  box-shadow: 2px 0 16px rgba(0, 0, 0, 0.08);
}

.login-right-panel {
  flex: 1;
  background-image: url("assets/img/background-pro.jpg");
  background-size: cover;
  background-position: center;
}

.login-logo-area {
  margin-bottom: 2.5rem;
  width: 100%;
}

.login-logo-tagline {
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--crystal-primary);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 0.15rem;
}

.login-logo-brand {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--crystal-primary);
  font-style: normal;
  line-height: 1;
  margin-bottom: 0.15rem;
  font-family: "Dancing Script", Georgia, "Times New Roman", serif;
}

.login-logo-subtitle {
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--crystal-primary);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.login-form-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--crystal-primary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 1.5rem;
}

.login-form-wrapper {
  width: 100%;
}

.login-form-wrapper .form-control {
  border-radius: 0.25rem;
  border-color: #ccc;
  font-size: 0.95rem;
  padding: 0.6rem 0.8rem;
}
.login-form-wrapper .form-control:focus {
  border-color: var(--crystal-primary);
  box-shadow: 0 0 0 0.15rem rgba(0, 154, 196, 0.2);
}

.login-form-wrapper .btn-login {
  width: 100%;
  background-color: var(--crystal-primary);
  border: none;
  color: #fff;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 0.7rem;
  border-radius: 0.25rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: background-color 0.2s;
  margin-top: 0.5rem;
}
.login-form-wrapper .btn-login:hover {
  background-color: var(--crystal-dark);
}

.login-form-wrapper .btn-forgot {
  background: none;
  border: none;
  color: var(--crystal-primary);
  font-size: 0.85rem;
  padding: 0;
  cursor: pointer;
  margin-top: 0.75rem;
  display: block;
  text-align: left;
}
.login-form-wrapper .btn-forgot:hover {
  text-decoration: underline;
  color: var(--crystal-dark);
}

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

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

.bg-crystal-primary {
  background-color: var(--crystal-primary) !important;
}

.bg-crystal-light {
  background-color: var(--crystal-light) !important;
}

.footer {
  background-color: #fff;
  border-top: 1px solid #e8eaed;
  font-size: 0.8rem;
  color: var(--crystal-gray);
}

.body.flex-grow-1 {
  min-height: calc(100vh - 120px);
}

.page-link {
  color: var(--crystal-primary);
}
.page-link:hover {
  color: var(--crystal-dark);
}

.page-item.active .page-link {
  background-color: var(--crystal-primary);
  border-color: var(--crystal-primary);
}

a {
  color: var(--crystal-primary);
}
a:hover {
  color: var(--crystal-dark);
}

.progress-bar {
  background-color: var(--crystal-primary);
}

.dashboard-kpi-card {
  border-radius: 0.75rem;
  border: none;
  color: #fff;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.dashboard-kpi-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.18);
}

.quick-action-card {
  border-radius: 0.625rem;
  border: 1px solid rgba(0, 154, 196, 0.12);
  background: #fff;
  transition: all 0.2s ease;
  cursor: pointer;
  text-align: center;
  padding: 1.1rem 0.5rem;
}
.quick-action-card:hover {
  border-color: #009ac4;
  background: rgba(0, 154, 196, 0.04);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 154, 196, 0.12);
}
.quick-action-card .icon {
  width: 28px;
  height: 28px;
  color: #009ac4;
}
.quick-action-card .label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #333;
  margin-top: 0.4rem;
}

.ia-feed-item {
  display: flex;
  gap: 0.75rem;
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.ia-feed-item:last-child {
  border-bottom: none;
}
.ia-feed-item .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-top: 6px;
  flex-shrink: 0;
}
.ia-feed-item .dot-success {
  background: #2eb85c;
}
.ia-feed-item .dot-danger {
  background: #e55353;
}
.ia-feed-item .dot-info {
  background: #3399ff;
}
.ia-feed-item .dot-warning {
  background: #f9b115;
}

.pending-action-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--crystal-light);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s ease, transform 0.2s ease;
}
.pending-action-icon:hover {
  background: rgba(0, 154, 196, 0.15);
  transform: scale(1.08);
}

.kpi-number {
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}

.clause-badge-sm {
  font-size: 0.65rem !important;
  padding: 2px 6px !important;
  line-height: 1.3;
}

.clause-row-hover {
  transition: background-color 0.15s ease;
}
.clause-row-hover:hover {
  background-color: rgba(0, 154, 196, 0.06) !important;
}

.clause-detail-section {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.clause-detail-section .card-title {
  color: var(--crystal-dark);
  font-weight: 700;
}

.clause-text-display {
  font-size: 0.88rem;
  line-height: 1.65;
  color: #2c3e50;
  padding: 0.75rem 1rem;
  background: rgba(0, 154, 196, 0.03);
  border-radius: 0.375rem;
  white-space: pre-wrap;
  word-break: break-word;
}

.clause-timeline-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-top: 4px;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06);
}

.evidence-trend-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease;
}
.evidence-trend-dot:hover {
  transform: scale(1.3);
}

.chart-filter-active {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.75rem;
  border-radius: 0.375rem;
  background: rgba(0, 154, 196, 0.08);
  border: 1px solid rgba(0, 154, 196, 0.2);
  font-size: 0.8rem;
  color: var(--crystal-dark);
}
.chart-filter-active .btn-clear {
  background: none;
  border: none;
  color: var(--crystal-primary);
  cursor: pointer;
  font-size: 0.75rem;
  padding: 0 0.25rem;
  margin-left: 0.25rem;
  border-radius: 0.25rem;
  transition: background 0.15s;
}
.chart-filter-active .btn-clear:hover {
  background: rgba(0, 154, 196, 0.15);
  color: var(--crystal-darker);
}

.module-chart-card {
  border: 1px solid rgba(0, 154, 196, 0.12);
  border-radius: 0.5rem;
  background: #fff;
  padding: 1rem;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.module-chart-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.module-chart-card canvas {
  max-height: 200px;
}

.module-stat-card {
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 0.5rem;
  background: #fff;
  padding: 0.75rem 1rem;
  transition: border-color 0.15s;
}
.module-stat-card:hover {
  border-color: var(--crystal-primary);
}

.stat-value {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.2;
}

.stat-icon-circle {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.neg-row-border {
  border-left: 3px solid var(--crystal-primary);
  border-radius: 0.25rem;
  padding: 0.5rem 0.75rem;
  margin-bottom: 0.5rem;
  background: #fff;
  transition: background 0.15s;
}
.neg-row-border:hover {
  background: var(--crystal-light);
}
.neg-row-border.border-success {
  border-left-color: #2eb85c;
}
.neg-row-border.border-warning {
  border-left-color: #f9b115;
}
.neg-row-border.border-danger {
  border-left-color: #e55353;
}
.neg-row-border.border-info {
  border-left-color: #3399ff;
}

.clause-version-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.65rem;
  padding: 0.15rem 0.4rem;
  border-radius: 0.25rem;
  background: rgba(0, 154, 196, 0.1);
  color: var(--crystal-dark);
}

.config-row {
  transition: background-color 0.15s ease;
}
.config-row:hover {
  background-color: rgba(0, 154, 196, 0.04) !important;
}
.config-row.table-active {
  background-color: rgba(0, 154, 196, 0.06) !important;
}

.config-detail-row td {
  padding: 0 !important;
  background: #fcfdfe;
}

.config-detail-panel {
  border-left: 3px solid var(--crystal-primary);
  padding: 1rem 1.25rem;
  margin: 0;
  animation: slideDown 0.2s ease;
}
.config-detail-panel .detail-group {
  margin-bottom: 0.6rem;
}
.config-detail-panel .detail-group:last-child {
  margin-bottom: 0;
}
.config-detail-panel .detail-label {
  font-size: 0.65rem;
  font-weight: 700;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.1rem;
}
.config-detail-panel .detail-value {
  font-size: 0.85rem;
  color: #333;
}

@keyframes slideDown {
  from {
    opacity: 0;
    max-height: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    max-height: 600px;
    transform: translateY(0);
  }
}
.holding-related-item {
  padding: 0.5rem 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 0.375rem;
  margin-bottom: 0.375rem;
  transition: border-color 0.15s, background 0.15s;
}
.holding-related-item:hover {
  border-color: var(--crystal-primary);
  background: var(--crystal-light);
}

.row.g-saas {
  --cui-gutter-x: 1.5rem;
  --cui-gutter-y: 1.5rem;
}

.section-gap {
  margin-bottom: 2rem;
}

.kpi-hero {
  font-size: 2.5rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}

.kpi-secondary .stat-value {
  font-size: 1.25rem;
}

.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 0.375rem;
}

@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.skeleton-text {
  height: 1rem;
  margin-bottom: 0.5rem;
}

.skeleton-chart {
  height: 200px;
}

.skeleton-card {
  height: 80px;
  border-radius: 0.625rem;
}

.kpi-skeleton {
  height: 120px;
  border-radius: 0.75rem;
}

.auto-fade-in {
  animation: fadeInUp 0.3s ease-out both;
}

.stagger-fade > * {
  animation: fadeInUp 0.35s ease-out both;
}

.stagger-fade > *:nth-child(1) {
  animation-delay: 0s;
}

.stagger-fade > *:nth-child(2) {
  animation-delay: 0.06s;
}

.stagger-fade > *:nth-child(3) {
  animation-delay: 0.12s;
}

.stagger-fade > *:nth-child(4) {
  animation-delay: 0.18s;
}

.stagger-fade > *:nth-child(5) {
  animation-delay: 0.24s;
}

.stagger-fade > *:nth-child(6) {
  animation-delay: 0.3s;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.card-lift {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card-lift:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

.badge-pulse {
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}
.apexcharts-tooltip {
  font-family: inherit !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
}

.apexcharts-legend-text {
  font-size: 0.8rem !important;
  color: #555 !important;
}

.apexcharts-datalabel-label {
  font-weight: 600;
}

.apexcharts-radialbar-track.apexcharts-track path {
  stroke: #f0f3f5;
}

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

.gridjs-wrapper {
  border: none;
  border-radius: 0.625rem;
  box-shadow: none;
  overflow-x: auto;
}

.gridjs-th:first-child,
.gridjs-td:first-child {
  position: sticky !important;
  left: 0 !important;
  z-index: 2 !important;
  background: #fff;
  box-shadow: 2px 0 4px -2px rgba(0, 0, 0, 0.1);
}

.gridjs-th:first-child {
  background: var(--crystal-light) !important;
}

.gridjs-td:first-child {
  background: #fff !important;
}

.gridjs-tr:hover .gridjs-td:first-child {
  background: #f5fbfd !important;
}

.gridjs-table {
  width: 100% !important;
}

.gridjs-th {
  background: var(--crystal-light) !important;
  color: var(--crystal-darker) !important;
  font-weight: 700;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 2px solid #c8e8f4 !important;
}

.gridjs-td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  font-size: 0.875rem;
}

.gridjs-tr:hover .gridjs-td {
  background: rgba(0, 154, 196, 0.04);
}

.gridjs-footer {
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: none;
  box-shadow: none;
}

.gridjs-pagination .gridjs-currentPage {
  background: var(--crystal-primary) !important;
  color: #fff;
  font-weight: 600;
}
.gridjs-pagination .gridjs-pages button {
  border-radius: 0.375rem;
  transition: all 0.15s;
}
.gridjs-pagination .gridjs-pages button:hover {
  background: var(--crystal-light);
  color: var(--crystal-primary);
}

.gridjs-search-input {
  border: 1px solid #ced4da;
  border-radius: 0.375rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
}
.gridjs-search-input:focus {
  border-color: var(--crystal-primary);
  box-shadow: 0 0 0 0.2rem rgba(0, 154, 196, 0.2);
  outline: none;
}

.gridjs-head {
  margin-bottom: 0.75rem;
}

.gridjs-notfound {
  text-align: center;
  padding: 2rem;
  color: #888;
}

.ts-wrapper .ts-control {
  border-color: #ced4da;
  border-radius: 0.375rem;
  min-height: calc(1.5em + 0.75rem + 2px);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ts-wrapper .ts-control:focus, .ts-wrapper .ts-control.focus {
  border-color: var(--crystal-primary);
  box-shadow: 0 0 0 0.2rem rgba(0, 154, 196, 0.2);
}
.ts-wrapper.single .ts-control {
  padding-right: 2rem;
}

.ts-dropdown {
  border-color: #ced4da;
  border-radius: 0.375rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  z-index: 1060;
}
.ts-dropdown .active {
  background: var(--crystal-primary);
  color: #fff;
}
.ts-dropdown .option {
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  background-color: #fff;
}
.ts-dropdown .option:hover {
  background-color: #f0f7fb;
}

.swal-crystal {
  border-radius: 12px;
  font-family: inherit;
}

.swal2-popup .swal2-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #333;
}

.swal2-popup .swal2-html-container {
  font-size: 0.9rem;
  color: #555;
}

.tippy-box[data-theme~=crystal] {
  background: var(--crystal-darker);
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.01em;
}
.tippy-box[data-theme~=crystal] .tippy-arrow {
  color: var(--crystal-darker);
}
.tippy-box[data-theme~=crystal] .tippy-content {
  padding: 0.4rem 0.65rem;
}

.doc-para {
  padding: 5px 10px;
  border-radius: 4px;
  margin-bottom: 2px;
  cursor: default;
  transition: background 0.15s ease;
}
.doc-para[data-has-suggestion] {
  background: #fff3cd;
  border-left: 3px solid #ffc107;
  padding-left: 12px;
  cursor: pointer;
}
.doc-para[data-has-suggestion]:hover {
  background: #ffe69c;
}
.doc-para.active-suggestion {
  background: rgba(111, 66, 193, 0.1);
  box-shadow: inset 3px 0 0 #6f42c1;
}

.doc-heading {
  color: var(--crystal-darker);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  padding-bottom: 6px;
  margin-top: 1.2rem;
}

#docTocList .nav-link {
  font-size: 0.76rem;
  padding: 4px 12px;
  color: #495057;
  border-radius: 4px;
}
#docTocList .nav-link:hover {
  background: rgba(0, 154, 196, 0.08);
  color: var(--crystal-primary);
}
#docTocList .nav-link.active {
  color: var(--crystal-primary);
  font-weight: 600;
  background: rgba(0, 154, 196, 0.1);
}

.doc-table {
  font-size: 0.85rem;
}

.risk-badge {
  font-size: 0.58rem;
  padding: 1px 5px;
  border-radius: 8px;
  font-weight: 600;
}

.risk-high {
  background: #f8d7da;
  color: #842029;
}

.risk-medium {
  background: #fff3cd;
  color: #664d03;
}

.viewer-sug-card {
  padding: 8px;
  border-radius: 6px;
  border: 1px solid rgba(111, 66, 193, 0.15);
  background: rgba(111, 66, 193, 0.03);
  margin-bottom: 8px;
  font-size: 0.78rem;
  transition: box-shadow 0.15s;
}
.viewer-sug-card.active {
  box-shadow: 0 0 0 2px rgba(111, 66, 193, 0.3);
  border-color: #6f42c1;
}

.btn-ai-batch-active {
  background: linear-gradient(135deg, #6f42c1, #9b59b6) !important;
  box-shadow: 0 0 0 3px rgba(155, 89, 182, 0.25);
}

html[data-coreui-theme=dark] {
  --cui-body-bg: #f5f6f8 !important;
  --cui-body-color: #333 !important;
  --cui-card-bg: #fff !important;
  --cui-card-color: #333 !important;
  --cui-tertiary-bg: #f5f6f8 !important;
  --cui-body-bg-rgb: 245, 246, 248 !important;
  --cui-emphasis-color: #333 !important;
  --cui-border-color: #d8dbe0 !important;
  --cui-secondary-color: #7c7c7c !important;
  --cui-dark-bg-subtle: #f5f6f8 !important;
  --cui-secondary-bg: #e9ecef !important;
  --cui-tertiary-color: rgba(51, 51, 51, .5) !important;
  color: #333 !important;
  background-color: #f5f6f8 !important;
  color-scheme: light !important;
}
html[data-coreui-theme=dark] body {
  background-color: #f5f6f8 !important;
  color: #333 !important;
}
html[data-coreui-theme=dark] .card {
  --cui-card-bg: #fff !important;
  --cui-card-color: #333 !important;
}
html[data-coreui-theme=dark] .form-control,
html[data-coreui-theme=dark] .form-select {
  background-color: #fff !important;
  color: #333 !important;
  border-color: #d8dbe0 !important;
}
html[data-coreui-theme=dark] .modal-content {
  background-color: #fff !important;
  color: #333 !important;
}
html[data-coreui-theme=dark] .dropdown-menu {
  background-color: #fff !important;
  color: #333 !important;
}
html[data-coreui-theme=dark] .table {
  --cui-table-bg: transparent !important;
  --cui-table-color: #333 !important;
}
html[data-coreui-theme=dark] h1, html[data-coreui-theme=dark] h2, html[data-coreui-theme=dark] h3, html[data-coreui-theme=dark] h4, html[data-coreui-theme=dark] h5, html[data-coreui-theme=dark] h6 {
  color: #333 !important;
}
html[data-coreui-theme=dark] .input-group-text {
  background-color: #e9ecef !important;
  color: #333 !important;
  border-color: #d8dbe0 !important;
}

/* =========================
   TABLETS (≤768px)
   ========================= */
@media (max-width: 768px) {
  .app-login-page {
    flex-direction: column !important;
  }
  .login-left-panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 2rem 1.5rem !important;
  }
  .login-right-panel {
    display: none !important;
  }
  .login-logo-area img {
    max-width: 220px !important;
  }
  .header .header-brand {
    min-width: 0 !important;
    font-size: 1rem !important;
  }
  #dashTabs {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  #dashTabs::-webkit-scrollbar {
    display: none;
  }
  #dashTabs .nav-link {
    white-space: nowrap;
    font-size: 0.85rem;
    padding: 0.4rem 0.75rem;
  }
  .kpi-hero {
    font-size: 2rem !important;
  }
  .quick-action-card {
    padding: 0.75rem !important;
  }
  .quick-action-card .icon {
    width: 24px;
    height: 24px;
  }
  .gridjs-td {
    padding: 0.5rem 0.65rem;
    font-size: 0.8rem;
  }
  .gridjs-th {
    font-size: 0.75rem;
  }
  #ajustesTabs {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  #ajustesTabs::-webkit-scrollbar {
    display: none;
  }
  #ajustesTabs .nav-link {
    white-space: nowrap;
    font-size: 0.8rem;
    padding: 0.35rem 0.7rem;
  }
  .card-body .row.g-2 > [class*=col-auto] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .card-body input[style*=min-width] {
    min-width: 0 !important;
    width: 100% !important;
  }
  .card-body .row.g-2 > .col-auto.ms-auto {
    margin-left: 0 !important;
  }
  #pane-adoc .card-header .d-flex.gap-2 {
    flex-wrap: wrap;
  }
  #pane-adoc .card-header .d-flex.gap-2 select {
    width: 100% !important;
  }
  #pane-notif .row.g-4 > [class*=col-md] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .module-chart-card [style*="min-height:200px"],
  .module-chart-card [style*="min-height: 200px"] {
    min-height: 160px !important;
  }
}
/* =========================
   MOBILE (≤576px)
   ========================= */
@media (max-width: 576px) {
  .container-lg.px-4 {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  .header > .container-fluid.px-4 {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  .login-left-panel {
    padding: 1.5rem 1rem !important;
  }
  .login-form-title {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
  .login-logo-brand {
    font-size: 1.8rem;
  }
  .footer {
    font-size: 0.75rem;
    padding: 0.5rem;
  }
  #ajustesTabs .nav-link {
    font-size: 0.75rem;
    padding: 0.3rem 0.6rem;
  }
  .module-stat-card {
    gap: 0.5rem !important;
  }
  .module-stat-card .stat-icon-circle {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px;
  }
  .card-body select[style*="width:auto"],
  .card-body select[style*=min-width] {
    width: 100% !important;
    min-width: 0 !important;
  }
}
/* =========================
   SMALL MOBILE (≤375px)
   ========================= */
@media (max-width: 375px) {
  .header .header-brand {
    font-size: 0.85rem !important;
    letter-spacing: 0 !important;
  }
  .login-left-panel {
    padding: 1.25rem 0.75rem !important;
  }
  .login-logo-area img {
    max-width: 180px !important;
  }
  .kpi-hero {
    font-size: 1.6rem !important;
  }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19iYW5uZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19yb290LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19jb2xvci1tb2RlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fcmVib290LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL190eXBlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9faW1hZ2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2ltYWdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fY29udGFpbmVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19jb250YWluZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL190YWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fdGFibGUtdmFyaWFudHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2Zvcm1zL19sYWJlbHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2Zvcm1zL19mb3JtLXRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2Zvcm1zL19mb3JtLWNvbnRyb2wuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2Zvcm1zL19mb3JtLXNlbGVjdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19sdHItcnRsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9mb3Jtcy9fZm9ybS1jaGVjay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvZm9ybXMvX2Zvcm0tcmFuZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2Zvcm1zL19mbG9hdGluZy1sYWJlbHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2J1dHRvbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19uYXYuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19uYXZiYXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19jYXJkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2JhZGdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fYWxlcnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19wcm9ncmVzcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19jbG9zZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX3RvYXN0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX21vZGFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2JhY2tkcm9wLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvX2Nhcm91c2VsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19vZmZjYW52YXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19wbGFjZWhvbGRlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19hdmF0YXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9fZm9vdGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9faGVhZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9faWNvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvbWl4aW5zL19pY29uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9zaWRlYmFyL19zaWRlYmFyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9zaWRlYmFyL19zaWRlYmFyLW5hdi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3Mvc2lkZWJhci9fc2lkZWJhci1uYXJyb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2hlbHBlcnMvX2NvbG9yLWJnLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9oZWxwZXJzL19jb2xvcmVkLWxpbmtzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9oZWxwZXJzL19mb2N1cy1yaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9oZWxwZXJzL19pY29uLWxpbmsuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2hlbHBlcnMvX3JhdGlvLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9oZWxwZXJzL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvaGVscGVycy9fc3RhY2tzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL21peGlucy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9oZWxwZXJzL19zdHJldGNoZWQtbGluay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvaGVscGVycy9fdGV4dC10cnVuY2F0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AY29yZXVpL2NvcmV1aS9zY3NzL2hlbHBlcnMvX3ZyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGNvcmV1aS9jb3JldWkvc2Nzcy9taXhpbnMvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bjb3JldWkvY29yZXVpL3Njc3MvdXRpbGl0aWVzL19hcGkuc2NzcyIsIi4uLy4uL3NyYy9zY3NzL3ZlbmRvcnMvc2ltcGxlYmFyLnNjc3MiLCIuLi8uLi9zcmMvc2Nzcy9zdHlsZS5zY3NzIiwiLi4vLi4vc3JjL3Njc3MvX2NyeXN0YWwtbGFnb29ucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDT0E7QUFBQTtFQVNJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUdGO0VBQ0E7RUFNQTtFQUNBO0VBQ0E7RUFPQTtFQ2dQSSxzQkFMSTtFRHpPUjtFQUNBO0VBS0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFHQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFNQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7RUFDQTs7O0FFakpFO0VGdUpBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUdFO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBR0Y7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7O0FHdk5KO0FBQUE7QUFBQTtFQUdFOzs7QUFlRTtFQU5KO0lBT007Ozs7QUFjTjtFQUNFO0VBQ0E7RUZ1UEksV0FMSTtFRWhQUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBU0Y7RUFDRTtFQUNBLE9DNnBCNEI7RUQ1cEI1QjtFQUNBO0VBQ0EsU0NtcUI0Qjs7O0FEenBCOUI7RUFDRTtFQUNBLGVDa21CNEI7RUQvbEI1QixhQ2ttQjRCO0VEam1CNUIsYUNrbUI0QjtFRGptQjVCOzs7QUFHRjtFRmlOUTs7QUFwS0o7RUU3Q0o7SUZ3TlE7Ozs7QUVuTlI7RUY0TVE7O0FBcEtKO0VFeENKO0lGbU5ROzs7O0FFOU1SO0VGdU1ROztBQXBLSjtFRW5DSjtJRjhNUTs7OztBRXpNUjtFRmtNUTs7QUFwS0o7RUU5Qko7SUZ5TVE7Ozs7QUVwTVI7RUZ5TE0sV0FMSTs7O0FFL0tWO0VGb0xNLFdBTEk7OztBRXBLVjtFQUNFO0VBQ0EsZUNvWDBCOzs7QUQxVzVCO0VBQ0U7RUFDQTtFQUNBOzs7QUFNRjtFQUNFO0VBQ0E7RUFDQTs7O0FBTUY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtFQUNFLGFDdWU0Qjs7O0FEbGU5QjtFQUNFO0VBQ0E7OztBQU1GO0VBQ0U7OztBQVFGO0FBQUE7RUFFRSxhQ2dkNEI7OztBRHhjOUI7RUZ1Rk0sV0FMSTs7O0FFM0VWO0VBQ0UsU0MraEI0QjtFRDloQjVCO0VBQ0E7OztBQVNGO0FBQUE7RUFFRTtFRmtFSSxXQUxJO0VFM0RSO0VBQ0E7OztBQUdGO0VBQU07OztBQUNOO0VBQU07OztBQUtOO0VBQ0U7RUFDQSxpQkM0T3dDOztBRDFPeEM7RUFDRTs7O0FBVUY7RUFFRTtFQUNBOzs7QUFPSjtBQUFBO0FBQUE7QUFBQTtFQUlFLGFDMlg0QjtFSGxXeEIsV0FMSTs7O0FFWlY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFRmFJLFdBTEk7RUVOUjs7QUFHQTtFRlFJLFdBTEk7RUVETjtFQUNBOzs7QUFJSjtFRkNNLFdBTEk7RUVNUjtFQUNBOztBQUdBO0VBQ0U7OztBQUlKO0VBQ0U7RUZYSSxXQUxJO0VFa0JSO0VBQ0E7RUVwU0U7O0FGdVNGO0VBQ0U7RUZsQkUsV0FMSTs7O0FFa0NWO0VBQ0U7OztBQU1GO0FBQUE7RUFFRTs7O0FBUUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFLGFDOGE0QjtFRDdhNUIsZ0JDNmE0QjtFRDVhNUI7RUFDQTs7O0FBT0Y7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNRTtFQUNBO0VBQ0E7OztBQVFGO0VBQ0U7OztBQU1GO0VBRUU7OztBQVFGO0VBQ0U7OztBQUtGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTtFQUNBO0VGakhJLFdBTEk7RUV3SFI7OztBQUlGO0FBQUE7RUFFRTs7O0FBS0Y7RUFDRTs7O0FBR0Y7RUFHRTs7QUFHQTtFQUNFOzs7QUFPSjtFQUNFOzs7QUFRRjtBQUFBO0FBQUE7QUFBQTtFQUlFOztBQUdFO0FBQUE7QUFBQTtBQUFBO0VBQ0U7OztBQU9OO0VBQ0U7RUFDQTs7O0FBS0Y7RUFDRTs7O0FBVUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUY7RUFDRTtFQUNBO0VBQ0E7RUFDQSxlQzhQNEI7RUQ1UDVCO0VGeE1NOztBQXBLSjtFRXNXSjtJRjNMUTs7O0FFb01OO0VBQ0U7OztBQU9KO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBT0U7OztBQUdGO0VBQ0U7OztBQVNGO0VBQ0U7RUFDQTs7QUFHQTtFQUNFO0VBQ0E7OztBQVFGO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQU9KO0VBQ0U7OztBQUtGO0VBQ0U7OztBQU9GO0VBQ0U7RUFDQTs7O0FBS0Y7RUFDRTs7O0FBS0Y7RUFDRTs7O0FBT0Y7RUFDRTtFQUNBOzs7QUFRRjtFQUNFOzs7QUFRRjtFQUNFOzs7QUd4a0JGO0VMNFFNLFdBTEk7RUtyUVIsYUZpckI4Qjs7O0FFNXFCOUI7RUFHRSxhRm1xQmtCO0VFbHFCbEIsYUZrcEIwQjtFSDdZdEI7O0FBcEtKO0VLckdGO0lMZ1JNOzs7O0FLaFJOO0VBR0UsYUZtcUJrQjtFRWxxQmxCLGFGa3BCMEI7RUg3WXRCOztBQXBLSjtFS3JHRjtJTGdSTTs7OztBS2hSTjtFQUdFLGFGbXFCa0I7RUVscUJsQixhRmtwQjBCO0VIN1l0Qjs7QUFwS0o7RUtyR0Y7SUxnUk07Ozs7QUtoUk47RUFHRSxhRm1xQmtCO0VFbHFCbEIsYUZrcEIwQjtFSDdZdEI7O0FBcEtKO0VLckdGO0lMZ1JNOzs7O0FLaFJOO0VBR0UsYUZtcUJrQjtFRWxxQmxCLGFGa3BCMEI7RUg3WXRCOztBQXBLSjtFS3JHRjtJTGdSTTs7OztBS2hSTjtFQUdFLGFGbXFCa0I7RUVscUJsQixhRmtwQjBCO0VIN1l0Qjs7QUFwS0o7RUtyR0Y7SUxnUk07Ozs7QUt4UFI7RUM1REU7RUFDQTs7O0FEZ0VGO0VDakVFO0VBQ0E7OztBRG1FRjtFQUNFOztBQUVBO0VBQ0UsbUJGK3FCMEI7OztBRXJxQjlCO0VMdU5NLFdBTEk7RUtoTlI7OztBQUlGO0VBQ0UsZUY0Vk87RUg1SUgsV0FMSTs7QUt4TVI7RUFDRTs7O0FBSUo7RUFDRTtFQUNBLGVGa1ZPO0VINUlILFdBTEk7RUsvTFIsT0ZqRlU7O0FFbUZWO0VBQ0U7OztBRS9GSjtFQ0ZFO0VBR0E7OztBREtGO0VBQ0UsU0p1eURrQztFSXR5RGxDO0VBQ0E7RUhDRTtFSVpGO0VBR0E7OztBRG9CRjtFQUVFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VQaVFNLFdBTEk7RU8xUFI7OztBRXBDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQ0xBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUM2REU7RUZqREU7SUFDRSxXTjJnQmU7OztBUTNkbkI7RUZqREU7SUFDRSxXTjJnQmU7OztBUTNkbkI7RUZqREU7SUFDRSxXTjJnQmU7OztBUTNkbkI7RUZqREU7SUFDRSxXTjJnQmU7OztBUTNkbkI7RUZqREU7SUFDRSxXTjJnQmU7OztBUzFoQnZCO0VBRUk7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBR0Y7OztBQUlBO0VDTEE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FEQ0U7RUNTRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQWdESTtFQUNFOzs7QUFHRjtFQXJDSjtFQUNBOzs7QUFlQTtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUErQkU7RUFqREo7RUFDQTs7O0FBc0RRO0VBakVOO0VBQ0E7OztBQWdFTTtFQWpFTjtFQUNBOzs7QUFnRU07RUFqRU47RUFDQTs7O0FBZ0VNO0VBakVOO0VBQ0E7OztBQWdFTTtFQWpFTjtFQUNBOzs7QUFnRU07RUFqRU47RUFDQTs7O0FBZ0VNO0VBakVOO0VBQ0E7OztBQWdFTTtFQWpFTjtFQUNBOzs7QUFnRU07RUFqRU47RUFDQTs7O0FBZ0VNO0VBakVOO0VBQ0E7OztBQWdFTTtFQWpFTjtFQUNBOzs7QUFnRU07RUFqRU47RUFDQTs7O0FBd0VRO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQW1FTTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUYzRE47RUVXRTtJQUNFOztFQUdGO0lBckNKO0lBQ0E7O0VBZUE7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBakRKO0lBQ0E7O0VBc0RRO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBd0VRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYzRE47RUVXRTtJQUNFOztFQUdGO0lBckNKO0lBQ0E7O0VBZUE7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBakRKO0lBQ0E7O0VBc0RRO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBd0VRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYzRE47RUVXRTtJQUNFOztFQUdGO0lBckNKO0lBQ0E7O0VBZUE7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBakRKO0lBQ0E7O0VBc0RRO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBd0VRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYzRE47RUVXRTtJQUNFOztFQUdGO0lBckNKO0lBQ0E7O0VBZUE7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBakRKO0lBQ0E7O0VBc0RRO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBd0VRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYzRE47RUVXRTtJQUNFOztFQUdGO0lBckNKO0lBQ0E7O0VBZUE7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBakRKO0lBQ0E7O0VBc0RRO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBZ0VNO0lBakVOO0lBQ0E7O0VBd0VRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUMxSFY7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQSxlWDZaTztFVzVaUCxnQlh1dkI0QjtFV3R2QjVCOztBQU9BO0VBQ0U7RUFFQTtFQUNBO0VBQ0EscUJYK3ZCMEI7RVc5dkIxQjs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQUlKO0VBQ0U7OztBQU9GO0VBQ0U7OztBQVVBO0VBQ0U7OztBQWVGO0VBQ0U7O0FBR0E7RUFDRTs7O0FBT0o7RUFDRTs7QUFHRjtFQUNFOzs7QUFVRjtFQUNFO0VBQ0E7OztBQU1GO0VBQ0U7RUFDQTs7O0FBUUo7RUFDRTtFQUNBOzs7QUFRQTtFQUNFO0VBQ0E7OztBQzNJRjtFQVVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXBCRjtFQVVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXBCRjtFQVVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXBCRjtFQVVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXBCRjtFQVVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXBCRjtFQVVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXBCRjtFQVVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQXBCRjtFQVVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRDhJQTtFQUNFO0VBQ0E7OztBSHZGRjtFR3FGQTtJQUNFO0lBQ0E7OztBSHZGRjtFR3FGQTtJQUNFO0lBQ0E7OztBSHZGRjtFR3FGQTtJQUNFO0lBQ0E7OztBSHZGRjtFR3FGQTtJQUNFO0lBQ0E7OztBSHZGRjtFR3FGQTtJQUNFO0lBQ0E7OztBRXBLTjtFQUNFLGViKzZCc0M7OztBYXQ2QnhDO0VBQ0U7RUFDQTtFQUNBO0VoQndSSSxXQUxJO0VnQi9RUixhYnlvQjRCOzs7QWFyb0I5QjtFQUNFO0VBQ0E7RWhCOFFJLFdBTEk7OztBZ0JyUVY7RUFDRTtFQUNBO0VoQndRSSxXQUxJOzs7QWlCalNWO0VBQ0UsWWR3NkJzQztFSG5vQmxDLFdBTEk7RWlCNVJSLE9kdzZCc0M7OztBZXg2QnhDO0VBQ0U7RUFDQTtFQUNBO0VsQjhSSSxXQUxJO0VrQnRSUixhZndvQjRCO0Vldm9CNUIsYWYrb0I0QjtFZTlvQjVCLE9mZzhCc0M7RWUvN0J0QztFQUNBLGtCZnk3QnNDO0VleDdCdEM7RUFDQTtFZERFO0VlSkUsWURXSjs7QUNQSTtFRFhOO0lDWVE7OztBRFFOO0VBQ0U7O0FBRUE7RUFDRTs7QUFLSjtFQUNFLE9mMDZCb0M7RWV6NkJwQyxrQmZvNkJvQztFZW42QnBDLGNmazdCb0M7RWVqN0JwQztFQUtFLFlmd2pCa0I7O0FlcGpCdEI7RUFNRTtFQU9BO0VBS0E7O0FBS0Y7RUFDRTtFQUNBOztBQUlGO0VBQ0U7RUFFQTs7QUFRRjtFQUVFLGtCZmkzQm9DO0VlOTJCcEM7O0FBSUY7RUFDRTtFQUNBO0VBQ0EsbUJmZ3VCMEI7RWUvdEIxQixPZnkyQm9DO0VpQjk4QnRDLGtCakI0bkNnQztFZXJoQzlCO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJmNHVCMEI7RWUzdUIxQjtFQy9GRSxZRGdHRjs7QUM1RkU7RURnRko7SUMvRU07OztBRDhGTjtFQUNFLGtCZjRnQzhCOzs7QWVuZ0NsQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYWY2aEI0QjtFZTVoQjVCLE9mODFCc0M7RWU3MUJ0QztFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUVFO0VBQ0E7OztBQVdKO0VBQ0UsWWYrMEJzQztFZTkwQnRDO0VsQjhJSSxXQUxJO0VJalJOOztBYzRJRjtFQUNFO0VBQ0E7RUFDQSxtQmZnckIwQjs7O0FlNXFCOUI7RUFDRSxZZm0wQnNDO0VlbDBCdEM7RWxCaUlJLFdBTEk7RUlqUk47O0FjeUpGO0VBQ0U7RUFDQTtFQUNBLG1CZnVxQjBCOzs7QWUvcEI1QjtFQUNFLFlmZ3pCb0M7O0FlN3lCdEM7RUFDRSxZZjZ5Qm9DOztBZTF5QnRDO0VBQ0UsWWYweUJvQzs7O0FlcnlCeEM7RUFDRSxPZnd5QnNDO0VldnlCdEMsUWZpeUJzQztFZWh5QnRDLFNmNm5CNEI7O0FlM25CNUI7RUFDRTs7QUFHRjtFQUNFO0VkNUxBOztBY2dNRjtFQUNFO0Vkak1BOztBY3FNRjtFQUFvQixRZml4QmtCOztBZWh4QnRDO0VBQW9CLFFmaXhCa0I7OztBa0IvOUJ4QztFQUNFO0VBRUE7RUFDQTtFQUNBLHNCbEJzekI0QjtFa0JyekI1QixvQmxCK2lDa0M7RWtCOWlDbEMsYWxCbXpCNEI7RWtCbHpCNUIsZ0JsQmt6QjRCO0VINWhCeEIsV0FMSTtFcUI5UVIsYWxCZ29CNEI7RWtCL25CNUIsYWxCdW9CNEI7RWtCdG9CNUIsT2xCdzdCc0M7RWtCdjdCdEM7RUFDQSxrQmxCaTdCc0M7RWtCaDdCdEM7RUFDQTtFQzhGSTtFRDVGSixpQmxCMmlDa0M7RWtCMWlDbEM7RWpCWkU7RWVKRSxZRW1CSjs7QUZmSTtFRVJOO0lGU1E7OztBRWdCTjtFQUNFLGNsQnE3Qm9DO0VrQnA3QnBDO0VBS0UsWWxCNmlDNEI7O0FrQnppQ2hDO0VBRUUsb0JsQnF4QjBCO0VrQnB4QjFCOztBQUdGO0VBRUUsa0JsQnM1Qm9DOztBa0JqNUJ0QztFQUNFO0VBQ0E7OztBQUlKO0VBQ0Usc0JsQit3QjRCO0VrQjl3QjVCLGFsQjZ3QjRCO0VrQjV3QjVCLGdCbEI0d0I0QjtFSHhpQnhCLFdBTEk7RUlqUk47OztBaUJ1REo7RUFDRSxzQmxCMndCNEI7RWtCMXdCNUIsYWxCeXdCNEI7RWtCeHdCNUIsZ0JsQnd3QjRCO0VINWlCeEIsV0FMSTtFSWpSTjs7O0FpQmlFQTtFQUNFOzs7QUU3RU47RUFDRTtFQUNBLFlwQnkrQndDO0VvQngrQnhDLHNCcEJ5K0J3QztFb0J4K0J4QyxlcEJ5K0J3Qzs7QW9CditCeEM7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBRUE7RUFDQSxPcEJnOUJ3QztFb0IvOEJ4QyxRcEIrOEJ3QztFb0I5OEJ4QztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsUXBCaTlCd0M7RW9CaDlCeEM7O0FBR0E7RW5CN0JFOztBbUJpQ0Y7RUFFRSxlcEJ5OEJzQzs7QW9CdDhCeEM7RUFDRSxRcEJnOEJzQzs7QW9CNzdCeEM7RUFDRSxjcEI0NUJvQztFb0IzNUJwQztFQUNBLFlwQnNpQm9COztBb0JuaUJ0QjtFQUNFO0VBQ0E7O0FBRUE7RUFJSTs7QUFJSjtFQUlJOztBQUtOO0VBQ0Usa0JwQnNnQjBCO0VvQnJnQjFCLGNwQnFnQjBCO0VvQmhnQnhCOztBQUlKO0VBQ0U7RUFDQTtFQUNBLFNwQnc2QnVDOztBb0JqNkJ2QztFQUNFO0VBQ0EsU3BCKzVCcUM7OztBb0IxNUIzQztFQUNFOzs7QUFRRjtFQUNFLHNCcEIwNUJnQzs7QW9CeDVCaEM7RUFDRTtFQUVBLE9wQm81QjhCO0VvQm41QjlCO0VBQ0E7RUFDQTtFbkJuSEE7RWVKRSxZSXlIRjs7QUpySEU7RUk2R0o7SUo1R007OztBSXNISjtFQUNFOztBQUdGO0VBQ0UscUJwQm01QjRCO0VvQjk0QjFCOztBQUtOO0VBQ0U7O0FBRUE7RUFDRTs7O0FBU0o7RUFDRSxZQUhPO0VBSVA7O0FBRUE7RUFDRSxPQVJJO0VBU0osUUFSSztFQVNMOztBQUdGO0VBRUU7OztBQVpKO0VBQ0UsWUFITztFQUlQOztBQUVBO0VBQ0UsT0FSSTtFQVNKLFFBUks7RUFTTDs7QUFHRjtFQUVFOzs7QUFLTjtFQUNFO0VBQ0EsbUJwQnkxQmdDOzs7QW9CdDFCbEM7RUFDRTtFQUNBO0VBQ0E7O0FBSUU7RUFDRTtFQUNBO0VBQ0EsU3BCa3JCd0I7OztBb0IzcUIxQjtFQUNFOzs7QUNyTU47RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBSUE7RUFBMEIsWXJCZ21DYTs7QXFCL2xDdkM7RUFBMEIsWXJCK2xDYTs7QXFCNWxDekM7RUFDRTs7QUFHRjtFQUNFLE9yQmlsQ3VDO0VxQmhsQ3ZDLFFyQmdsQ3VDO0VxQi9rQ3ZDO0VBQ0E7RUovQkYsa0JqQjZsQjRCO0VxQjVqQjFCLFFyQitrQ3VDO0VDL2xDdkM7RWVKRSxZS3VCRjs7QUxuQkU7RUtVSjtJTFRNOzs7QUtvQko7RUp0Q0Ysa0JqQnFuQ3lDOztBcUIxa0N6QztFQUNFLE9yQjBqQzhCO0VxQnpqQzlCLFFyQjBqQzhCO0VxQnpqQzlCO0VBQ0EsUXJCeWpDOEI7RXFCeGpDOUIsa0JyQnlqQzhCO0VxQnhqQzlCO0VwQmhDQTs7QW9CcUNGO0VBQ0UsT3JCc2pDdUM7RXFCcmpDdkMsUXJCcWpDdUM7RXFCcGpDdkM7RUp6REYsa0JqQjZsQjRCO0VxQmxpQjFCLFFyQnFqQ3VDO0VDL2xDdkM7RWVKRSxZS2lERjs7QUw3Q0U7RUtxQ0o7SUxwQ007OztBSzhDSjtFSmhFRixrQmpCcW5DeUM7O0FxQmhqQ3pDO0VBQ0UsT3JCZ2lDOEI7RXFCL2hDOUIsUXJCZ2lDOEI7RXFCL2hDOUI7RUFDQSxRckIraEM4QjtFcUI5aEM5QixrQnJCK2hDOEI7RXFCOWhDOUI7RXBCMURBOztBb0IrREY7RUFDRTs7QUFFQTtFQUNFLGtCckJraUNxQzs7QXFCL2hDdkM7RUFDRSxrQnJCOGhDcUM7OztBc0J4bkMzQztFQUNFOztBQUVBO0FBQUE7QUFBQTtFQUdFLFF0QjZuQ29DO0VzQjVuQ3BDLFl0QjRuQ29DO0VzQjNuQ3BDLGF0QjRuQ29DOztBc0J6bkN0QztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFTlhFLFlNWUY7O0FOUkU7RU1SSjtJTlNNOzs7QU1VTjtBQUFBO0VBRUU7O0FBRUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtFQUVFLGF0QitsQ2tDO0VzQjlsQ2xDLGdCdEIrbENrQzs7QXNCNWxDcEM7QUFBQTtFQUNFLGF0QjBsQ2tDO0VzQnpsQ2xDLGdCdEIwbENrQzs7QXNCdGxDdEM7RUFDRSxzQnRCbXhCMEI7RXNCbHhCMUIsYXRCbWxDb0M7RXNCbGxDcEMsZ0J0Qm1sQ29DOztBc0I1a0NwQztBQUFBO0FBQUE7QUFBQTtFQUNFLFd0QjhrQ2tDOztBc0J6a0NwQztFQUNFLFd0QndrQ2tDOztBc0Jua0NwQztBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsUXRCNmpDa0M7RXNCNWpDbEM7RUFDQSxrQnRCNjNCa0M7RUN4N0JwQzs7QXFCK0RGO0VBQ0Usa0J0QjAzQm9DOztBc0J0M0JwQztFQUNFOztBQUlKO0FBQUE7RUFFRSxPdEIxRVE7OztBdUJkWjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBR0U7RUFDQTtFQUNBO0VBQ0E7O0FBSUY7QUFBQTtBQUFBO0VBR0U7O0FBTUY7RUFDRTtFQUNBOztBQUVBO0VBQ0U7OztBQVdOO0VBQ0U7RUFDQTtFQUNBO0UxQnNQSSxXQUxJO0UwQi9PUixhdkJpbUI0QjtFdUJobUI1QixhdkJ3bUI0QjtFdUJ2bUI1QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V0QnhDRTs7O0FzQmtESjtBQUFBO0FBQUE7QUFBQTtFQUlFO0UxQmdPSSxXQUxJO0VJalJOOzs7QXNCMkRKO0FBQUE7QUFBQTtBQUFBO0VBSUU7RTFCdU5JLFdBTEk7RUlqUk47OztBc0JvRUo7QUFBQTtFQUVFOzs7QUFhRTtBQUFBO0FBQUE7QUFBQTtFdEJuRUE7RUFDQTs7QXNCMkVBO0FBQUE7QUFBQTtBQUFBO0V0QjVFQTtFQUNBOztBc0J3RkY7RUFDRTtFdEI1RUE7RUFDQTs7QXNCK0VGO0FBQUE7RXRCaEZFO0VBQ0E7OztBdUJwQkY7RUFDRTtFQUNBO0VBQ0EsWXhCMjRCb0M7RUhub0JsQyxXQUxJO0UyQmhRTixPeEJtb0NxQjs7O0F3QmhvQ3ZCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNCMlBFLFdBTEk7RTJCblBOLE94QnNuQ3FCO0V3QnJuQ3JCLGtCeEJxbkNxQjtFQ3BwQ3JCOzs7QXVCb0NBO0FBQUE7QUFBQTtBQUFBO0VBRUU7OztBQS9DRjtFQXFERSxjeEJ3bUNtQjtFd0JybUNqQixvQnhCazZCZ0M7RXdCajZCaEM7RUFDQTtFTHNERjtFS3BERTs7QUFHRjtFQUNFLGN4QjZsQ2lCO0V3QnhsQ2YsWXhCd2xDZTs7O0F3QjdwQ3JCO0VBK0VJLG9CeEIyNEJnQztFbUIxMkJsQzs7O0FLaEhGO0VBdUZFLGN4QnNrQ21COztBd0Jua0NqQjtFQUVFO0VBQ0Esb0J4QnMrQjhCO0VtQm45QmxDO0VLakJJOztBQUlKO0VBQ0UsY3hCeWpDaUI7RXdCcGpDZixZeEJvakNlOzs7QXdCN3BDckI7RUFrSEk7OztBQWxISjtFQXlIRSxjeEJvaUNtQjs7QXdCbGlDbkI7RUFDRSxrQnhCaWlDaUI7O0F3QjloQ25CO0VBQ0UsWXhCNmhDaUI7O0F3QjFoQ25CO0VBQ0UsT3hCeWhDaUI7OztBd0JwaENyQjtFQUNFOzs7QUExSUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQW9KTTs7O0FBaElSO0VBQ0U7RUFDQTtFQUNBLFl4QjI0Qm9DO0VIbm9CbEMsV0FMSTtFMkJoUU4sT3hCbW9DcUI7OztBd0Job0N2QjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UzQjJQRSxXQUxJO0UyQm5QTixPeEJzbkNxQjtFd0JybkNyQixrQnhCcW5DcUI7RUNwcENyQjs7O0F1Qm9DQTtBQUFBO0FBQUE7QUFBQTtFQUVFOzs7QUEvQ0Y7RUFxREUsY3hCd21DbUI7RXdCcm1DakIsb0J4Qms2QmdDO0V3Qmo2QmhDO0VBQ0E7RUxzREY7RUtwREU7O0FBR0Y7RUFDRSxjeEI2bENpQjtFd0J4bENmLFl4QndsQ2U7OztBd0I3cENyQjtFQStFSSxvQnhCMjRCZ0M7RW1CMTJCbEM7OztBS2hIRjtFQXVGRSxjeEJza0NtQjs7QXdCbmtDakI7RUFFRTtFQUNBLG9CeEJzK0I4QjtFbUJuOUJsQztFS2pCSTs7QUFJSjtFQUNFLGN4QnlqQ2lCO0V3QnBqQ2YsWXhCb2pDZTs7O0F3QjdwQ3JCO0VBa0hJOzs7QUFsSEo7RUF5SEUsY3hCb2lDbUI7O0F3QmxpQ25CO0VBQ0Usa0J4QmlpQ2lCOztBd0I5aENuQjtFQUNFLFl4QjZoQ2lCOztBd0IxaENuQjtFQUNFLE94QnloQ2lCOzs7QXdCcGhDckI7RUFDRTs7O0FBMUlGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFzSk07OztBQ3JKVjtFQUVFO0VBQ0E7RUFDQTtFNUIwUkkscUJBTEk7RTRCblJSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RTVCeVFJLFdBTEk7RTRCbFFSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7RUFDQTtFeEJ6QkU7RWdCakJGLGtCUTRDcUI7RVQvQmpCLFlTaUNKOztBVDdCSTtFU1JOO0lUU1E7OztBUzhCTjtFQUNFO0VBR0E7RUFDQTs7QUFHRjtFQUVFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VSaEVGLGtCUWlFdUI7RUFDckI7RUFDQTtFQUtFOztBQUlKO0VBQ0U7RUFDQTtFQUtFOztBQUlKO0VBS0U7RUFDQTtFQUlBOztBQUdBO0VBS0k7O0FBS047RUFLSTs7QUFJSjtFQUdFO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7OztBQVVKO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FBS0E7RUM3SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEZ0pBO0VDN0pBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRGdKQTtFQzdKQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURnSkE7RUM3SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEZ0pBO0VDN0pBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRGdKQTtFQzdKQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURnSkE7RUM3SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEZ0pBO0VDN0pBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRDBLQTtFQzlKQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURpSkE7RUM5SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEaUpBO0VDOUpBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRGlKQTtFQzlKQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURpSkE7RUM5SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEaUpBO0VDOUpBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRGlKQTtFQzlKQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURpSkE7RUM5SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEdUpBO0VDeElBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRDhIQTtFQ3hJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUQ4SEE7RUN4SUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEOEhBO0VDeElBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRDhIQTtFQ3hJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUQ4SEE7RUN4SUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEOEhBO0VDeElBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRDhIQTtFQ3hJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUQwSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUEsaUJ6Qm9Qd0M7O0F5QjFPeEM7RUFDRTs7O0FBV0o7RUN0S0U7RUFDQTtFN0IyTUkscUJBTEk7RTZCcE1SOzs7QUR1S0Y7RUMxS0U7RUFDQTtFN0IyTUkscUJBTEk7RTZCcE1SOzs7QUQ4S0k7RUN2UEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUQwT0k7RUN2UEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUQwT0k7RUN2UEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUQwT0k7RUN2UEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUQwT0k7RUN2UEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUQwT0k7RUN2UEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUQwT0k7RUN2UEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUQwT0k7RUN2UEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURnUEk7RUNwT0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUR1Tkk7RUNwT0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUR1Tkk7RUNwT0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUR1Tkk7RUNwT0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUR1Tkk7RUNwT0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUR1Tkk7RUNwT0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUR1Tkk7RUNwT0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUR1Tkk7RUNwT0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUQ2Tkk7RUM5TUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURvTUk7RUM5TUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURvTUk7RUM5TUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURvTUk7RUM5TUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURvTUk7RUM5TUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURvTUk7RUM5TUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURvTUk7RUM5TUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURvTUk7RUM5TUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDdkZGO0VYZ0JNLFlXZko7O0FYbUJJO0VXcEJOO0lYcUJROzs7QVdsQk47RUFDRTs7O0FBTUY7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VYREksWVdFSjs7QVhFSTtFV0xOO0lYTVE7OztBV0ROO0VBQ0U7RUFDQTtFWE5FLFlXT0Y7O0FYSEU7RVdBSjtJWENNOzs7O0FZZFI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUU7OztBQUdGO0VBQ0U7O0FDaUJFO0VBQ0U7RUFDQSxxQjdCeWtCd0I7RTZCeGtCeEIsZ0I3QnVrQndCO0U2QnRrQnhCO0VBckNKO0VBQ0E7RUFDQTtFQUNBOztBQTBERTtFQUNFOzs7QUR2Q047RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UvQjRRSSwwQkFMSTtFK0JyUVI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFL0IrT0ksV0FMSTtFK0J4T1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UzQjlDRTs7QTJCa0RGO0VBQ0U7RUFDQTtFQUNBOzs7QUF3QkE7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOzs7QXBCMUNKO0VvQjRCQTtJQUNFOztFQUVBO0lBQ0U7SUFDQTs7RUFJSjtJQUNFOztFQUVBO0lBQ0U7SUFDQTs7O0FwQjFDSjtFb0I0QkE7SUFDRTs7RUFFQTtJQUNFO0lBQ0E7O0VBSUo7SUFDRTs7RUFFQTtJQUNFO0lBQ0E7OztBcEIxQ0o7RW9CNEJBO0lBQ0U7O0VBRUE7SUFDRTtJQUNBOztFQUlKO0lBQ0U7O0VBRUE7SUFDRTtJQUNBOzs7QXBCMUNKO0VvQjRCQTtJQUNFOztFQUVBO0lBQ0U7SUFDQTs7RUFJSjtJQUNFOztFQUVBO0lBQ0U7SUFDQTs7O0FwQjFDSjtFb0I0QkE7SUFDRTs7RUFFQTtJQUNFO0lBQ0E7O0VBSUo7SUFDRTs7RUFFQTtJQUNFO0lBQ0E7OztBQVVOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FDM0ZBO0VBQ0U7RUFDQSxxQjdCeWtCd0I7RTZCeGtCeEIsZ0I3QnVrQndCO0U2QnRrQnhCO0VBOUJKO0VBQ0E7RUFDQTtFQUNBOztBQW1ERTtFQUNFOzs7QUR1RUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQ3pHQTtFQUNFO0VBQ0EscUI3QnlrQndCO0U2QnhrQnhCLGdCN0J1a0J3QjtFNkJ0a0J4QjtFQXZCSjtFQUNBO0VBQ0E7RUFDQTs7QUE0Q0U7RUFDRTs7QURpRkY7RUFDRTs7O0FBTUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQzFIQTtFQUNFO0VBQ0EscUI3QnlrQndCO0U2QnhrQnhCLGdCN0J1a0J3QjtFNkJ0a0J4Qjs7QUFXQTtFQUNFOztBQUdGO0VBQ0U7RUFDQSxtQjdCc2pCc0I7RTZCcmpCdEIsZ0I3Qm9qQnNCO0U2Qm5qQnRCO0VBbkNOO0VBQ0E7RUFDQTs7QUFzQ0U7RUFDRTs7QURrR0Y7RUFDRTs7O0FBT047RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYTVCOGQ0QjtFNEI3ZDVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFM0IzS0U7O0EyQjhLRjtFQUVFO0VYak1GLGtCV29NdUI7O0FBR3ZCO0VBRUU7RUFDQTtFWDFNRixrQlcyTXVCOztBQUd2QjtFQUVFO0VBQ0E7RUFDQTs7O0FBT0o7RUFDRTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RS9Cc0VJLFdBTEk7RStCL0RSO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBOzs7QUFJRjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FFNVBGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUNFO0VBQ0E7O0FBS0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUU7OztBQUtKO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0U3QmpCSTs7QTZCcUJGO0FBQUE7RUFFRTs7QUFJRjtBQUFBO0FBQUE7RTdCWEU7RUFDQTs7QTZCb0JGO0FBQUE7QUFBQTtFN0JQRTtFQUNBOzs7QTZCeUJKO0VBQ0U7RUFDQTs7QUFFQTtFQUdFOztBQUdGO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFvQkY7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUVFOztBQUdGO0FBQUE7RUFFRTs7QUFJRjtBQUFBO0U3QjNGRTtFQUNBOztBNkJtR0Y7QUFBQTtBQUFBO0U3QmxIRTtFQUNBOzs7QThCdEJKO0VBRUU7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VsQzhRSSxXQUxJO0VrQ3ZRUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VmbEJJLFllbUJKOztBZmZJO0VlTU47SWZMUTs7O0FlZ0JOO0VBRUU7O0FBS0Y7RUFDRTtFQUNBLFkvQnlqQm9COztBK0JyakJ0QjtFQUVFO0VBQ0E7RUFDQTs7O0FBUUo7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBOztBQUVBO0VBQ0U7RUFDQTtFOUJoREE7RUFDQTs7QThCa0RBO0VBR0U7RUFDQTs7QUFJSjtBQUFBO0VBRUU7RUFDQTtFQUNBOztBQUdGO0VBRUU7RTlCcEVBO0VBQ0E7OztBOEI4RUo7RUFFRTtFQUNBO0VBQ0E7O0FBR0E7RTlCL0ZFOztBOEJtR0Y7QUFBQTtFQUVFO0VkdEhGLGtCY3VIdUI7OztBQVN6QjtFQUVFO0VBQ0E7RUFDQTtFQUdBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBRUU7O0FBSUo7QUFBQTtFQUVFLGEvQmlnQjBCO0UrQmhnQjFCO0VBQ0E7OztBQVNKO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFFQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBRUU7O0FBSUo7QUFBQTtFQUVFLGEvQnVkMEI7RStCdGQxQjtFQUNBOzs7QUFTSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFOUIxTUU7O0E4QjZNRjtFQUNFO0VBQ0E7RUFDQTtFOUJoTkE7O0E4Qm1OQTtFQUVFOztBQUlKO0FBQUE7RUFFRTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUNFOzs7QUFPTjtFQUNFOzs7QUFTQTtBQUFBO0VBRUU7RUFDQTs7O0FBS0Y7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7O0FBTUY7QUFBQTtFQUNFOzs7QUFVRjtFQUNFOztBQUVGO0VBQ0U7OztBQ3hSSjtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBTUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQW9CSjtFQUNFO0VBQ0E7RUFDQTtFbkM2TkksV0FMSTtFbUN0TlI7RUFDQTtFQUNBOztBQUVBO0VBRUU7OztBQVdKO0VBRUU7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRTtFQUVFOztBQUlKO0VBQ0U7OztBQVNKO0VBQ0UsYWhDMmxDa0M7RWdDMWxDbEMsZ0JoQzBsQ2tDO0VnQ3psQ2xDOztBQUVBO0FBQUE7QUFBQTtFQUdFOzs7QUFhSjtFQUNFO0VBQ0E7RUFHQTs7O0FBSUY7RUFDRTtFbkN5SUksV0FMSTtFbUNsSVI7RUFDQTtFQUNBO0VBQ0E7RS9CbEpFO0VlSkUsWWdCd0pKOztBaEJwSkk7RWdCNElOO0loQjNJUTs7O0FnQnFKTjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFNSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0F4Qi9IRTtFd0IySUE7SUFFSTtJQUNBOztFQUVBO0lBQ0U7O0VBRUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBSUo7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJaEJ6T0osWWdCMk9JOztFQUdBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7O0F4QmpNUjtFd0IySUE7SUFFSTtJQUNBOztFQUVBO0lBQ0U7O0VBRUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBSUo7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJaEJ6T0osWWdCMk9JOztFQUdBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7O0F4QmpNUjtFd0IySUE7SUFFSTtJQUNBOztFQUVBO0lBQ0U7O0VBRUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBSUo7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJaEJ6T0osWWdCMk9JOztFQUdBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7O0F4QmpNUjtFd0IySUE7SUFFSTtJQUNBOztFQUVBO0lBQ0U7O0VBRUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBSUo7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJaEJ6T0osWWdCMk9JOztFQUdBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7O0F4QmpNUjtFd0IySUE7SUFFSTtJQUNBOztFQUVBO0lBQ0U7O0VBRUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBSUo7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJaEJ6T0osWWdCMk9JOztFQUdBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7O0FBdERSO0VBRUk7RUFDQTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWhCek9KLFlnQjJPSTs7QUFHQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQWlCWjtBQUFBO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUU7RUFDRTs7O0FDbFNOO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFaENsQkU7O0FnQ3NCRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RWhDdkJGO0VBQ0E7O0FnQzBCQTtFQUNFO0VoQ2RGO0VBQ0E7O0FnQ29CRjtBQUFBO0VBRUU7OztBQUlKO0VBR0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFTQTtFQUNFOzs7QUFRSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RWhDL0ZFOzs7QWdDb0dKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RWhDMUdFOzs7QWdDb0hKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoQzVJRTs7O0FnQ2dKSjtBQUFBO0FBQUE7RUFHRTs7O0FBR0Y7QUFBQTtFaEM3SUk7RUFDQTs7O0FnQ2lKSjtBQUFBO0VoQ3BJSTtFQUNBOzs7QWdDZ0pGO0VBQ0U7O0F6QnhIQTtFeUJvSEo7SUFRSTtJQUNBOztFQUdBO0lBQ0U7SUFDQTs7RUFFQTtJQUNFO0lBQ0E7O0VBS0E7SWhDNUtKO0lBQ0E7O0VnQzhLTTtBQUFBO0lBR0U7O0VBRUY7QUFBQTtJQUdFOztFQUlKO0loQzdLSjtJQUNBOztFZ0MrS007QUFBQTtJQUdFOztFQUVGO0FBQUE7SUFHRTs7OztBQ2pPWjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VyQ2tRSSxXQUxJO0VxQzNQUjtFQUNBO0VBQ0E7RUFDQTtFakN6QkU7RWlDMkJGO0VsQi9CSSxZa0JnQ0o7O0FsQjVCSTtFa0JlTjtJbEJkUTs7O0FrQjZCTjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBS0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VsQnRERSxZa0J1REY7O0FsQm5ERTtFa0IwQ0o7SWxCekNNOzs7QWtCcUROO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VqQ2pFRTtFQUNBOztBaUNtRUE7RWpDcEVBO0VBQ0E7O0FpQ3dFRjtFQUNFOztBQUlGO0VqQ2hFRTtFQUNBOztBaUNtRUU7RWpDcEVGO0VBQ0E7O0FpQ3dFQTtFakN6RUE7RUFDQTs7O0FpQzhFSjtFQUNFOzs7QUFTQTtFQUNFO0VBQ0E7RWpDbEhBOztBaUNxSEE7RUFBZ0I7O0FBQ2hCO0VBQWU7O0FBR2Y7QUFBQTtBQUFBO0VqQ3pIQTs7O0FpQ29JQTtFQUNFO0VBQ0E7OztBQ3ZKTjtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFdEN1UkksV0FMSTtFc0NoUlI7RUFDQTtFbENGRTs7O0FrQ1FGO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RWhCOENBOztBZ0JwQ0o7RUFDRTs7O0FDeENKO0VBRUU7RUFDQTtFdkNrU0ksNEJBTEk7RXVDM1JSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFakM1QkE7RUFDQTs7O0FpQytCRjtFQUNFO0VBQ0E7RUFDQTtFdkNzUUksV0FMSTtFdUMvUFI7RUFDQTtFQUNBO0VBQ0E7RXBCekJJLFlvQjBCSjs7QXBCdEJJO0VvQmFOO0lwQlpROzs7QW9CdUJOO0VBQ0U7RUFDQTtFQUdBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSxTcENtMUNnQztFb0NsMUNoQzs7QUFHRjtFQUVFO0VBQ0E7RW5CN0RGLGtCbUI4RHVCO0VBQ3JCOztBQUdGO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0UscUJwQ3N6Q2dDOztBb0NqekM5QjtFbkNuQ0Y7RUFDQTs7QW1Dd0NFO0VuQ3ZERjtFQUNBOzs7QW1DdUVKO0VDeEdFO0VBQ0E7RXhDcVNJLDRCQUxJO0V3QzlSUjs7O0FEeUdGO0VDNUdFO0VBQ0E7RXhDcVNJLDRCQUxJO0V3QzlSUjs7O0FDREY7RUFFRTtFQUNBO0V6Q2lTSSx1QkFMSTtFeUMxUlI7RUFDQTtFQUNBO0VBR0E7RUFDQTtFekN5UkksV0FMSTtFeUNsUlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUE7RUFDRTs7O0FBS0o7RUFDRTtFQUNBOzs7QUFPRjtFQUNFO0VBQ0E7RXpDNFBJLFdBTEk7OztBMENoU1Y7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXRDSEU7OztBc0NRSjtFQUVFOzs7QUFJRjtFQUNFLGF2Q3VuQjRCO0V1Q3RuQjVCOzs7QUFRRjtFQUNFLG9CdkM0b0Q4Qjs7QXVDem9EOUI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFRRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUN6REY7RUFDRTtJQUFLOzs7QUFLVDtBQUFBO0VBR0U7RTNDeVJJLDBCQUxJO0UyQ2xSUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RTNDNlFJLFdBTEk7RTJDdFFSO0V2Q1hFOzs7QXVDZ0JKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFeEI1QkksWXdCNkJKOztBeEJ6Qkk7RXdCZ0JOO0l4QmZROzs7O0F3QjJCUjtFdkJMRTtFdUJPQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBSUE7RUFDRTs7QUFHRTtFQUpKO0lBS007Ozs7QUFNUjtFQUNFOzs7QUFJRjtFQUNFOztBQUNBO0VBQ0Usa0J4Q25FUTs7O0F3Q3VFWjtFQUNFO0VBQ0E7RUFDQSxleEM4Vk87OztBd0MzVlQ7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLGV4Q3FvRHFDOzs7QXdDbG9EdkM7RUFDRTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7OztBQzNHRjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBR0E7RUFDQTtFeENaRTs7O0F3Q2dCSjtFQUNFO0VBQ0E7O0FBRUE7RUFFRTtFQUNBOzs7QUFRSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0V4Qy9CRTtFQUNBOztBd0NrQ0Y7RXhDckJFO0VBQ0E7O0F3Q3dCRjtFQUVFO0VBQ0E7RUFDQTs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOzs7QUFVTjtFQUNFO0VBQ0E7RUFDQTs7QUFJRTtFQUVFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FBYUY7RUFDRTs7QUFHRTtFeEMxREo7RUFaQTs7QXdDMkVJO0V4QzNFSjtFQVlBOztBd0NvRUk7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOzs7QWpDcEZSO0VpQzREQTtJQUNFOztFQUdFO0l4QzFESjtJQVpBOztFd0MyRUk7SXhDM0VKO0lBWUE7O0V3Q29FSTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFFQTtJQUNFO0lBQ0E7OztBakNwRlI7RWlDNERBO0lBQ0U7O0VBR0U7SXhDMURKO0lBWkE7O0V3QzJFSTtJeEMzRUo7SUFZQTs7RXdDb0VJO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0lBQ0U7SUFDQTs7O0FqQ3BGUjtFaUM0REE7SUFDRTs7RUFHRTtJeEMxREo7SUFaQTs7RXdDMkVJO0l4QzNFSjtJQVlBOztFd0NvRUk7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBRUE7SUFDRTtJQUNBOzs7QWpDcEZSO0VpQzREQTtJQUNFOztFQUdFO0l4QzFESjtJQVpBOztFd0MyRUk7SXhDM0VKO0lBWUE7O0V3Q29FSTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFFQTtJQUNFO0lBQ0E7OztBakNwRlI7RWlDNERBO0lBQ0U7O0VBR0U7SXhDMURKO0lBWkE7O0V3QzJFSTtJeEMzRUo7SUFZQTs7RXdDb0VJO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0lBQ0U7SUFDQTs7O0FBY1o7RXhDbkpJOztBd0NzSkY7RUFDRTs7QUFFQTtFQUNFOzs7QUFhSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFWRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFWRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFWRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFWRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFWRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFWRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFWRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUM3TEo7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0EsTzFDby9EMkI7RTBDbi9EM0IsUTFDbS9EMkI7RTBDbC9EM0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFekNORTtFeUNRRjs7QUFHQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUVFO0VBQ0E7RUFDQTs7O0FBUUo7RUFIRTs7O0FBT0Y7QUFBQTtFQUVFOzs7QTVDL0NFO0U0Q3NDRjs7O0FDbkRGO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFOUNtU0ksdUJBTEk7RThDNVJSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RTlDcVJJLFdBTEk7RThDOVFSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFMUNSRTs7QTBDV0Y7RUFDRTs7QUFHRjtFQUNFOzs7QUFJSjtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UxQ2hDRTtFQUNBOztBMENrQ0Y7RUFDRTs7O0FBSUo7RUFDRTtFQUNBOzs7QUMxREY7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTs7O0FBT0Y7RUFDRTtFQUNBO0VBQ0E7RUFFQTs7QUFHQTtFQUNFLFc1Q2lqRGdDO0VnQmxtRDlCLFk0QmtERjs7QTVCOUNFO0U0QjRDSjtJNUIzQ007OztBNEIrQ047RUFDRSxXNUM4aURnQzs7QTRDMWlEbEM7RUFDRSxXNUMyaURnQzs7O0E0Q3ZpRHBDO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFM0N4RkU7RTJDNEZGOzs7QUFJRjtFQUVFO0VBQ0E7RUFDQTtFQ3ZIQTtFQUNBO0VBQ0E7RUFDQSxTRHVIMEI7RUN0SDFCO0VBQ0E7RUFDQSxrQkRvSDREOztBQ2pINUQ7RUFBUzs7QUFDVDtFQUFTLFNEZ0hpRjs7O0FBSzVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFM0N4R0U7RUFDQTs7QTJDMEdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0o7RUFDRTtFQUNBOzs7QUFLRjtFQUNFO0VBR0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UzQy9IRTtFQUNBOztBMkNvSUY7RUFDRTs7O0FwQzVHQTtFb0NrSEY7SUFDRTtJQUNBOztFQUlGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7OztBcEMvSEE7RW9Db0lGO0FBQUE7SUFFRTs7O0FwQ3RJQTtFb0MySUY7SUFDRTs7O0FBV0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RTNDaE5KOztBMkNvTkU7QUFBQTtFM0NwTkY7O0EyQ3lORTtFQUNFOzs7QXBDNUpKO0VvQzBJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0U7SUFDQTtJM0NoTko7O0UyQ29ORTtBQUFBO0kzQ3BORjs7RTJDeU5FO0lBQ0U7OztBcEM1Sko7RW9DMElBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTtJQUNBO0kzQ2hOSjs7RTJDb05FO0FBQUE7STNDcE5GOztFMkN5TkU7SUFDRTs7O0FwQzVKSjtFb0MwSUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNFO0lBQ0E7STNDaE5KOztFMkNvTkU7QUFBQTtJM0NwTkY7O0UyQ3lORTtJQUNFOzs7QXBDNUpKO0VvQzBJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0U7SUFDQTtJM0NoTko7O0UyQ29ORTtBQUFBO0kzQ3BORjs7RTJDeU5FO0lBQ0U7OztBcEM1Sko7RW9DMElBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTtJQUNBO0kzQ2hOSjs7RTJDb05FO0FBQUE7STNDcE5GOztFMkN5TkU7SUFDRTs7O0FFMU9SO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakRnU0kseUJBTEk7RWlEelJSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQ3RCQSxhL0Myb0I0QjtFK0N6b0I1QjtFQUNBLGEvQ29wQjRCO0UrQ25wQjVCLGEvQzJwQjRCO0UrQzFwQjVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbEQ2UkksV0FMSTtFaUR4UVI7RUFDQTs7QUFFQTtFQUFTOztBQUVUO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUtOO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0FBRUE7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7O0FBSUo7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7O0FBSUo7QUFrQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U3Q25HRTs7O0ErQ2pCSjtFQUVFO0VBQ0E7RW5Eb1NJLHlCQUxJO0VtRDdSUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VuRDJSSSxnQ0FMSTtFbURwUlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFRDdCQSxhL0Myb0I0QjtFK0N6b0I1QjtFQUNBLGEvQ29wQjRCO0UrQ25wQjVCLGEvQzJwQjRCO0UrQzFwQjVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbEQ2UkksV0FMSTtFbURsUVI7RUFDQTtFQUNBO0VBQ0E7RS9DbEJFOztBK0NzQkY7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1KO0VBQ0U7O0FBRUE7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUFLTjtBQUVFO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBRUU7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FBS047QUFHRTtFQUNFOztBQUVBO0VBRUU7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0FBRUU7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUFLTjtBQWtCQTtFQUNFO0VBQ0E7RW5EbUhJLFdBTEk7RW1ENUdSO0VBQ0E7RUFDQTtFL0M5SkU7RUFDQTs7QStDZ0tGO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7O0FDbkxGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQzlCQTtFQUNFO0VBQ0E7RUFDQTs7O0FEK0JKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VqQ3ZCSSxZaUN3Qko7O0FqQ3BCSTtFaUNhTjtJakNaUTs7OztBaUNzQlI7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFTQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0FBQUE7RUFHRTtFQUNBOztBQUdGO0FBQUE7RUFFRTtFQUNBO0VqQ2pFRSxZaUNrRUY7O0FqQzlERTtFaUMwREo7QUFBQTtJakN6RE07Ozs7QWlDc0VSO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBLE9qRHd2RG1DO0VpRHZ2RG5DO0VBQ0EsT2pEekZVO0VpRDBGVjtFQUNBO0VBQ0E7RUFDQTtFQUNBLFNqRGt2RG1DO0VnQjkwRC9CLFlpQzZGSjs7QWpDekZJO0VpQ3VFTjtBQUFBO0lqQ3RFUTs7O0FpQzJGTjtBQUFBO0FBQUE7RUFFRSxPakRwR1E7RWlEcUdSO0VBQ0E7RUFDQSxTakQwdURpQzs7O0FpRHZ1RHJDO0VBQ0U7OztBQUlGO0VBQ0U7OztBQU1GO0FBQUE7RUFFRTtFQUNBLE9qRDB1RG1DO0VpRHp1RG5DLFFqRHl1RG1DO0VpRHh1RG5DO0VBQ0E7RUFDQTs7O0FBR0Y7RTlCbkJNOzs7QThCc0JOO0U5QnRCTTs7O0E4QitCTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSxjakR5ckRtQztFaUR4ckRuQztFQUNBLGFqRHVyRG1DOztBaURyckRuQztFQUNFO0VBQ0E7RUFDQSxPakR3ckRpQztFaUR2ckRqQyxRakR3ckRpQztFaUR2ckRqQztFQUNBLGNqRHdyRGlDO0VpRHZyRGpDLGFqRHVyRGlDO0VpRHRyRGpDO0VBQ0E7RUFDQSxrQmpEcEtRO0VpRHFLUjtFQUNBO0VBRUE7RUFDQTtFQUNBLFNqRCtxRGlDO0VnQnYxRC9CLFlpQ3lLRjs7QWpDcktFO0VpQ29KSjtJakNuSk07OztBaUN1S047RUFDRSxTakQ0cURpQzs7O0FpRG5xRHJDO0VBQ0U7RUFDQTtFQUNBLFFqRHNxRG1DO0VpRHJxRG5DO0VBQ0EsYWpEbXFEbUM7RWlEbHFEbkMsZ0JqRGtxRG1DO0VpRGpxRG5DO0VBQ0E7OztBQVdGO0VBTEU7RUFDQTtFQUNBOzs7QUFPRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QW5Ebk5FO0VtRHNNRjtFQUNBO0VBQ0E7OztBRW5ORjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQUlGO0VBQ0U7SUFBSzs7O0FBSVA7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBOzs7QUFHRjtFQUVFO0VBQ0E7RUFDQTs7O0FBU0Y7RUFDRTtJQUNFOztFQUVGO0lBQ0U7SUFDQTs7O0FBS0o7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFJQTtFQUNFO0FBQUE7SUFFRTs7O0FDM0VOO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QTVDK0RFO0U0QzlDRjtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SXBDaENBLFlvQ2tDQTs7O0FwQzlCQTtFb0NnQko7SXBDZk07OztBUjZESjtFNEM5QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJakNtRUY7O0VpQy9EQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUVFOztFQUdGO0lBR0U7OztBNUMxQko7RTRDakNGO0lBaUVNO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTs7OztBNUNqQ047RTRDOUNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJcENoQ0EsWW9Da0NBOzs7QXBDOUJBO0VvQ2dCSjtJcENmTTs7O0FSNkRKO0U0QzlCRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lqQ21FRjs7RWlDL0RBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBRUU7O0VBR0Y7SUFHRTs7O0E1QzFCSjtFNENqQ0Y7SUFpRU07SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBOzs7O0E1Q2pDTjtFNEM5Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lwQ2hDQSxZb0NrQ0E7OztBcEM5QkE7RW9DZ0JKO0lwQ2ZNOzs7QVI2REo7RTRDOUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SWpDbUVGOztFaUMvREE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFFRTs7RUFHRjtJQUdFOzs7QTVDMUJKO0U0Q2pDRjtJQWlFTTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBRUE7Ozs7QTVDakNOO0U0QzlDRjtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SXBDaENBLFlvQ2tDQTs7O0FwQzlCQTtFb0NnQko7SXBDZk07OztBUjZESjtFNEM5QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJakNtRUY7O0VpQy9EQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUVFOztFQUdGO0lBR0U7OztBNUMxQko7RTRDakNGO0lBaUVNO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTs7OztBNUNqQ047RTRDOUNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJcENoQ0EsWW9Da0NBOzs7QXBDOUJBO0VvQ2dCSjtJcENmTTs7O0FSNkRKO0U0QzlCRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lqQ21FRjs7RWlDL0RBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBRUU7O0VBR0Y7SUFHRTs7O0E1QzFCSjtFNENqQ0Y7SUFpRU07SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBOzs7O0FBL0VSO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFcENoQ0EsWW9Da0NBOztBcEM5QkE7RW9DZ0JKO0lwQ2ZNOzs7QW9DK0JGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RWpDbUVGOztBaUMvREE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFFRTs7QUFHRjtFQUdFOzs7QUEyQlI7RVB6SEU7RUFDQTtFQUNBO0VBQ0EsUzdDbXNDa0M7RTZDbHNDbEM7RUFDQTtFQUNBLGtCT29Ic0Q7O0FQakh0RDtFQUFTOztBQUNUO0VBQVMsUzdDc2xEeUI7OztBb0RuK0NwQztFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQ3JKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxTckQrNUNrQzs7QXFENzVDbEM7RUFDRTtFQUNBOzs7QUFLSjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFLQTtFQUNFOzs7QUFJSjtFQUNFO0lBQ0UsU3JEazRDZ0M7OztBcUQ5M0NwQztFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFOzs7QUM3Q0o7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXJEQUU7RWVKRSxZc0NNSjs7QXRDRkk7RXNDbEJOO0l0Q21CUTs7OztBc0NJUjtFQUNFO0VBQ0E7RXJEUEU7OztBcURXSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VyRGxCRTs7O0FxRHVCRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUxGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTEY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFMRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7QUFFQTtFQUNFOzs7QUMzRE47RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdERJRTs7O0FzREdGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQ3pCSjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsU3hEMHFDa0M7OztBd0R2cUNwQztFQUNFO0VBQ0E7RUFDQSxTeERvcUNrQzs7O0F5RGhzQ3BDO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V6Q3hCSSxZeUN5Qko7O0F6Q3JCSTtFeUNoQk47SXpDaUJROzs7QXlDeUJOO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFjRjtFQUNFO0VBQ0E7RUFDQSxTekRnb0NnQzs7O0F5RDVuQ3BDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQU9GO0VBQ0U7RUFDQTtFQUNBLG1CekR3c0Q4QjtFSG4vQzFCLFdBTEk7RTREOU1SO0VBQ0E7RUFDQTs7QUFFQTtFQUVFOzs7QUFVSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUVBO0VBRUU7O0FBR0Y7RUFDRTs7QUFJSjtBQUFBO0VBRUU7O0FBR0Y7RUFDRTs7O0FBU0o7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFFQTtFQUVFOzs7QUFLTjtFQUNFO0U1RCtJSSxXQUxJO0U0RHhJUjtFQUNBO0VBQ0E7RXhEM0lFOztBd0Q4SUY7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBSUY7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FDMUxKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQ1BBLE8zRGl3QmdCO0UyRGh3QmhCLFEzRGd3QmdCO0UyRC92QmhCLFczRCt2QmdCOztBMER2dkJkO0VDVkYsTzNEcXdCZ0I7RTJEcHdCaEIsUTNEb3dCZ0I7RTJEbndCaEIsVzNEbXdCZ0I7O0EwRHZ2QmQ7RUNkRixPM0Rvd0JnQjtFMkRud0JoQixRM0Rtd0JnQjtFMkRsd0JoQixXM0Rrd0JnQjs7QTBEbHZCZDtFQ2xCRixPM0Rtd0JnQjtFMkRsd0JoQixRM0Rrd0JnQjtFMkRqd0JoQixXM0Rpd0JnQjs7QTBEN3VCZDtFQ3RCRixPM0Rrd0JnQjtFMkRqd0JoQixRM0Rpd0JnQjtFMkRod0JoQixXM0Rnd0JnQjs7QTBEdnVCWjtFQzNCSixPRDRCeUI7RUMzQnpCLFFEMkJ5QjtFQzFCekIsV0QwQnlCOztBQURyQjtFQzNCSixPRDRCeUI7RUMzQnpCLFFEMkJ5QjtFQzFCekIsV0QwQnlCOztBQURyQjtFQzNCSixPRDRCeUI7RUMzQnpCLFFEMkJ5QjtFQzFCekIsV0QwQnlCOztBQURyQjtFQzNCSixPRDRCeUI7RUMzQnpCLFFEMkJ5QjtFQzFCekIsV0QwQnlCOztBQURyQjtFQzNCSixPRDRCeUI7RUMzQnpCLFFEMkJ5QjtFQzFCekIsV0QwQnlCOztBQURyQjtFQzNCSixPRDRCeUI7RUMzQnpCLFFEMkJ5QjtFQzFCekIsV0QwQnlCOztBQURyQjtFQzNCSixPRDRCeUI7RUMzQnpCLFFEMkJ5QjtFQzFCekIsV0QwQnlCOzs7QUVwQjNCO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFNUNaSSxZNENhSjs7QTVDVEk7RTRDYk47STVDY1E7OztBNENVTjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QXBEZ0NBO0VvRDNCRTtJQUNFOztFQUVGO0lBQ0U7O0VBS0Y7SUFDRTs7RUFFRjtJQUNFOzs7QXBEMkJKO0VvRDNFSjtJQXdESTtJQUVBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBRUE7SUFDRTs7RUFJSjtJQUNFOztFQUVBO0lBQ0U7Ozs7QUFNUjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBSUo7RUFFRTs7QUFLQTtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7OztBQU1KO0VBQ0U7O0FwRGhFQTtFb0RvRUk7SUFDRTs7RUFFRjtJQUNFOzs7O0FBVFI7RUFDRTs7QXBEaEVBO0VvRG9FSTtJQUNFOztFQUVGO0lBQ0U7Ozs7QUFUUjtFQUNFOztBcERoRUE7RW9Eb0VJO0lBQ0U7O0VBRUY7SUFDRTs7OztBQU9WO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNEckxFOztBMkR3TEY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U1Q3BNRSxZNENxTUY7O0E1Q2pNRTtFNEN3TEo7STVDdkxNOzs7QTRDdU1OO0VBQ0U7O0FBQ0E7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBcER2SkY7RW9Eb0dKO0lBd0RJOzs7O0FBT0o7RUFFRTtFQUNBO0VBQ0E7O0FwRHZLRTtFb0RtS0o7SWZwUEU7SUFDQTtJQUNBO0lBQ0EsU2V5UDRCO0lmeFA1QjtJQUNBO0lBQ0Esa0Jlc1A4RDs7RWZuUDlEO0lBQVM7O0VBQ1Q7SUFBUyxTZWtQbUY7Ozs7QUFJOUY7RUFDRTtFQUNBO0VBRUE7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUVBOztBQUVBO0VBQ0U7OztBQzdRSjtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUdFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U3Q3BFRSxZNkNxRUY7O0E3Q2pFRTtFNkMwREo7STdDekRNOzs7QTZDbUVOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U1RDdFQTtFZUpFLFk2Q21GRjs7QTdDL0VFO0U2Q29FSjtJN0NuRU07OztBNkNnRko7RUFDRTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBS047RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQU1SO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFN0N2S0UsWTZDd0tGOztBN0NwS0U7RTZDd0pKO0k3Q3ZKTTs7O0E2Q3NLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFNUR2TEE7RWVKRSxZNkM2TEY7O0E3Q3pMRTtFNkNxTEo7STdDcExNOzs7QTZDMExKO0VBQ0U7RUFDQTtFN0NqTUEsWTZDa01BOztBN0M5TEE7RTZDMkxGO0k3QzFMSTs7O0E2Q2dNSjtFQUNFOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBS047RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U3Q3BPQSxZNkNxT0E7O0E3Q2pPQTtFNkN5TkY7STdDeE5JOzs7QTZDb09OO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7O0FBTUY7QUFBQTtFQUNFOzs7QUN2UU47RUFFRTs7QXREaUVFO0VzRG5FSjtJQU1JO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBTUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJM0MyQkU7O0UyQ3ZCRjtJQUNFOzs7O0FBS047RUFFRTs7QUFTQTtFQUNFO0VBQ0EsWTlENmdCMEI7O0E4RDNnQjFCO0UzQ0VFOztBMkNFRjtFQUNFOzs7QXREZEY7RXNEc0JBO0FBQUE7SUFDRTs7RUFFRjtBQUFBO0lBQ0U7Ozs7QVpoR0o7RUFDRTtFQUNBO0VBQ0E7OztBYUdGO0VBRUU7RUFFQTs7O0FBSkY7RUFFRTtFQUVBOzs7QUFKRjtFQUVFO0VBRUE7OztBQUpGO0VBRUU7RUFFQTs7O0FBSkY7RUFFRTtFQUVBOzs7QUFKRjtFQUVFO0VBRUE7OztBQUpGO0VBRUU7RUFFQTs7O0FBSkY7RUFFRTtFQUVBOzs7QUFRRTtFQUVFO0VBRUE7O0FBSkY7RUFFRTtFQUVBOztBQUpGO0VBRUU7RUFFQTs7QUFKRjtFQUVFO0VBRUE7O0FBSkY7RUFFRTtFQUVBOztBQUpGO0VBRUU7RUFFQTs7QUFKRjtFQUVFO0VBRUE7O0FBSkY7RUFFRTtFQUVBOzs7QUNsQk47RUFFRTtFQUVBOztBQUdFO0VBS0U7RUFFQTs7O0FBZE47RUFFRTtFQUVBOztBQUdFO0VBS0U7RUFFQTs7O0FBZE47RUFFRTtFQUVBOztBQUdFO0VBS0U7RUFFQTs7O0FBZE47RUFFRTtFQUVBOztBQUdFO0VBS0U7RUFFQTs7O0FBZE47RUFFRTtFQUVBOztBQUdFO0VBS0U7RUFFQTs7O0FBZE47RUFFRTtFQUVBOztBQUdFO0VBS0U7RUFFQTs7O0FBZE47RUFFRTtFQUVBOztBQUdFO0VBS0U7RUFFQTs7O0FBZE47RUFFRTtFQUVBOztBQUdFO0VBS0U7RUFFQTs7O0FBT1I7RUFFRTtFQUVBOztBQUdFO0VBR0U7RUFFQTs7O0FDckNOO0VBQ0U7RUFFQTs7O0FDRkY7RUFDRTtFQUNBLEtsRTBlNEI7RWtFemU1QjtFQUNBO0VBQ0EsdUJsRXdlNEI7RWtFdmU1Qjs7QUFFQTtFQUNFO0VBQ0EsT2xFb2UwQjtFa0VuZTFCLFFsRW1lMEI7RWtFbGUxQjtFbERJRSxZa0RIRjs7QWxET0U7RWtEWko7SWxEYU07Ozs7QWtEREo7RUFDRTs7O0FDcEJOO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQ25CSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsU3BFNHJDa0M7OztBb0V6ckNwQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsU3BFb3JDa0M7OztBb0U1cUNoQztFQUNFO0VBQ0E7RUFDQSxTcEV3cUM4Qjs7O0FvRXJxQ2hDO0VBQ0U7RUFDQTtFQUNBLFNwRWtxQzhCOzs7QVE5bkNoQztFNEQ3Q0E7SUFDRTtJQUNBO0lBQ0EsU3BFd3FDOEI7O0VvRXJxQ2hDO0lBQ0U7SUFDQTtJQUNBLFNwRWtxQzhCOzs7QVE5bkNoQztFNEQ3Q0E7SUFDRTtJQUNBO0lBQ0EsU3BFd3FDOEI7O0VvRXJxQ2hDO0lBQ0U7SUFDQTtJQUNBLFNwRWtxQzhCOzs7QVE5bkNoQztFNEQ3Q0E7SUFDRTtJQUNBO0lBQ0EsU3BFd3FDOEI7O0VvRXJxQ2hDO0lBQ0U7SUFDQTtJQUNBLFNwRWtxQzhCOzs7QVE5bkNoQztFNEQ3Q0E7SUFDRTtJQUNBO0lBQ0EsU3BFd3FDOEI7O0VvRXJxQ2hDO0lBQ0U7SUFDQTtJQUNBLFNwRWtxQzhCOzs7QVE5bkNoQztFNEQ3Q0E7SUFDRTtJQUNBO0lBQ0EsU3BFd3FDOEI7O0VvRXJxQ2hDO0lBQ0U7SUFDQTtJQUNBLFNwRWtxQzhCOzs7QXFFcnNDcEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FDTkY7QUFBQTtFQ0VFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7QUFBQTtFQUNFOztBQUlGO0FBQUE7RUFDRTs7O0FDakJGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFN4RThkc0M7RXdFN2R0Qzs7O0FDUko7RUNGRTtFQUNBO0VBQ0E7OztBQ0pGO0VBQ0U7RUFDQTtFQUNBLE8zRTZ1QjRCO0UyRTV1QjVCO0VBQ0E7RUFDQTtFQUNBLFMzRXN1QjRCOzs7QTRFbm9CcEI7RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBeENOO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQXdCRjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFekR6Qko7OztBeUR5Qkk7RXpEekJKOzs7QXlEeUJJO0V6RHpCSjs7O0F5RHlCSTtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQUlRO0VBV0Y7OztBQWZOO0VBSVE7RUFXRjs7O0FBZk47RUFJUTtFQVdGOzs7QUFmTjtFQUlRO0VBV0Y7OztBQWZOO0VBSVE7RUFXRjs7O0FBZk47RUFJUTtFQVdGOzs7QUFmTjtFQUlRO0VBV0Y7OztBQWZOO0VBSVE7RUFXRjs7O0FBZk47RUFJUTtFQVdGOzs7QUFmTjtFQUlRO0VBV0Y7OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQXhDTjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUF3QkY7RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWxEUjtBQW1DRTtFQWVNO0VBQUE7OztBQXNCUjtBQWxERTtBQUFBO0VBS1E7RUFJSjs7O0FBVEo7QUFBQTtFQUtRO0VBSUo7OztBQVRKO0FBQUE7RUFLUTtFQUlKOzs7QUFUSjtBQUFBO0VBS1E7RUFJSjs7O0FBVEo7QUFBQTtFQUtRO0VBSUo7OztBQVRKO0FBQUE7RUFLUTtFQUlKOzs7QUFUSjtBQUFBO0VBS1E7RUFJSjs7O0FBVEo7QUFBQTtFQUtRO0VBSUo7OztBQVRKO0FBQUE7RUFLUTtFQUlKOzs7QUFUSjtBQUFBO0VBS1E7RUFJSjs7O0FBVEo7QUFBQTtFQUtRO0VBSUo7OztBQVRKO0FBQUE7RUFLUTtFQUlKOzs7QUFUSjtBQUFBO0VBS1E7RUFJSjs7O0FBVEo7QUFBQTtFQUtRO0VBSUo7OztBQVRKO0FBQUE7RUFLUTtFQUlKOzs7QUFUSjtBQUFBO0VBS1E7RUFJSjs7O0FBVEo7QUFBQTtFQUtRO0VBSUo7OztBQVRKO0FBQUE7RUFLUTtFQUlKOzs7QUFUSjtBQUFBO0VBS1E7RUFJSjs7O0FBVEo7QUFBQTtFQUtRO0VBSUo7OztBQVRKO0FBQUE7RUFLUTtFQUlKOzs7QUFUSjtBQUFBO0VBS1E7RUFJSjs7O0FBVEo7QUFBQTtFQUtRO0VBSUo7OztBQVRKO0FBQUE7RUFLUTtFQUlKOzs7QUFyQko7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBd0JGO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQWZOO0VBZU07OztBQXhDTjtFQUNFOzs7QUFLRjtFQUNFOzs7QUFQRjtFQUNFOzs7QUFLRjtFQUNFOzs7QUFQRjtFQUNFOzs7QUFLRjtFQUNFOzs7QUFQRjtFQUNFOzs7QUFLRjtFQUNFOzs7QUFQRjtFQUNFOzs7QUFLRjtFQUNFOzs7QUFrQkY7RUFlTTs7O0FBT047RUFRSTs7O0FBOUJKO0VBZU07OztBQU9OO0VBUUk7OztBQTlCSjtFQWVNOzs7QUFPTjtFQVFJOzs7QUE5Qko7RUFJUTtFQVdGOzs7QUFmTjtFQUlRO0VBV0Y7OztBQWZOO0VBSVE7RUFXRjs7O0FBZk47RUFJUTtFQVdGOzs7QUFmTjtFQUlRO0VBV0Y7OztBQWZOO0VBSVE7RUFXRjs7O0FBZk47RUFJUTtFQVdGOzs7QUFmTjtFQUlRO0VBV0Y7OztBQWZOO0VBSVE7RUFXRjs7O0FBeENOO0VBQ0U7OztBQUtGO0VBQ0U7OztBQVBGO0VBQ0U7OztBQUtGO0VBQ0U7OztBQVBGO0VBQ0U7OztBQUtGO0VBQ0U7OztBQVBGO0VBQ0U7OztBQUtGO0VBQ0U7OztBQVBGO0VBQ0U7OztBQUtGO0VBQ0U7OztBQVBGO0VBQ0U7OztBQUtGO0VBQ0U7OztBQUtGO0FBQUE7RUFLUTtFQUlKOzs7QUFUSjtBQUFBO0VBS1E7RUFJSjs7O0FBVEo7QUFBQTtFQUtRO0VBSUo7OztBQVRKO0FBQUE7RUFLUTtFQUlKOzs7QUFUSjtBQUFBO0VBS1E7RUFJSjs7O0FBVEo7QUFBQTtFQUtRO0VBSUo7OztBQVRKO0FBQUE7RUFLUTtFQUlKOzs7QUFUSjtBQUFBO0VBS1E7RUFJSjs7O0FBVEo7QUFBQTtFQUtRO0VBSUo7OztBQVRKO0FBQUE7RUFLUTtFQUlKOzs7QUFUSjtBQUFBO0VBS1E7RUFJSjs7O0FBVEo7QUFBQTtFQUtRO0VBSUo7OztBQVRKO0FBQUE7RUFLUTtFQUlKOzs7QUFUSjtBQUFBO0VBS1E7RUFJSjs7O0FBckJKO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQVdGO0FBQUE7RUFTSTs7O0FBVEo7QUFBQTtFQVNJOzs7QUFUSjtBQUFBO0VBU0k7OztBQVRKO0FBQUE7RUFTSTs7O0FBVEo7QUFBQTtFQVNJOzs7QUFUSjtBQUFBO0VBU0k7OztBQVRKO0FBQUE7RUFTSTs7O0FBVEo7QUFBQTtFQVNJOzs7QUFJSjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNO0VBQUE7OztBQWZOO0VBZU07RUFBQTs7O0FBZk47RUFlTTtFQUFBOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QUFmTjtFQWVNOzs7QXBFbkRaO0VvRW9DTTtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07OztBcEVuRFo7RW9Fb0NNO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7O0FwRW5EWjtFb0VvQ007SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOzs7QXBFbkRaO0VvRW9DTTtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07OztBcEVuRFo7RW9Fb0NNO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNO0lBQUE7O0VBZk47SUFlTTtJQUFBOztFQWZOO0lBZU07SUFBQTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7O0FDaEdoQjtFRGlGVTtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOzs7QUM3RWhCO0VEOERVO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7RUFmTjtJQWVNOztFQWZOO0lBZU07O0VBZk47SUFlTTs7O0FFM0hoQjtFQUNFO0VBQ0E7RUFDQTs7O0FDQUY7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RS9EU0ksWStEUko7O0EvRFlJO0UrRGhCTjtJL0RpQlE7Ozs7QStEVlI7QUFBQTtFQUVFOzs7QUFHRjtFQUNFOzs7QUFJQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7OztBQUtBO0FBQUE7RUFDRTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBSUE7RUFDRTs7QUFHRjtFQUNFOzs7QUM3REo7QUFLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7OztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUVFO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFLSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7O0FBUVI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7O0FBS0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNFOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBS0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFLRjtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQU1GO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQU1KO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7OztBQUtGO0VBQ0U7O0FBRUE7RUFDRTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFLRjtFQUNFOztBQUVBO0VBQ0U7OztBQU1KO0VBQ0U7OztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQUtKO0VBQ0U7RUFDQTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7O0FBRUE7RUFDRTs7O0FBS0o7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7O0FBT047RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUFtQjs7QUFDbkI7RUFBbUI7O0FBQ25CO0VBQW1COztBQUNuQjtFQUFtQjs7O0FBR3JCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7OztBQUtGO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7SUFBSzs7RUFDTDtJQUFPOzs7QUFHVDtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFJRjtFQUNFOzs7QUFJRjtFQUNFOzs7QUFHRjtFQUFpQzs7O0FBQ2pDO0VBQWlDOzs7QUFDakM7RUFBaUM7OztBQUNqQztFQUFpQzs7O0FBQ2pDO0VBQWlDOzs7QUFDakM7RUFBaUM7OztBQUVqQztFQUNFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQUtKO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOzs7QUFLSjtFQUNFOzs7QUFHRjtFQUNFO0lBQ087O0VBQ1A7SUFBTTs7O0FBSVI7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBSUY7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUlGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOzs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVFO0VBQ0E7O0FBSUo7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFNTjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7OztBQU1KO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7OztBQU9GO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFJRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFNSjtBQUFBO0FBQUE7QUFJQTtFQUdFO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBSUY7SUFDRTtJQUNBOztFQUlGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTs7RUFJSjtJQUNFO0lBQ0E7SUFDQTs7RUFJRjtJQUNFOztFQUlGO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUlGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQU1GO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTs7RUFJSjtJQUNFO0lBQ0E7SUFDQTs7RUFJRjtJQUNFO0lBQ0E7O0VBSUY7SUFDRTtJQUNBOztFQUlGO0lBQ0U7O0VBSUY7SUFDRTs7RUFHRjtJQUNFOztFQUlGO0lBQ0U7SUFDQTs7RUFJRjtBQUFBO0lBRUU7OztBQUlKO0FBQUE7QUFBQTtBQUlBO0VBR0U7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7RUFJRjtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUlGO0lBQ0U7SUFDQTs7RUFNRjtJQUNFO0lBQ0E7O0VBSUY7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7RUFJRjtBQUFBO0lBRUU7SUFDQTs7O0FBSUo7QUFBQTtBQUFBO0FBSUE7RUFHRTtJQUNFO0lBQ0E7O0VBSUY7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0UiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIiRmaWxlOiBcIlwiICFkZWZhdWx0O1xuXG4vKiFcbiAqIENvcmVVSSAjeyRmaWxlfSB2NS41LjAgKGh0dHBzOi8vY29yZXVpLmlvKVxuICogQ29weXJpZ2h0IChjKSAyMDI1IGNyZWF0aXZlTGFicyDFgXVrYXN6IEhvbGVjemVrXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9jb3JldWkvY29yZXVpL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICovXG4iLCJAdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwiZnVuY3Rpb25zL2NvbG9yXCIgYXMgKjtcbkB1c2UgXCJmdW5jdGlvbnMvdG8tcmdiXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvY29sb3ItbW9kZVwiIGFzICo7XG5AdXNlIFwidmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwibWFwc1wiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXMtZGFya1wiIGFzICo7XG5cbjpyb290LFxuW2RhdGEjeyRkYXRhLWluZml4fXRoZW1lPVwibGlnaHRcIl0ge1xuICAvLyBOb3RlOiBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cblxuICAvLyBDb2xvcnNcbiAgLy9cbiAgLy8gR2VuZXJhdGUgcGFsZXR0ZXMgZm9yIGZ1bGwgY29sb3JzLCBncmF5cywgYW5kIHRoZW1lIGNvbG9yc1xuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXlzIHtcbiAgICAtLSN7JHByZWZpeH1ncmF5LSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXJnYiB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYjogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy10ZXh0IHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tdGV4dC1lbXBoYXNpczogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1iZy1zdWJ0bGUge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1iZy1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZSB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJvcmRlci1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fXdoaXRlLXJnYjogI3t0by1yZ2IoJHdoaXRlKX07XG4gIC0tI3skcHJlZml4fWJsYWNrLXJnYjogI3t0by1yZ2IoJGJsYWNrKX07XG5cbiAgLy8gRm9udHNcblxuICAvLyBOb3RlOiBVc2UgYG1ldGEuaW5zcGVjdGAgZm9yIGxpc3RzIHNvIHRoYXQgcXVvdGVkIGl0ZW1zIGtlZXAgdGhlIHF1b3Rlcy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzIzODMjaXNzdWVjb21tZW50LTMzNjM0OTE3MlxuICAtLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWY6ICN7bWV0YS5pbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlOiAje21ldGEuaW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG4gIC0tI3skcHJlZml4fWdyYWRpZW50OiAjeyRncmFkaWVudH07XG5cbiAgLy8gUm9vdCBhbmQgYm9keVxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuICBAaWYgJGZvbnQtc2l6ZS1yb290ICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fXJvb3QtZm9udC1zaXplOiAjeyRmb250LXNpemUtcm9vdH07XG4gIH1cbiAgLS0jeyRwcmVmaXh9Ym9keS1mb250LWZhbWlseTogI3ttZXRhLmluc3BlY3QoJGZvbnQtZmFtaWx5LWJhc2UpfTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUtYmFzZSwgLS0jeyRwcmVmaXh9Ym9keS1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1ib2R5LWZvbnQtd2VpZ2h0OiAjeyRmb250LXdlaWdodC1iYXNlfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1saW5lLWhlaWdodDogI3skbGluZS1oZWlnaHQtYmFzZX07XG4gIEBpZiAkYm9keS10ZXh0LWFsaWduICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fWJvZHktdGV4dC1hbGlnbjogI3skYm9keS10ZXh0LWFsaWdufTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fWJvZHktY29sb3I6ICN7JGJvZHktY29sb3J9O1xuICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1iZzogI3skYm9keS1iZ307XG4gIC0tI3skcHJlZml4fWJvZHktYmctcmdiOiAje3RvLXJnYigkYm9keS1iZyl9O1xuXG4gIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yOiAjeyRib2R5LWVtcGhhc2lzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1lbXBoYXNpcy1jb2xvcil9O1xuXG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcjogI3skYm9keS1zZWNvbmRhcnktY29sb3J9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnOiAjeyRib2R5LXNlY29uZGFyeS1iZ307XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1iZyl9O1xuXG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yOiAjeyRib2R5LXRlcnRpYXJ5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZzogI3skYm9keS10ZXJ0aWFyeS1iZ307XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktYmcpfTtcblxuICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yLWRhcms6ICN7JGJvZHktY29sb3ItZGFya307XG4gIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiLWRhcms6ICN7dG8tcmdiKCRib2R5LWNvbG9yLWRhcmspfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1iZy1kYXJrOiAjeyRib2R5LWJnLWRhcmt9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnLXJnYi1kYXJrOiAje3RvLXJnYigkYm9keS1iZy1kYXJrKX07XG5cbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItZGFyazogI3skYm9keS1lbXBoYXNpcy1jb2xvci1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiLWRhcms6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yLWRhcmspfTtcblxuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3ItZGFyazogI3skYm9keS1zZWNvbmRhcnktY29sb3ItZGFya307XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2ItZGFyazogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmspfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLWRhcms6ICN7JGJvZHktc2Vjb25kYXJ5LWJnLWRhcmt9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmctcmdiLWRhcms6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1iZy1kYXJrKX07XG5cbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3ItZGFyazogI3skYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3ItcmdiLWRhcms6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcmspfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctZGFyazogI3skYm9keS10ZXJ0aWFyeS1iZy1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiLWRhcms6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWJnLWRhcmspfTtcblxuICAtLSN7JHByZWZpeH1oaWdoLWVtcGhhc2lzOiAjeyRoaWdoLWVtcGhhc2lzfTsgLy8gRGVwcmVjYXRlZCBpbiB2NS4wLjBcbiAgLS0jeyRwcmVmaXh9bWVkaXVtLWVtcGhhc2lzOiAjeyRtZWRpdW0tZW1waGFzaXN9OyAvLyBEZXByZWNhdGVkIGluIHY1LjAuMFxuICAtLSN7JHByZWZpeH1kaXNhYmxlZDogI3skZGlzYWJsZWR9OyAvLyBEZXByZWNhdGVkIGluIHY1LjAuMFxuXG4gIC0tI3skcHJlZml4fWhpZ2gtZW1waGFzaXMtaW52ZXJzZTogI3skaGlnaC1lbXBoYXNpcy1pbnZlcnNlfTsgLy8gRGVwcmVjYXRlZCBpbiB2NS4wLjBcbiAgLS0jeyRwcmVmaXh9bWVkaXVtLWVtcGhhc2lzLWludmVyc2U6ICN7JG1lZGl1bS1lbXBoYXNpcy1pbnZlcnNlfTsgLy8gRGVwcmVjYXRlZCBpbiB2NS4wLjBcbiAgLS0jeyRwcmVmaXh9ZGlzYWJsZWQtaW52ZXJzZTogI3skZGlzYWJsZWQtaW52ZXJzZX07IC8vIERlcHJlY2F0ZWQgaW4gdjUuMC4wXG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuXG4gIC0tI3skcHJlZml4fWhlYWRpbmctY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yfTtcblxuICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWNvbG9yKX07XG4gIC0tI3skcHJlZml4fWxpbmstZGVjb3JhdGlvbjogI3skbGluay1kZWNvcmF0aW9ufTtcblxuICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yOiAjeyRsaW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWhvdmVyLWNvbG9yKX07XG5cbiAgQGlmICRsaW5rLWhvdmVyLWRlY29yYXRpb24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1kZWNvcmF0aW9uOiAjeyRsaW5rLWhvdmVyLWRlY29yYXRpb259O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcjogI3skbWFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZzogI3skbWFyay1iZ307XG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9yZGVyLXZhclxuICAtLSN7JHByZWZpeH1ib3JkZXItd2lkdGg6ICN7JGJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1zdHlsZTogI3skYm9yZGVyLXN0eWxlfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudH07XG5cbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc206ICN7JGJvcmRlci1yYWRpdXMtc219O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnOiAjeyRib3JkZXItcmFkaXVzLWxnfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14bDogI3skYm9yZGVyLXJhZGl1cy14bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteHhsOiAjeyRib3JkZXItcmFkaXVzLXh4bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtMnhsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGwpOyAvLyBEZXByZWNhdGVkIGluIHY1LjAuMCBmb3IgY29uc2lzdGVuY3lcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1waWxsOiAjeyRib3JkZXItcmFkaXVzLXBpbGx9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtYm9yZGVyLXZhclxuXG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3c6ICN7JGJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtOiAjeyRib3gtc2hhZG93LXNtfTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1sZzogI3skYm94LXNoYWRvdy1sZ307XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQ6ICN7JGJveC1zaGFkb3ctaW5zZXR9O1xuXG4gIC8vIEZvY3VzIHN0eWxlc1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1mb2N1cy12YXJpYWJsZXNcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy13aWR0aDogI3skZm9jdXMtcmluZy13aWR0aH07XG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctb3BhY2l0eTogI3skZm9jdXMtcmluZy1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1jb2xvcjogI3skZm9jdXMtcmluZy1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1mb2N1cy12YXJpYWJsZXNcblxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1mb3JtLXZhbGlkYXRpb24tdmFyaWFibGVzXG4gIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3I6ICN7JGZvcm0tdmFsaWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS12YWxpZC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3I6ICN7JGZvcm0taW52YWxpZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0taW52YWxpZC1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZm9ybS12YWxpZGF0aW9uLXZhcmlhYmxlc1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICBjb2xvci1zY2hlbWU6IGRhcms7XG5cbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1kYXJrLW1vZGUtdmFyc1xuICAgIC0tI3skcHJlZml4fWJvZHktY29sb3I6ICN7JGJvZHktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvZHktYmctcmdiOiAje3RvLXJnYigkYm9keS1iZy1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcjogI3skYm9keS1lbXBoYXNpcy1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcjogI3skYm9keS1zZWNvbmRhcnktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmc6ICN7JGJvZHktc2Vjb25kYXJ5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1iZy1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcjogI3skYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZzogI3skYm9keS10ZXJ0aWFyeS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWJnLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fWhpZ2gtZW1waGFzaXM6ICN7JGhpZ2gtZW1waGFzaXMtZGFya307IC8vIERlcHJlY2F0ZWQgaW4gdjUuMC4wXG4gICAgLS0jeyRwcmVmaXh9bWVkaXVtLWVtcGhhc2lzOiAjeyRtZWRpdW0tZW1waGFzaXMtZGFya307IC8vIERlcHJlY2F0ZWQgaW4gdjUuMC4wXG4gICAgLS0jeyRwcmVmaXh9ZGlzYWJsZWQ6ICN7JGRpc2FibGVkLWRhcmt9OyAvLyBEZXByZWNhdGVkIGluIHY1LjAuMFxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRncmF5cy1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fWdyYXktI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1yZ2ItZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy10ZXh0LWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXRleHQtZW1waGFzaXM6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJnLXN1YnRsZS1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1iZy1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJvcmRlci1zdWJ0bGUtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYm9yZGVyLXN1YnRsZTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIC0tI3skcHJlZml4fWhlYWRpbmctY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yLWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvcjogI3skbGluay1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yOiAjeyRsaW5rLWhvdmVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWhvdmVyLWNvbG9yLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fWNvZGUtY29sb3I6ICN7JGNvZGUtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWNvbG9yOiAjeyRtYXJrLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZzogI3skbWFyay1iZy1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWJvcmRlci1jb2xvcjogI3skYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudDogI3skYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50LWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvcjogI3skZm9ybS12YWxpZC1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS12YWxpZC1ib3JkZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZGFyay1tb2RlLXZhcnNcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9kaW1lbnNpb24tbm8tbm9uLW51bWVyaWMtdmFsdWVzXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuXG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21haW4vTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIHZhbHVlXG4kcmZzLWJhc2UtdmFsdWU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtdW5pdCAhPSByZW0gYW5kICRyZnMtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIHZhbHVlcyBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIG1ldGEudHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiAkZW5hYmxlLXJmcyAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLXZhbHVlIHVuaXRcbiRyZnMtYmFzZS12YWx1ZS11bml0OiBtYXRoLnVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuQGZ1bmN0aW9uIHJmcy1kaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKHNhc3MoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCk6IDE7IGVsc2U6IC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IG1hdGgudW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiBtYXRoLnVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC5oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC5nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS12YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcHgge1xuICAkcmZzLWJhc2UtdmFsdWU6IHJmcy1kaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6IHJmcy1kaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCByZnMtZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogbWF0aC51bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogcmZzLWRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHJlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IHJmcy1kaXZpZGUoJHJmcy1icmVha3BvaW50LCByZnMtZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZihzYXNzKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4KTogI3skcmZzLWJyZWFrcG9pbnR9cHg7IGVsc2U6ICN7cmZzLWRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG4kcmZzLW1xLXByb3BlcnR5LXdpZHRoOiBpZihzYXNzKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkpOiBtYXgtd2lkdGg7IGVsc2U6IG1pbi13aWR0aCk7XG4kcmZzLW1xLXByb3BlcnR5LWhlaWdodDogaWYoc2FzcygkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5KTogbWF4LWhlaWdodDsgZWxzZTogbWluLWhlaWdodCk7XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pLCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkgYW5kICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLXJ1bGUge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIHByb3BlcnR5XG4gICAgJixcbiAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgLmVuYWJsZS1yZnMgJixcbiAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuXG4gIEBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICAuZW5hYmxlLXJmcyAmLFxuICAgICAgJi5lbmFibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBmb3JtYXR0ZWQgbm9uLXJlc3BvbnNpdmUgdmFsdWVcbkBmdW5jdGlvbiByZnMtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYoc2FzcyhtZXRhLnR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCk6ICgkdmFsdWVzLCk7IGVsc2U6ICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogZmFsc2U7XG4gICAgICBcbiAgICAgIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIHtcbiAgICAgICAgJHVuaXQ6IG1hdGgudW5pdCgkdmFsdWUpO1xuICAgICAgfTtcblxuICAgICAgQGlmICR1bml0ID09IHB4IHtcbiAgICAgICAgLy8gQ29udmVydCB0byByZW0gaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKHNhc3MoJHJmcy11bml0ID09IHJlbSk6ICN7cmZzLWRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtOyBlbHNlOiAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoc2FzcygkcmZzLXVuaXQgPT0gcHgpOiAje3Jmcy1kaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weDsgZWxzZTogJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHN0cmluZy51bnF1b3RlKHN0cmluZy5zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIHJlc3BvbnNpdmUgdmFsdWUgY2FsY3VsYXRlZCBieSBSRlNcbkBmdW5jdGlvbiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYoc2FzcyhtZXRhLnR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCk6ICgoJHZhbHVlcywpKTsgZWxzZTogJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogZmFsc2U7XG5cbiAgICAgIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIHtcbiAgICAgICAgJHVuaXQ6IG1hdGgudW5pdCgkdmFsdWUpO1xuICAgICAgfTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IHJmcy1kaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgaWYoc2FzcygkdW5pdCA9PSBweCk6IDE7IGVsc2U6IHJmcy1kaXZpZGUoMSwgJHJmcy1yZW0tdmFsdWUpKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKHNhc3MoJHJmcy11bml0ID09IHJlbSk6ICN7cmZzLWRpdmlkZSgkdmFsdWUsICRyZnMtcmVtLXZhbHVlKX1yZW07IGVsc2U6ICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgcmZzLWRpdmlkZShhYnMoJHZhbHVlKSAtICRyZnMtYmFzZS12YWx1ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkdmFsdWUgYW5kIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLWRpZmY6IGFicygkdmFsdWUpIC0gJHZhbHVlLW1pbjtcblxuICAgICAgICAgIC8vIEJhc2UgdmFsdWUgZm9ybWF0dGluZ1xuICAgICAgICAgICRtaW4td2lkdGg6IGlmKHNhc3MoJHJmcy11bml0ID09IHJlbSk6ICN7cmZzLWRpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtOyBlbHNlOiAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKHNhc3MoJHZhbHVlIDwgMCk6IC0kbWluLXdpZHRoOyBlbHNlOiAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoc2FzcygkcmZzLXR3by1kaW1lbnNpb25hbCk6IHZtaW47IGVsc2U6IHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7cmZzLWRpdmlkZSgkdmFsdWUtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBjYWxjKFwiICsgJG1pbi13aWR0aCArIGlmKHNhc3MoJHZhbHVlIDwgMCk6IFwiIC0gXCI7IGVsc2U6IFwiICsgXCIpICsgJHZhcmlhYmxlLXdpZHRoICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiBzdHJpbmcudW5xdW90ZShzdHJpbmcuc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBSRlMgbWl4aW5cbkBtaXhpbiByZnMoJHZhbHVlcywgJHByb3BlcnR5OiBmb250LXNpemUpIHtcbiAgQGlmICR2YWx1ZXMgIT0gbnVsbCB7XG4gICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZXMpO1xuICAgICRmbHVpZC12YWw6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKTtcblxuICAgIC8vIERvIG5vdCBwcmludCB0aGUgbWVkaWEgcXVlcnkgaWYgcmVzcG9uc2l2ZSAmIG5vbi1yZXNwb25zaXZlIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICBAaWYgJHZhbCA9PSAkZmx1aWQtdmFsIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgX3Jmcy1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZihzYXNzKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkpOiAkdmFsOyBlbHNlOiAkZmx1aWQtdmFsKTtcblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZihzYXNzKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCk6ICgwICogMXZ3KTsgZWxzZTogbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnktcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoc2FzcygkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5KTogJGZsdWlkLXZhbDsgZWxzZTogJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNob3J0aGFuZCBoZWxwZXIgbWl4aW5zXG5AbWl4aW4gZm9udC1zaXplKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmcpO1xufVxuXG5AbWl4aW4gcGFkZGluZy10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctdG9wKTtcbn1cblxuQG1peGluIHBhZGRpbmctcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctcmlnaHQpO1xufVxuXG5AbWl4aW4gcGFkZGluZy1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctYm90dG9tKTtcbn1cblxuQG1peGluIHBhZGRpbmctbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1sZWZ0KTtcbn1cblxuQG1peGluIG1hcmdpbigkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luKTtcbn1cblxuQG1peGluIG1hcmdpbi10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi10b3ApO1xufVxuXG5AbWl4aW4gbWFyZ2luLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tcmlnaHQpO1xufVxuXG5AbWl4aW4gbWFyZ2luLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBtYXJnaW4tbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWxlZnQpO1xufSIsIkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItbW9kZS1taXhpblxuQG1peGluIGNvbG9yLW1vZGUoJG1vZGU6IGxpZ2h0LCAkcm9vdDogZmFsc2UpIHtcbiAgQGlmICRjb2xvci1tb2RlLXR5cGUgPT0gXCJtZWRpYS1xdWVyeVwiIHtcbiAgICBAaWYgJHJvb3QgPT0gdHJ1ZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiAkbW9kZSkge1xuICAgICAgICA6cm9vdCB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ICRtb2RlKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgW2RhdGEjeyRkYXRhLWluZml4fXRoZW1lPVwiI3skbW9kZX1cIl0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLW1vZGUtbWl4aW5cbiIsIkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwidmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5cbi8vIFJvb3Rcbi8vXG4vLyBBYmlsaXR5IHRvIHRoZSB2YWx1ZSBvZiB0aGUgcm9vdCBmb250IHNpemVzLCBhZmZlY3RpbmcgdGhlIHZhbHVlIG9mIGByZW1gLlxuLy8gbnVsbCBieSBkZWZhdWx0LCB0aHVzIG5vdGhpbmcgaXMgZ2VuZXJhdGVkLlxuXG46cm9vdCB7XG4gIEBpZiAkZm9udC1zaXplLXJvb3QgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZSkpO1xuICB9XG5cbiAgQGlmICRlbmFibGUtc21vb3RoLXNjcm9sbCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4vLyA0LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHJlYm9vdC1ib2R5LXJ1bGVzXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogdmFyKC0tI3skcHJlZml4fWJvZHktdGV4dC1hbGlnbik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKTsgLy8gMlxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDNcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDRcbn1cbi8vIHNjc3MtZG9jcy1lbmQgcmVib290LWJvZHktcnVsZXNcblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gUmVzZXQgRmlyZWZveCdzIGdyYXkgY29sb3JcblxuaHIge1xuICBtYXJnaW46ICRoci1tYXJnaW4teSAwO1xuICBjb2xvcjogJGhyLWNvbG9yOyAvLyAxXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xuICBvcGFjaXR5OiAkaHItb3BhY2l0eTtcbn1cblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gMS4gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vICAgIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyAgICBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG5cbiVoZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDsgLy8gMVxuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC1zdHlsZTogJGhlYWRpbmdzLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcik7XG59XG5cbmgxIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xufVxuXG5oMiB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbn1cblxuaDMge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG59XG5cbmg0IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xufVxuXG5oNSB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbn1cblxuaDYge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG59XG5cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAyLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyAzLiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0ge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDFcbiAgY3Vyc29yOiBoZWxwOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gM1xufVxuXG5cbi8vIEFkZHJlc3NcblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlzdHNcblxub2wsXG51bCB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAycmVtO1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuLy8gMS4gVW5kbyBicm93c2VyIGRlZmF1bHRcblxuZGQge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xufVxuXG5cbi8vIEJsb2NrcXVvdGVcblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gU3Ryb25nXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7XG59XG5cblxuLy8gU21hbGxcbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vyc1xuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc21hbGwtZm9udC1zaXplKTtcbn1cblxuXG4vLyBNYXJrXG5cbm1hcmsge1xuICBwYWRkaW5nOiAkbWFyay1wYWRkaW5nO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1oaWdobGlnaHQtYmcpO1xufVxuXG5cbi8vIFN1YiBhbmQgU3VwXG4vL1xuLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4vLyBhbGwgYnJvd3NlcnMuXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzdWItc3VwLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy8gTGlua3NcblxuYSB7XG4gIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICAmLFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBDb2RlXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1jb2RlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG4vLyAxLiBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbi8vIDIuIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4vLyAzLiBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7IC8vIDFcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgLy8gMlxuICBvdmVyZmxvdzogYXV0bzsgLy8gM1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcmUtY29sb3IsICRwcmUtY29sb3IpO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNvZGUtY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1rYmQtY29sb3IsICRrYmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9a2JkLWJnLCAka2JkLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG5cbmltZyxcbnN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xuXG50YWJsZSB7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jYXB0aW9uLWNvbG9yLCAkdGFibGUtY2FwdGlvbi1jb2xvcik7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxudGhlYWQsXG50Ym9keSxcbnRmb290LFxudHIsXG50ZCxcbnRoIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG59XG5cblxuLy8gRm9ybXNcbi8vXG4vLyAxLiBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnNlbGVjdCB7XG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbiAgd29yZC13cmFwOiBub3JtYWw7XG5cbiAgLy8gVW5kbyB0aGUgb3BhY2l0eSBjaGFuZ2UgZnJvbSBDaHJvbWVcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdGhlIGRyb3Bkb3duIGFycm93IG9ubHkgZnJvbSB0ZXh0IHR5cGUgaW5wdXRzIGJ1aWx0IHdpdGggZGF0YWxpc3RzIGluIENocm9tZS5cbi8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTQ5OTcxMThcblxuW2xpc3RdOm5vdChbdHlwZT1cImRhdGVcIl0pOm5vdChbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdKTpub3QoW3R5cGU9XCJtb250aFwiXSk6bm90KFt0eXBlPVwid2Vla1wiXSk6bm90KFt0eXBlPVwidGltZVwiXSk6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMy4gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG5cbiAgQGlmICRlbmFibGUtYnV0dG9uLXBvaW50ZXJzIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy8gMS4gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IC8vIDFcbn1cblxuLy8gMS4gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbi8vICAgIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuLy8gICAgU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbi8vICAgIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbi8vIDIuIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gMlxuICBib3JkZXI6IDA7IC8vIDJcbn1cblxuLy8gMS4gQnkgdXNpbmcgYGZsb2F0OiBsZWZ0YCwgdGhlIGxlZ2VuZCB3aWxsIGJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudC5cbi8vICAgIFRoaXMgd2F5IHRoZSBib3JkZXIgb2YgYSBmaWVsZHNldCB3cmFwcyBhcm91bmQgdGhlIGxlZ2VuZCBpZiBwcmVzZW50LlxuLy8gMi4gRml4IHdyYXBwaW5nIGJ1Zy5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5NzEyXG5cbmxlZ2VuZCB7XG4gIGZsb2F0OiBpbmxpbmUtc3RhcnQ7IC8vIDFcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRsZWdlbmQtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRsZWdlbmQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlZ2VuZC1mb250LXNpemUpO1xuXG4gICsgKiB7XG4gICAgY2xlYXI6IGxlZnQ7IC8vIDJcbiAgfVxufVxuXG4vLyBGaXggaGVpZ2h0IG9mIGlucHV0cyB3aXRoIGEgdHlwZSBvZiBkYXRldGltZS1sb2NhbCwgZGF0ZSwgbW9udGgsIHdlZWssIG9yIHRpbWVcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4ODQyXG5cbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZSxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQge1xuICBwYWRkaW5nOiAwO1xufVxuXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIDEuIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vICAgIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gICAgYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbi8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG5cbiAgLy8gMy4gQmV0dGVyIGFmZm9yZGFuY2UgYW5kIGNvbnNpc3RlbnQgYXBwZWFyYW5jZSBmb3Igc2VhcmNoIGNhbmNlbCBidXR0b25cbiAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xuICB9XG59XG5cbi8vIDEuIEEgZmV3IGlucHV0IHR5cGVzIHNob3VsZCBzdGF5IExUUlxuLy8gU2VlIGh0dHBzOi8vcnRsc3R5bGluZy5jb20vcG9zdHMvcnRsLXN0eWxpbmcjZm9ybS1pbnB1dHNcblxuKltkaXI9XCJydGxcIl0ge1xuICBbdHlwZT1cInRlbFwiXSxcbiAgW3R5cGU9XCJ1cmxcIl0sXG4gIFt0eXBlPVwiZW1haWxcIl0sXG4gIFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgfVxufVxuXG5cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBSZW1vdmUgcGFkZGluZyBhcm91bmQgY29sb3IgcGlja2VycyBpbiB3ZWJraXQgYnJvd3NlcnNcblxuOjotd2Via2l0LWNvbG9yLXN3YXRjaC13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbn1cblxuXG4vLyAxLiBJbmhlcml0IGZvbnQgZmFtaWx5IGFuZCBsaW5lIGhlaWdodCBmb3IgZmlsZSBpbnB1dCBidXR0b25zXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG46OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBSZW1vdmUgYm9yZGVyIGZyb20gaWZyYW1lXG5cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gU3VtbWFyeVxuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyAxXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vLyBQcm9ncmVzc1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5cbi8vIEhpZGRlbiBhdHRyaWJ1dGVcbi8vXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlLlxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcbkB1c2UgXCJmdW5jdGlvbnMvYXNzZXJ0LWFzY2VuZGluZ1wiIGFzICo7XG5AdXNlIFwiZnVuY3Rpb25zL2Fzc2VydC1zdGFydHMtYXQtemVyb1wiIGFzICo7XG5AdXNlIFwiZnVuY3Rpb25zL2NvbG9yXCIgYXMgKjtcbkB1c2UgXCJmdW5jdGlvbnMvY29sb3ItY29udHJhc3QtdmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCJmdW5jdGlvbnMvbWF0aFwiIGFzICo7XG5AdXNlIFwiZnVuY3Rpb25zL3RvLXJnYlwiIGFzICo7XG5cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS1iYXNlOiAjMzIzYTQ5ICFkZWZhdWx0O1xuJGdyYXktMTAwOiAgI2YzZjRmNyAhZGVmYXVsdDtcbiRncmF5LTIwMDogICNlN2VhZWUgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICAjZGJkZmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAgI2NmZDRkZSAhZGVmYXVsdDtcbiRncmF5LTUwMDogICNhYWIzYzUgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICAjNmQ3ZDljICFkZWZhdWx0O1xuJGdyYXktNzAwOiAgIzRhNTY2ZCAhZGVmYXVsdDtcbiRncmF5LTgwMDogICMzMjNhNDkgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICAjMjEyNjMxICFkZWZhdWx0O1xuJGJsYWNrOiAgICAgIzA4MGEwYyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvcnMtbWFwXG4kZ3JheXM6IChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBmdXN2LWRpc2FibGVcbiRoaWdoLWVtcGhhc2lzOiAgICAgICAgICAgIHJnYmEoc2hpZnQtY29sb3IoJGdyYXktYmFzZSwgKzI2JSksIC45NSkgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gNS4wLjBcbiRtZWRpdW0tZW1waGFzaXM6ICAgICAgICAgIHJnYmEoc2hpZnQtY29sb3IoJGdyYXktYmFzZSwgKzI2JSksIC42ODEpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMC4wXG4kZGlzYWJsZWQ6ICAgICAgICAgICAgICAgICByZ2JhKHNoaWZ0LWNvbG9yKCRncmF5LWJhc2UsICsyNiUpLCAuMzgpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMC4wXG5cbiRoaWdoLWVtcGhhc2lzLWludmVyc2U6ICAgIHJnYmEoJHdoaXRlLCAuODcpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMC4wXG4kbWVkaXVtLWVtcGhhc2lzLWludmVyc2U6ICByZ2JhKCR3aGl0ZSwgLjYpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMC4wXG4kZGlzYWJsZWQtaW52ZXJzZTogICAgICAgICByZ2JhKCR3aGl0ZSwgLjM4KSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiA1LjAuMFxuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLXZhcmlhYmxlc1xuJGJsdWU6ICAgICMwZDZlZmQgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNkNjMzODQgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzE5ODc1NCAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMwZGNhZjAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3JzLW1hcFxuJGNvbG9yczogKFxuICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgXCJibGFja1wiOiAgICAgICRibGFjayxcbiAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3JzLW1hcFxuXG4vLyBUaGUgY29udHJhc3QgcmF0aW8gdG8gcmVhY2ggYWdhaW5zdCB3aGl0ZSwgdG8gZGV0ZXJtaW5lIGlmIGNvbG9yIGNoYW5nZXMgZnJvbSBcImxpZ2h0XCIgdG8gXCJkYXJrXCIuIEFjY2VwdGFibGUgdmFsdWVzIGZvciBXQ0FHIDIuMiBhcmUgMywgNC41IGFuZCA3LlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHLyNjb250cmFzdC1taW5pbXVtXG4kbWluLWNvbnRyYXN0LXJhdGlvOiAgIDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBmdXN2LWRpc2FibGVcbiRibHVlLTEwMDogdGludC1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcbiRibHVlLTIwMDogdGludC1jb2xvcigkYmx1ZSwgNjAlKSAhZGVmYXVsdDtcbiRibHVlLTMwMDogdGludC1jb2xvcigkYmx1ZSwgNDAlKSAhZGVmYXVsdDtcbiRibHVlLTQwMDogdGludC1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTUwMDogJGJsdWUgIWRlZmF1bHQ7XG4kYmx1ZS02MDA6IHNoYWRlLWNvbG9yKCRibHVlLCAyMCUpICFkZWZhdWx0O1xuJGJsdWUtNzAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgNDAlKSAhZGVmYXVsdDtcbiRibHVlLTgwMDogc2hhZGUtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS05MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA4MCUpICFkZWZhdWx0O1xuXG4kaW5kaWdvLTEwMDogdGludC1jb2xvcigkaW5kaWdvLCA4MCUpICFkZWZhdWx0O1xuJGluZGlnby0yMDA6IHRpbnQtY29sb3IoJGluZGlnbywgNjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMzAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDQwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTQwMDogdGludC1jb2xvcigkaW5kaWdvLCAyMCUpICFkZWZhdWx0O1xuJGluZGlnby01MDA6ICRpbmRpZ28gIWRlZmF1bHQ7XG4kaW5kaWdvLTYwMDogc2hhZGUtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNzAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby04MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTkwMDogc2hhZGUtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcblxuJHB1cnBsZS0xMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgODAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtMjAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDYwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTMwMDogdGludC1jb2xvcigkcHVycGxlLCA0MCUpICFkZWZhdWx0O1xuJHB1cnBsZS00MDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgMjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNTAwOiAkcHVycGxlICFkZWZhdWx0O1xuJHB1cnBsZS02MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTcwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtODAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS05MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG5cbiRwaW5rLTEwMDogdGludC1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcbiRwaW5rLTIwMDogdGludC1jb2xvcigkcGluaywgNjAlKSAhZGVmYXVsdDtcbiRwaW5rLTMwMDogdGludC1jb2xvcigkcGluaywgNDAlKSAhZGVmYXVsdDtcbiRwaW5rLTQwMDogdGludC1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTUwMDogJHBpbmsgIWRlZmF1bHQ7XG4kcGluay02MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCAyMCUpICFkZWZhdWx0O1xuJHBpbmstNzAwOiBzaGFkZS1jb2xvcigkcGluaywgNDAlKSAhZGVmYXVsdDtcbiRwaW5rLTgwMDogc2hhZGUtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay05MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA4MCUpICFkZWZhdWx0O1xuXG4kcmVkLTEwMDogdGludC1jb2xvcigkcmVkLCA4MCUpICFkZWZhdWx0O1xuJHJlZC0yMDA6IHRpbnQtY29sb3IoJHJlZCwgNjAlKSAhZGVmYXVsdDtcbiRyZWQtMzAwOiB0aW50LWNvbG9yKCRyZWQsIDQwJSkgIWRlZmF1bHQ7XG4kcmVkLTQwMDogdGludC1jb2xvcigkcmVkLCAyMCUpICFkZWZhdWx0O1xuJHJlZC01MDA6ICRyZWQgIWRlZmF1bHQ7XG4kcmVkLTYwMDogc2hhZGUtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNzAwOiBzaGFkZS1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC04MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTkwMDogc2hhZGUtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcblxuJG9yYW5nZS0xMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgODAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtMjAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDYwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTMwMDogdGludC1jb2xvcigkb3JhbmdlLCA0MCUpICFkZWZhdWx0O1xuJG9yYW5nZS00MDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgMjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNTAwOiAkb3JhbmdlICFkZWZhdWx0O1xuJG9yYW5nZS02MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTcwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtODAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS05MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG5cbiR5ZWxsb3ctMTAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDgwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTIwMDogdGludC1jb2xvcigkeWVsbG93LCA2MCUpICFkZWZhdWx0O1xuJHllbGxvdy0zMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNDAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNDAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDIwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTUwMDogJHllbGxvdyAhZGVmYXVsdDtcbiR5ZWxsb3ctNjAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy03MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTgwMDogc2hhZGUtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctOTAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuXG4kZ3JlZW4tMTAwOiB0aW50LWNvbG9yKCRncmVlbiwgODAlKSAhZGVmYXVsdDtcbiRncmVlbi0yMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA2MCUpICFkZWZhdWx0O1xuJGdyZWVuLTMwMDogdGludC1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNDAwOiB0aW50LWNvbG9yKCRncmVlbiwgMjAlKSAhZGVmYXVsdDtcbiRncmVlbi01MDA6ICRncmVlbiAhZGVmYXVsdDtcbiRncmVlbi02MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgMjAlKSAhZGVmYXVsdDtcbiRncmVlbi03MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgNDAlKSAhZGVmYXVsdDtcbiRncmVlbi04MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi05MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgODAlKSAhZGVmYXVsdDtcblxuJHRlYWwtMTAwOiB0aW50LWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuJHRlYWwtMjAwOiB0aW50LWNvbG9yKCR0ZWFsLCA2MCUpICFkZWZhdWx0O1xuJHRlYWwtMzAwOiB0aW50LWNvbG9yKCR0ZWFsLCA0MCUpICFkZWZhdWx0O1xuJHRlYWwtNDAwOiB0aW50LWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNTAwOiAkdGVhbCAhZGVmYXVsdDtcbiR0ZWFsLTYwMDogc2hhZGUtY29sb3IoJHRlYWwsIDIwJSkgIWRlZmF1bHQ7XG4kdGVhbC03MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA0MCUpICFkZWZhdWx0O1xuJHRlYWwtODAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTkwMDogc2hhZGUtY29sb3IoJHRlYWwsIDgwJSkgIWRlZmF1bHQ7XG5cbiRjeWFuLTEwMDogdGludC1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcbiRjeWFuLTIwMDogdGludC1jb2xvcigkY3lhbiwgNjAlKSAhZGVmYXVsdDtcbiRjeWFuLTMwMDogdGludC1jb2xvcigkY3lhbiwgNDAlKSAhZGVmYXVsdDtcbiRjeWFuLTQwMDogdGludC1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTUwMDogJGN5YW4gIWRlZmF1bHQ7XG4kY3lhbi02MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCAyMCUpICFkZWZhdWx0O1xuJGN5YW4tNzAwOiBzaGFkZS1jb2xvcigkY3lhbiwgNDAlKSAhZGVmYXVsdDtcbiRjeWFuLTgwMDogc2hhZGUtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi05MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA4MCUpICFkZWZhdWx0O1xuXG4kYmx1ZXM6IChcbiAgXCJibHVlLTEwMFwiOiAkYmx1ZS0xMDAsXG4gIFwiYmx1ZS0yMDBcIjogJGJsdWUtMjAwLFxuICBcImJsdWUtMzAwXCI6ICRibHVlLTMwMCxcbiAgXCJibHVlLTQwMFwiOiAkYmx1ZS00MDAsXG4gIFwiYmx1ZS01MDBcIjogJGJsdWUtNTAwLFxuICBcImJsdWUtNjAwXCI6ICRibHVlLTYwMCxcbiAgXCJibHVlLTcwMFwiOiAkYmx1ZS03MDAsXG4gIFwiYmx1ZS04MDBcIjogJGJsdWUtODAwLFxuICBcImJsdWUtOTAwXCI6ICRibHVlLTkwMFxuKSAhZGVmYXVsdDtcblxuJGluZGlnb3M6IChcbiAgXCJpbmRpZ28tMTAwXCI6ICRpbmRpZ28tMTAwLFxuICBcImluZGlnby0yMDBcIjogJGluZGlnby0yMDAsXG4gIFwiaW5kaWdvLTMwMFwiOiAkaW5kaWdvLTMwMCxcbiAgXCJpbmRpZ28tNDAwXCI6ICRpbmRpZ28tNDAwLFxuICBcImluZGlnby01MDBcIjogJGluZGlnby01MDAsXG4gIFwiaW5kaWdvLTYwMFwiOiAkaW5kaWdvLTYwMCxcbiAgXCJpbmRpZ28tNzAwXCI6ICRpbmRpZ28tNzAwLFxuICBcImluZGlnby04MDBcIjogJGluZGlnby04MDAsXG4gIFwiaW5kaWdvLTkwMFwiOiAkaW5kaWdvLTkwMFxuKSAhZGVmYXVsdDtcblxuJHB1cnBsZXM6IChcbiAgXCJwdXJwbGUtMTAwXCI6ICRwdXJwbGUtMTAwLFxuICBcInB1cnBsZS0yMDBcIjogJHB1cnBsZS0yMDAsXG4gIFwicHVycGxlLTMwMFwiOiAkcHVycGxlLTMwMCxcbiAgXCJwdXJwbGUtNDAwXCI6ICRwdXJwbGUtNDAwLFxuICBcInB1cnBsZS01MDBcIjogJHB1cnBsZS01MDAsXG4gIFwicHVycGxlLTYwMFwiOiAkcHVycGxlLTYwMCxcbiAgXCJwdXJwbGUtNzAwXCI6ICRwdXJwbGUtNzAwLFxuICBcInB1cnBsZS04MDBcIjogJHB1cnBsZS04MDAsXG4gIFwicHVycGxlLTkwMFwiOiAkcHVycGxlLTkwMFxuKSAhZGVmYXVsdDtcblxuJHBpbmtzOiAoXG4gIFwicGluay0xMDBcIjogJHBpbmstMTAwLFxuICBcInBpbmstMjAwXCI6ICRwaW5rLTIwMCxcbiAgXCJwaW5rLTMwMFwiOiAkcGluay0zMDAsXG4gIFwicGluay00MDBcIjogJHBpbmstNDAwLFxuICBcInBpbmstNTAwXCI6ICRwaW5rLTUwMCxcbiAgXCJwaW5rLTYwMFwiOiAkcGluay02MDAsXG4gIFwicGluay03MDBcIjogJHBpbmstNzAwLFxuICBcInBpbmstODAwXCI6ICRwaW5rLTgwMCxcbiAgXCJwaW5rLTkwMFwiOiAkcGluay05MDBcbikgIWRlZmF1bHQ7XG5cbiRyZWRzOiAoXG4gIFwicmVkLTEwMFwiOiAkcmVkLTEwMCxcbiAgXCJyZWQtMjAwXCI6ICRyZWQtMjAwLFxuICBcInJlZC0zMDBcIjogJHJlZC0zMDAsXG4gIFwicmVkLTQwMFwiOiAkcmVkLTQwMCxcbiAgXCJyZWQtNTAwXCI6ICRyZWQtNTAwLFxuICBcInJlZC02MDBcIjogJHJlZC02MDAsXG4gIFwicmVkLTcwMFwiOiAkcmVkLTcwMCxcbiAgXCJyZWQtODAwXCI6ICRyZWQtODAwLFxuICBcInJlZC05MDBcIjogJHJlZC05MDBcbikgIWRlZmF1bHQ7XG5cbiRvcmFuZ2VzOiAoXG4gIFwib3JhbmdlLTEwMFwiOiAkb3JhbmdlLTEwMCxcbiAgXCJvcmFuZ2UtMjAwXCI6ICRvcmFuZ2UtMjAwLFxuICBcIm9yYW5nZS0zMDBcIjogJG9yYW5nZS0zMDAsXG4gIFwib3JhbmdlLTQwMFwiOiAkb3JhbmdlLTQwMCxcbiAgXCJvcmFuZ2UtNTAwXCI6ICRvcmFuZ2UtNTAwLFxuICBcIm9yYW5nZS02MDBcIjogJG9yYW5nZS02MDAsXG4gIFwib3JhbmdlLTcwMFwiOiAkb3JhbmdlLTcwMCxcbiAgXCJvcmFuZ2UtODAwXCI6ICRvcmFuZ2UtODAwLFxuICBcIm9yYW5nZS05MDBcIjogJG9yYW5nZS05MDBcbikgIWRlZmF1bHQ7XG5cbiR5ZWxsb3dzOiAoXG4gIFwieWVsbG93LTEwMFwiOiAkeWVsbG93LTEwMCxcbiAgXCJ5ZWxsb3ctMjAwXCI6ICR5ZWxsb3ctMjAwLFxuICBcInllbGxvdy0zMDBcIjogJHllbGxvdy0zMDAsXG4gIFwieWVsbG93LTQwMFwiOiAkeWVsbG93LTQwMCxcbiAgXCJ5ZWxsb3ctNTAwXCI6ICR5ZWxsb3ctNTAwLFxuICBcInllbGxvdy02MDBcIjogJHllbGxvdy02MDAsXG4gIFwieWVsbG93LTcwMFwiOiAkeWVsbG93LTcwMCxcbiAgXCJ5ZWxsb3ctODAwXCI6ICR5ZWxsb3ctODAwLFxuICBcInllbGxvdy05MDBcIjogJHllbGxvdy05MDBcbikgIWRlZmF1bHQ7XG5cbiRncmVlbnM6IChcbiAgXCJncmVlbi0xMDBcIjogJGdyZWVuLTEwMCxcbiAgXCJncmVlbi0yMDBcIjogJGdyZWVuLTIwMCxcbiAgXCJncmVlbi0zMDBcIjogJGdyZWVuLTMwMCxcbiAgXCJncmVlbi00MDBcIjogJGdyZWVuLTQwMCxcbiAgXCJncmVlbi01MDBcIjogJGdyZWVuLTUwMCxcbiAgXCJncmVlbi02MDBcIjogJGdyZWVuLTYwMCxcbiAgXCJncmVlbi03MDBcIjogJGdyZWVuLTcwMCxcbiAgXCJncmVlbi04MDBcIjogJGdyZWVuLTgwMCxcbiAgXCJncmVlbi05MDBcIjogJGdyZWVuLTkwMFxuKSAhZGVmYXVsdDtcblxuJHRlYWxzOiAoXG4gIFwidGVhbC0xMDBcIjogJHRlYWwtMTAwLFxuICBcInRlYWwtMjAwXCI6ICR0ZWFsLTIwMCxcbiAgXCJ0ZWFsLTMwMFwiOiAkdGVhbC0zMDAsXG4gIFwidGVhbC00MDBcIjogJHRlYWwtNDAwLFxuICBcInRlYWwtNTAwXCI6ICR0ZWFsLTUwMCxcbiAgXCJ0ZWFsLTYwMFwiOiAkdGVhbC02MDAsXG4gIFwidGVhbC03MDBcIjogJHRlYWwtNzAwLFxuICBcInRlYWwtODAwXCI6ICR0ZWFsLTgwMCxcbiAgXCJ0ZWFsLTkwMFwiOiAkdGVhbC05MDBcbikgIWRlZmF1bHQ7XG5cbiRjeWFuczogKFxuICBcImN5YW4tMTAwXCI6ICRjeWFuLTEwMCxcbiAgXCJjeWFuLTIwMFwiOiAkY3lhbi0yMDAsXG4gIFwiY3lhbi0zMDBcIjogJGN5YW4tMzAwLFxuICBcImN5YW4tNDAwXCI6ICRjeWFuLTQwMCxcbiAgXCJjeWFuLTUwMFwiOiAkY3lhbi01MDAsXG4gIFwiY3lhbi02MDBcIjogJGN5YW4tNjAwLFxuICBcImN5YW4tNzAwXCI6ICRjeWFuLTcwMCxcbiAgXCJjeWFuLTgwMFwiOiAkY3lhbi04MDAsXG4gIFwiY3lhbi05MDBcIjogJGN5YW4tOTAwXG4pICFkZWZhdWx0O1xuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuJHByaW1hcnk6ICAgICAgICM1ODU2ZDYgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgIzZiNzc4NSAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAjMWI5ZTNlICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICMzOWYgIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgI2Y5YjExNSAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAjZTU1MzUzICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3JzLW1hcFxuJHRoZW1lLWNvbG9yczogKFxuICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvcnMtbWFwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS10ZXh0LXZhcmlhYmxlc1xuJHByaW1hcnktdGV4dC1lbXBoYXNpczogICAgIzM2MzRhMyAhZGVmYXVsdDtcbiRzZWNvbmRhcnktdGV4dC1lbXBoYXNpczogICMyMTIyMzMgIWRlZmF1bHQ7XG4kc3VjY2Vzcy10ZXh0LWVtcGhhc2lzOiAgICAjMGY1NzIyICFkZWZhdWx0O1xuJGluZm8tdGV4dC1lbXBoYXNpczogICAgICAgIzE4NGM3NyAhZGVmYXVsdDtcbiR3YXJuaW5nLXRleHQtZW1waGFzaXM6ICAgICM3NjQ3MDUgIWRlZmF1bHQ7XG4kZGFuZ2VyLXRleHQtZW1waGFzaXM6ICAgICAjNjcxNDE0ICFkZWZhdWx0O1xuJGxpZ2h0LXRleHQtZW1waGFzaXM6ICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGRhcmstdGV4dC1lbXBoYXNpczogICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYmctc3VidGxlOiAgICAjY2ZjN2YzICFkZWZhdWx0O1xuJHNlY29uZGFyeS1iZy1zdWJ0bGU6ICAjY2VkMmQ4ICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYmctc3VidGxlOiAgICAjY2JlZGQ2ICFkZWZhdWx0O1xuJGluZm8tYmctc3VidGxlOiAgICAgICAjYzBlNmZmICFkZWZhdWx0O1xuJHdhcm5pbmctYmctc3VidGxlOiAgICAjZmVlY2M1ICFkZWZhdWx0O1xuJGRhbmdlci1iZy1zdWJ0bGU6ICAgICAjZjlkNGQ0ICFkZWZhdWx0O1xuJGxpZ2h0LWJnLXN1YnRsZTogICAgICBjb2xvci5taXgoJGdyYXktMTAwLCAkd2hpdGUpICFkZWZhdWx0O1xuJGRhcmstYmctc3VidGxlOiAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJnLXN1YnRsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG4kcHJpbWFyeS1ib3JkZXItc3VidGxlOiAgICAjOWQ5MmU2ICFkZWZhdWx0O1xuJHNlY29uZGFyeS1ib3JkZXItc3VidGxlOiAgIzlkYTViMSAhZGVmYXVsdDtcbiRzdWNjZXNzLWJvcmRlci1zdWJ0bGU6ICAgICM5NmRiYWQgIWRlZmF1bHQ7XG4kaW5mby1ib3JkZXItc3VidGxlOiAgICAgICAjODBjNmZmICFkZWZhdWx0O1xuJHdhcm5pbmctYm9yZGVyLXN1YnRsZTogICAgI2ZjZDg4YSAhZGVmYXVsdDtcbiRkYW5nZXItYm9yZGVyLXN1YnRsZTogICAgICNmMmE5YTkgIWRlZmF1bHQ7XG4kbGlnaHQtYm9yZGVyLXN1YnRsZTogICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZGFyay1ib3JkZXItc3VidGxlOiAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlZHVjZWQtbW90aW9uOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zbW9vdGgtc2Nyb2xsOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzOiAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jc3NncmlkOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWJ1dHRvbi1wb2ludGVyczogICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZnM6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6ICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6IHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXM6ICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1sdHI6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcnRsOiAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1jb250YWluZXItcXVlcmllczogICAgZmFsc2UgIWRlZmF1bHQ7XG5cbiRlbmFibGUtZGFyay1tb2RlOiAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kY29sb3ItbW9kZS10eXBlOiAgICAgICAgICAgICBkYXRhICFkZWZhdWx0OyAvLyBgZGF0YWAgb3IgYG1lZGlhLXF1ZXJ5YFxuXG4vLyBQcmVmaXggZm9yIDpyb290IENTUyB2YXJpYWJsZXNcblxuJHZhcmlhYmxlLXByZWZpeDogICAgICAgICAgICAgY3VpLSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NC4yLjYgZm9yIHRoZSBzaG9ydGVyIGAkcHJlZml4YFxuJHByZWZpeDogICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlLXByZWZpeCAhZGVmYXVsdDtcblxuLy8gUHJlZml4IGZvciBkYXRhIGF0dHJpYnV0ZXNcblxuJGRhdGEtaW5maXg6ICAgICAgICAgICAgICAgICAgLWNvcmV1aS0gIWRlZmF1bHQ7XG5cbi8vIFNldCBtb2JpbGUgYnJlYWtwb2ludFxuXG4kbW9iaWxlLWJyZWFrcG9pbnQ6ICAgICAgICAgICBsZyAhZGVmYXVsdDtcblxuLy8gR3JhZGllbnRcbi8vXG4vLyBUaGUgZ3JhZGllbnQgd2hpY2ggaXMgYWRkZWQgdG8gY29tcG9uZW50cyBpZiBgJGVuYWJsZS1ncmFkaWVudHNgIGlzIGB0cnVlYFxuLy8gVGhpcyBncmFkaWVudCBpcyBhbHNvIGFkZGVkIHRvIGVsZW1lbnRzIHdpdGggYC5iZy1ncmFkaWVudGBcbi8vIHNjc3MtZG9jcy1zdGFydCB2YXJpYWJsZS1ncmFkaWVudFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjE1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdmFyaWFibGUtZ3JhZGllbnRcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGFjZXItdmFyaWFibGVzLW1hcHNcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG5cbi8vIFBvc2l0aW9uXG4vL1xuLy8gRGVmaW5lIHRoZSBlZGdlIHBvc2l0aW9uaW5nIGFuY2hvcnMgb2YgdGhlIHBvc2l0aW9uIHV0aWxpdGllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvc2l0aW9uLW1hcFxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvc2l0aW9uLW1hcFxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS10ZXh0LWFsaWduOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKHNoaWZ0LWNvbG9yKCRncmF5LWJhc2UsICsyNiUpLCAuOTUpICFkZWZhdWx0O1xuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGJvZHktc2Vjb25kYXJ5LWNvbG9yOiAgICAgIHJnYmEoc2hpZnQtY29sb3IoJGdyYXktYmFzZSwgKzI2JSksIC42ODEpICFkZWZhdWx0O1xuJGJvZHktc2Vjb25kYXJ5LWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGJvZHktdGVydGlhcnktY29sb3I6ICAgICAgIHJnYmEoc2hpZnQtY29sb3IoJGdyYXktYmFzZSwgKzI2JSksIC4zOCkgIWRlZmF1bHQ7XG4kYm9keS10ZXJ0aWFyeS1iZzogICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kYm9keS1lbXBoYXNpcy1jb2xvcjogICAgICAgJGJsYWNrICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAgICAgICAgICAgICAgICAgICAyMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnQ6ICAgICAgICAgICBhZnRlciAhZGVmYXVsdDtcbiRzdHJldGNoZWQtbGluay16LWluZGV4OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbi8vIEljb24gbGlua3Ncbi8vIHNjc3MtZG9jcy1zdGFydCBpY29uLWxpbmstdmFyaWFibGVzXG4kaWNvbi1saW5rLWdhcDogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0OiAgLjI1ZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tc2l6ZTogICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbjogICAuMnMgZWFzZS1pbi1vdXQgdHJhbnNmb3JtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zZm9ybTogICAgdHJhbnNsYXRlM2QoLjI1ZW0sIDAsIDApICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpY29uLWxpbmstdmFyaWFibGVzXG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBhc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY3EtZ3JpZC1icmVha3BvaW50c1xuJGNxLWdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHgsXG4gIHh4bDogMTQwMHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBhc3NlcnQtYXNjZW5kaW5nKCRjcS1ncmlkLWJyZWFrcG9pbnRzLCBcIiRjcS1ncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRjcS1ncmlkLWJyZWFrcG9pbnRzLCBcIiRjcS1ncmlkLWJyZWFrcG9pbnRzXCIpO1xuLy8gc2Nzcy1kb2NzLWVuZCBjcS1ncmlkLWJyZWFrcG9pbnRzXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4gIHh4bDogMTMyMHB4XG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb250YWluZXItbWF4LXdpZHRoc1xuXG5AaW5jbHVkZSBhc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG5cbiRib3JkZXItc3R5bGU6ICAgICAgICAgICAgICAgIHNvbGlkICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci10cmFuc2x1Y2VudDogICAgcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteGw6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXh4bDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1waWxsOiAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbi8vIGZ1c3YtZGlzYWJsZVxuJGJvcmRlci1yYWRpdXMtMnhsOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMteHhsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjAuMFxuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJveC1zaGFkb3ctdmFyaWFibGVzXG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWluc2V0OiAgICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJveC1zaGFkb3ctdmFyaWFibGVzXG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgIHJnYmEoJHdoaXRlLCAuODcpICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnkpICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9jdXMtcmluZy12YXJpYWJsZXNcbiRmb2N1cy1yaW5nLXdpZHRoOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLW9wYWNpdHk6ICAgIC4yNSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWNvbG9yOiAgICAgIHJnYmEoJHByaW1hcnksICRmb2N1cy1yaW5nLW9wYWNpdHkpICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctYmx1cjogICAgICAgMCAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWJveC1zaGFkb3c6IDAgMCAkZm9jdXMtcmluZy1ibHVyICRmb2N1cy1yaW5nLXdpZHRoICRmb2N1cy1yaW5nLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb2N1cy1yaW5nLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtdmFyaWFibGVzXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC12YXJpYWJsZXNcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sbGFwc2UtdHJhbnNpdGlvblxuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoOiAgIHdpZHRoIC4zNXMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sbGFwc2UtdHJhbnNpdGlvblxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbi8vIHNjc3MtZG9jcy1zdGFydCBhc3BlY3QtcmF0aW9zXG4kYXNwZWN0LXJhdGlvczogKFxuICBcIjF4MVwiOiAxMDAlLFxuICBcIjR4M1wiOiBjYWxjKDMgLyA0ICogMTAwJSksXG4gIFwiMTZ4OVwiOiBjYWxjKDkgLyAxNiAqIDEwMCUpLFxuICBcIjIxeDlcIjogY2FsYyg5IC8gMjEgKiAxMDAlKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYXNwZWN0LXJhdGlvc1xuLy8gc3R5bGVsaW50LWVuYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC12YXJpYWJsZXNcbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1zYW5zLXNlcmlmKSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1jb2RlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LW1vbm9zcGFjZSkgIWRlZmF1bHQ7XG5cbi8vICRmb250LXNpemUtcm9vdCBhZmZlY3RzIHRoZSB2YWx1ZSBvZiBgcmVtYCwgd2hpY2ggaXMgdXNlZCBmb3IgYXMgd2VsbCBmb250IHNpemVzLCBwYWRkaW5ncywgYW5kIG1hcmdpbnNcbi8vICRmb250LXNpemUtYmFzZSBhZmZlY3RzIHRoZSBmb250IHNpemUgb2YgdGhlIGJvZHkgdGV4dFxuJGZvbnQtc2l6ZS1yb290OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbWVkaXVtOiAgICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6ICAgICAgICA2MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAyICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXNpemVzXG4kZm9udC1zaXplczogKFxuICAxOiAkaDEtZm9udC1zaXplLFxuICAyOiAkaDItZm9udC1zaXplLFxuICAzOiAkaDMtZm9udC1zaXplLFxuICA0OiAkaDQtZm9udC1zaXplLFxuICA1OiAkaDUtZm9udC1zaXplLFxuICA2OiAkaDYtZm9udC1zaXplXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXNpemVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBoZWFkaW5ncy12YXJpYWJsZXNcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1zdHlsZTogICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaGVhZGluZ3MtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkaXNwbGF5LWhlYWRpbmdzXG4kZGlzcGxheS1mb250LXNpemVzOiAoXG4gIDE6IDVyZW0sXG4gIDI6IDQuNXJlbSxcbiAgMzogNHJlbSxcbiAgNDogMy41cmVtLFxuICA1OiAzcmVtLFxuICA2OiAyLjVyZW1cbikgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5LWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC1zdHlsZTogIG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZGlzcGxheS1oZWFkaW5nc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdHlwZS12YXJpYWJsZXNcbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgIC44NzVlbSAhZGVmYXVsdDtcblxuJHN1Yi1zdXAtZm9udC1zaXplOiAgICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiA1LjAuMFxuLy8gZnVzdi1lbmFibGVcblxuJGluaXRpYWxpc20tZm9udC1zaXplOiAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGhyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kaHItYmctY29sb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY0LjIuNlxuJGhyLWhlaWdodDogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NC4yLjZcbi8vIGZ1c3YtZW5hYmxlXG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIEFsbG93cyBmb3IgaW5oZXJpdGVkIGNvbG9yc1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kaHItb3BhY2l0eTogICAgICAgICAgICAgICAgICAuMjUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB2ci12YXJpYWJsZXNcbiR2ci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB2ci12YXJpYWJsZXNcblxuJGxlZ2VuZC1tYXJnaW4tYm90dG9tOiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4xODc1ZW0gIWRlZmF1bHQ7XG4kbWFyay1jb2xvcjogICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICR5ZWxsb3ctMTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0eXBlLXZhcmlhYmxlc1xuXG4vLyBJY29uc1xuJGljb24tc2l6ZS1iYXNlOiAgMXJlbSAhZGVmYXVsdDtcbiRpY29uLXNpemUtc206ICAgICRpY29uLXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kaWNvbi1zaXplLWxnOiAgICAkaWNvbi1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGljb24tc2l6ZS14bDogICAgJGljb24tc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGljb24tc2l6ZS14eGw6ICAgJGljb24tc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYWJsZXNcbiR0YWJsZS1jZWxsLXBhZGRpbmcteTogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14OiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXktc206ICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXgtc206ICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLXZlcnRpY2FsLWFsaWduOiAgIHRvcCAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1jb2xvcjogICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1iZy1mYWN0b3I6ICAgICAuMDUgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1iZzogICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtc3RyaXBlZC1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYWN0aXZlLWNvbG9yOiAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnLWZhY3RvcjogICAgICAuMSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksICR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnLWZhY3RvcjogICAgICAgLjA3NSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksICR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLWZhY3RvcjogICAgICAgICAuMiAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXI6IGV2ZW4gIWRlZmF1bHQ7XG5cbiR0YWJsZS1ncm91cC1zZXBhcmF0b3ItY29sb3I6IGN1cnJlbnRjb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1zY2FsZTogICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtbG9vcFxuJHRhYmxlLXZhcmlhbnRzOiAoXG4gIFwicHJpbWFyeVwiOiAgICBzaGlmdC1jb2xvcigkcHJpbWFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzZWNvbmRhcnlcIjogIHNoaWZ0LWNvbG9yKCRzZWNvbmRhcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic3VjY2Vzc1wiOiAgICBzaGlmdC1jb2xvcigkc3VjY2VzcywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJpbmZvXCI6ICAgICAgIHNoaWZ0LWNvbG9yKCRpbmZvLCAkdGFibGUtYmctc2NhbGUpLFxuICBcIndhcm5pbmdcIjogICAgc2hpZnQtY29sb3IoJHdhcm5pbmcsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiZGFuZ2VyXCI6ICAgICBzaGlmdC1jb2xvcigkZGFuZ2VyLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmssXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS1sb29wXG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1idG4tdmFyaWFibGVzXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICRmb2N1cy1yaW5nLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5OiAkZm9jdXMtcmluZy1vcGFjaXR5ICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgICAkZm9jdXMtcmluZy1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYmx1cjogICAgICAgICAgJGZvY3VzLXJpbmctYmx1ciAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYWJsZXNcbiRidG4tY29sb3I6ICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tbGluay1ob3Zlci1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRidG4tbGluay1mb2N1cy1zaGFkb3ctcmdiOiAgIHRvLXJnYihjb2xvci5taXgoY29sb3ItY29udHJhc3QtdmFyaWFibGVzKCRsaW5rLWNvbG9yLCAkY29sb3ItY29udHJhc3QtZGFyaywgJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCAkd2hpdGUsICRibGFjaywgJG1pbi1jb250cmFzdC1yYXRpbyksICRsaW5rLWNvbG9yLCAxNSUpKSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRidG4taG92ZXItYmctc2hhZGUtYW1vdW50OiAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50OiAgICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50OiAgIDIwJSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50OiAgICAxMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQ6ICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQ6ICAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAyNSUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQ6ICAgMTAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tb3V0bGluZS12YXJpYWJsZXNcbiRidG4tb3V0bGluZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtZGlzYWJsZWQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLW91dGxpbmUtaG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1ob3Zlci1iZzogdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRidG4tb3V0bGluZS1ob3Zlci1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1vdXRsaW5lLWZvY3VzLXNoYWRvdy1yZ2I6IHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidG4tb3V0bGluZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1naG9zdC12YXJpYWJsZXNcbiRidG4tZ2hvc3QtY29sb3I6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1naG9zdC1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tZ2hvc3QtYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGJ0bi1naG9zdC1kaXNhYmxlZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWdob3N0LWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWdob3N0LWhvdmVyLWJnOiB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGJ0bi1naG9zdC1mb2N1cy1zaGFkb3ctcmdiOiB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYnRuLWdob3N0LXZhcmlhYmxlc1xuXG4vLyBGb3Jtc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1sYWJlbC12YXJpYWJsZXNcbiRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1pbnB1dC12YXJpYWJsZXNcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB0aW50LWNvbG9yKCRwcmltYXJ5LCA1MCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIDIpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLWNvbG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1jaGVjay12YXJpYWJsZXNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAgICAgICAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDogICAgICAgICAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjogICAgICAgICAgYnJpZ2h0bmVzcyg5MCUpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J202IDEwIDMgMyA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPScyJyBmaWxsPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5OiAgICAkYnRuLWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kOiAgICAxcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG4kZm9ybS1zd2l0Y2gtY29sb3I6ICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgMmVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYmctaW1hZ2U6ICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXM6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC10cmFuc2l0aW9uOiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcjogICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2U6ICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb246IHJpZ2h0IGNlbnRlciAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLXdpZHRoczogKFxuICBsZzogKFxuICAgIHdpZHRoOiAyLjVlbSxcbiAgICBoZWlnaHQ6IDEuMjVlbVxuICApLFxuICB4bDogKFxuICAgIHdpZHRoOiAzZW0sXG4gICAgaGVpZ2h0OiAxLjVlbVxuICApXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi1lbmQ6ICAgIDFyZW0gIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1ncm91cC12YXJpYWJsZXNcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgICAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMyAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyBmb3IgYmFja2dyb3VuZC1pbWFnZVxuJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctcG9zaXRpb246ICAgICAgICAgICByaWdodCAkZm9ybS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgIDE2cHggMTJweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKiAyLjUgKyAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgY2VudGVyIHJpZ2h0ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkZm9ybS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gRWRnZVxuJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJHByaW1hcnksIDcwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1maWxlLXZhcmlhYmxlc1xuJGZvcm0tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZpbGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuJGZvcm0tZmxvYXRpbmctaGVpZ2h0OiAgICAgICAgICAgICAgICAgIGFkZCgzLjVyZW0sICRpbnB1dC1oZWlnaHQtYm9yZGVyKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDogICAgICAgICAxLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjogICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0OiAgICAgICAgICAgIDEuNWVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eTogICAgICAgICAgIC42NSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogICAgICAgICBzY2FsZSguODUpIHRyYW5zbGF0ZVkoLS41cmVtKSB0cmFuc2xhdGVYKC4xNXJlbSkgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbjogICAgICAgICAgICAgIG9wYWNpdHkgLjFzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjFzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU6ICAgICAgICAgICRmb3JtLXRleHQtZm9udC1zdHlsZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgICRzdWNjZXNzICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgJGRhbmdlciAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9Jz48Y2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8+PHBhdGggc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgZD0nTTUuOCAzLjZoLjRMNiA2LjV6Jy8+PGNpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgc3Ryb2tlPSdub25lJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLWNvbG9yc1xuJGZvcm0tdmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWludmFsaWQtY29sb3I6ICAgICAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvcjogICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tY29sb3JzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogKFxuICBcInZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yKSxcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZCxcbiAgICBcInRvb2x0aXAtY29sb3JcIjogI2ZmZixcbiAgICBcInRvb2x0aXAtYmctY29sb3JcIjogdmFyKC0tI3skcHJlZml4fXN1Y2Nlc3MpLFxuICAgIFwiZm9jdXMtYm94LXNoYWRvd1wiOiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKHZhcigtLSN7JHByZWZpeH1zdWNjZXNzLXJnYiksICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICAgXCJib3JkZXItY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yKSxcbiAgKSxcbiAgXCJpbnZhbGlkXCI6IChcbiAgICBcImNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3IpLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQsXG4gICAgXCJ0b29sdGlwLWNvbG9yXCI6ICNmZmYsXG4gICAgXCJ0b29sdGlwLWJnLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1kYW5nZXIpLFxuICAgIFwiZm9jdXMtYm94LXNoYWRvd1wiOiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKHZhcigtLSN7JHByZWZpeH1kYW5nZXItcmdiKSwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgICBcImJvcmRlci1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWJvcmRlci1jb2xvciksXG4gIClcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LXN0YWNrXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LXNpZGViYXItYmFja2Ryb3A6ICAgICAgICAgICAxMDM0ICFkZWZhdWx0O1xuJHppbmRleC1zaWRlYmFyOiAgICAgICAgICAgICAgICAgICAgMTAzNSAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wOiAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhczogICAgICAgICAgICAgICAgICAxMDQ1ICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTUgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA4MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9hc3Q6ICAgICAgICAgICAgICAgICAgICAgIDEwOTAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1zdGFja1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LWxldmVscy1tYXBcbiR6aW5kZXgtbGV2ZWxzOiAoXG4gIG4xOiAtMSxcbiAgMDogMCxcbiAgMTogMSxcbiAgMjogMixcbiAgMzogM1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LWxldmVscy1tYXBcblxuXG4vLyBOYXZzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdmFyaWFibGVzXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC1zaXplOiAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRuYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi11bmRlcmxpbmUtZ2FwOiAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aDogICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcjogICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuXG4kbmF2LXVuZGVybGluZS1ib3JkZXItZ2FwOiAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLWJvcmRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWJvcmRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWJvcmRlci1saW5rLXBhZGRpbmcteTogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LXVuZGVybGluZS1ib3JkZXItbGluay1wYWRkaW5nLXg6ICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWJvcmRlci1saW5rLWFjdGl2ZS1jb2xvcjogICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnkpICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstZGlzYWJsZWQtY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3IpICFkZWZhdWx0O1xuXG4kbmF2LWVuY2xvc2VkLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWVuY2xvc2VkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kbmF2LWVuY2xvc2VkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJG5hdi1lbmNsb3NlZC1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJG5hdi1lbmNsb3NlZC1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJG5hdi1lbmNsb3NlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LWVuY2xvc2VkLWxpbmstYm9yZGVyLXdpZHRoOiAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRuYXYtZW5jbG9zZWQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG5hdi1lbmNsb3NlZC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbmF2LWVuY2xvc2VkLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1lbmNsb3NlZC1saW5rLWhvdmVyLWJveC1zaGFkb3c6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4kbmF2LWVuY2xvc2VkLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdmFyaWFibGVzXG5cblxuLy8gTmF2YmFyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItdmFyaWFibGVzXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogICAgICAgICRidG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogICAgICAgICBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC42NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAxKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcjogICAgICAgICAgIHJnYmEoJGJvZHktY29sb3IsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjE1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWljb24tY29sb3I6ICAgICAgICAgICAgJG5hdmJhci1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDskbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLXZhcmlhYmxlc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIGNhbGMoI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c30gLSAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY0LjIuNlxuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuJGRyb3Bkb3duLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm94LXNoYWRvdzogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstY29sb3I6ICAgICAgICAgICRkcm9wZG93bi1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3I6ICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi12YXJpYWJsZXNcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgIGNhbGMoLTEgKiAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH0pICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDsgLy8gVG9kbyBpbiB2NjogcmVtb3ZlIHRoaXM/XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmQtdmFyaWFibGVzXG5cbi8vIEFjY29yZGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiwgYm9yZGVyLXJhZGl1cyAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktdGV4dC1lbXBoYXNpcykgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4wLjBcbi8vIGZ1c3YtZW5hYmxlXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbjogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nbTIgNSA2IDYgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhY2NvcmRpb24tdmFyaWFibGVzXG5cbi8vIFRvb2x0aXBzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLXZhcmlhYmxlc1xuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFRPRE86IHJlbW92ZSB0aGlzIGluIHY2XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gNC4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtdmFyaWFibGVzXG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICBudWxsICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG5cbi8vIFBvcG92ZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLXZhcmlhYmxlc1xuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIGNhbGMoI3skcG9wb3Zlci1ib3JkZXItcmFkaXVzfSAtICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3BvdmVyLXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbi8vIERlcHJlY2F0ZWQgaW4gNC4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG5cbi8vIFRvYXN0c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtdmFyaWFibGVzXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuJHRvYXN0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJHRvYXN0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtdmFyaWFibGVzXG5cblxuLy8gQmFkZ2VzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS12YXJpYWJsZXNcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC42NWVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuXG4kYmFkZ2UtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAuNjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAuNWVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZS12YXJpYWJsZXNcblxuXG4vLyBNb2RhbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLXZhcmlhYmxlc1xuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctc20pICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcblxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLWZvb3Rlci1iZzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG1vZGFsLXZhcmlhYmxlc1xuXG5cbi8vIEF2YXRhcnNcbi8vIHNjc3MtZG9jcy1zdGFydCBhdmF0YXItdmFyaWFibGVzXG4kYXZhdGFyLXdpZHRoOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRhdmF0YXItaGVpZ2h0OiAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGF2YXRhci1mb250LXNpemU6ICAgICAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJGF2YXRhci1ib3JkZXItcmFkaXVzOiAgICAgICAgIDUwZW0gIWRlZmF1bHQ7XG4kYXZhdGFyLXN0YXR1cy13aWR0aDogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYXZhdGFyLXN0YXR1cy1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYXZhdGFyLXN0YXR1cy1ib3JkZXItcmFkaXVzOiAgNTBlbSAhZGVmYXVsdDtcbiRhdmF0YXItdHJhbnNpdGlvbjogICAgICAgICAgICBtYXJnaW4gLjE1cyAhZGVmYXVsdDtcblxuJGF2YXRhci1zaXplczogKFxuICBzbTogKFxuICAgIHdpZHRoOiAxLjVyZW0sXG4gICAgaGVpZ2h0OiAxLjVyZW0sXG4gICAgZm9udC1zaXplOiAuNnJlbSxcbiAgICBzdGF0dXMtd2lkdGg6IC40cmVtLFxuICAgIHN0YXR1cy1oZWlnaHQ6IC40cmVtXG4gICksXG4gIG1kOiAoXG4gICAgd2lkdGg6IDIuNXJlbSxcbiAgICBoZWlnaHQ6IDIuNXJlbSxcbiAgICBmb250LXNpemU6IDFyZW0sXG4gICAgc3RhdHVzLXdpZHRoOiAuN3JlbSxcbiAgICBzdGF0dXMtaGVpZ2h0OiAuN3JlbVxuICApLFxuICBsZzogKFxuICAgIHdpZHRoOiAzcmVtLFxuICAgIGhlaWdodDogM3JlbSxcbiAgICBmb250LXNpemU6IDEuMnJlbSxcbiAgICBzdGF0dXMtd2lkdGg6IC44cmVtLFxuICAgIHN0YXR1cy1oZWlnaHQ6IC44cmVtXG4gICksXG4gIHhsOiAoXG4gICAgd2lkdGg6IDRyZW0sXG4gICAgaGVpZ2h0OiA0cmVtLFxuICAgIGZvbnQtc2l6ZTogMS42cmVtLFxuICAgIHN0YXR1cy13aWR0aDogMXJlbSxcbiAgICBzdGF0dXMtaGVpZ2h0OiAxcmVtXG4gICksXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhdmF0YXItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gRGVwcmVjYXRlZCBpbiA1LjEuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuJGF2YXRhci13aWR0aHM6IChcbiAgc206IDEuNXJlbSxcbiAgbWQ6IDIuNXJlbSxcbiAgbGc6IDNyZW0sXG4gIHhsOiA0cmVtXG4pICFkZWZhdWx0O1xuLy8gZnVzdi1lbmFibGVcblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC12YXJpYWJsZXNcbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yOiAgICRhbGVydC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyAzeCBjb3ZlcnMgd2lkdGggb2YgeCBwbHVzIGRlZmF1bHQgcGFkZGluZyBvbiBlaXRoZXIgc2lkZVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4kYWxlcnQtYmctc2NhbGU6ICAgICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjQuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtYm9yZGVyLXNjYWxlOiAgICAgICAgICAgIC03MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjQuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtY29sb3Itc2NhbGU6ICAgICAgICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NC4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIENhbGxvdXRzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FsbG91dC12YXJpYWJsZXNcbiRjYWxsb3V0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FsbG91dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhbGxvdXQtbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYWxsb3V0LW1hcmdpbi14OiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY2FsbG91dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kY2FsbG91dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYWxsb3V0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGNhbGxvdXQtYm9yZGVyLWxlZnQtd2lkdGg6ICAgICAgICAgY2FsYygjeyRjYWxsb3V0LWJvcmRlci13aWR0aH0gKiA0KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJGNhbGxvdXQtdmFyaWFudHM6IChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FsbG91dC12YXJpYWJsZXNcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy12YXJpYWJsZXNcbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1wcmltYXJ5KSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBjbGVhbi11cCA/Pz9cbiRwcm9ncmVzcy1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZ3JvdXAtaGVhZGVyLW1hcmdpbi1ib3R0b206ICAkc3BhY2VyICogLjI1ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy12YXJpYWJsZXNcblxuLy8gTGlzdCBncm91cFxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtdmFyaWFibGVzXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kbGlzdC1ncm91cC1pdGVtLWJnLXNjYWxlOiAgICAgICAgICAtODAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjAuMFxuJGxpc3QtZ3JvdXAtaXRlbS1jb2xvci1zY2FsZTogICAgICAgNDAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjAuMFxuLy8gZnVzdi1lbmFibGVcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtdmFyaWFibGVzXG5cblxuLy8gSGVhZGVyXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGVyLXZhcmlhYmxlc1xuJGhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRoZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjY1KSAhZGVmYXVsdDtcbiRoZWFkZXItYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRoZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kaGVhZGVyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC44KSAhZGVmYXVsdDtcbiRoZWFkZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgMSkgIWRlZmF1bHQ7XG4kaGVhZGVyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC4zKSAhZGVmYXVsdDtcbiRoZWFkZXItdHJhbnNpdGlvbjogICAgICAgICAgICAgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLyBDb21wdXRlIHRoZSBoZWFkZXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBoZWFkZXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBoZWFkZXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgJGhlYWRlci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkaGVhZGVyLWJyYW5kLWhlaWdodCkgKiAuNSAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtbWFyZ2luLWVuZDogICAgICAgMXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRoZWFkZXItYnJhbmQtY29sb3I6ICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGhlYWRlci1icmFuZC1ob3Zlci1jb2xvcjogICAgICBzaGFkZS1jb2xvcigkZ3JheS05MDAsIDEwJSkgIWRlZmF1bHQ7XG5cbiRoZWFkZXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGhlYWRlci10b2dnbGVyLXBhZGRpbmcteDogICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvZ2dsZXItY29sb3I6ICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC42NSkgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvZ2dsZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGhlYWRlci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvZ2dsZXItaG92ZXItY29sb3I6ICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpICFkZWZhdWx0O1xuXG4kaGVhZGVyLXRvZ2dsZXItaWNvbi1iZzogICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRoZWFkZXItY29sb3J9JyBzdHJva2Utd2lkdGg9JzIuMjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcbiRoZWFkZXItdG9nZ2xlci1ob3Zlci1pY29uLWJnOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JGhlYWRlci1ob3Zlci1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMi4yNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuXG4kaGVhZGVyLW5hdi1saW5rLXBhZGRpbmcteDogICAgIC41cmVtICFkZWZhdWx0O1xuJGhlYWRlci1uYXYtbGluay1wYWRkaW5nLXk6ICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGhlYWRlci1kaXZpZGVyLWJvcmRlci13aWR0aDogICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRoZWFkZXItZGl2aWRlci1ib3JkZXItY29sb3I6ICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGhlYWRlci12YXJpYWJsZXNcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aHVtYm5haWwtdmFyaWFibGVzXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctc20pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aHVtYm5haWwtdmFyaWFibGVzXG5cblxuLy8gRmlndXJlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZmlndXJlLXZhcmlhYmxlc1xuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmaWd1cmUtdmFyaWFibGVzXG5cblxuLy8gQnJlYWRjcnVtYnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItdmFyaWFibGVzXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHN0cmluZy5xdW90ZShcIi9cIikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQ6ICAgICAgICAkYnJlYWRjcnVtYi1kaXZpZGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYnJlYWRjcnVtYi12YXJpYWJsZXNcblxuLy8gQ2Fyb3VzZWxcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsLXZhcmlhYmxlc1xuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLWZpbHRlcjogICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5OiAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk6ICAxICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J00xMS4zNTQgMS42NDZhLjUuNSAwIDAgMSAwIC43MDhMNS43MDcgOGw1LjY0NyA1LjY0NmEuNS41IDAgMCAxLS43MDguNzA4bC02LTZhLjUuNSAwIDAgMSAwLS43MDhsNi02YS41LjUgMCAwIDEgLjcwOCAwJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTQuNjQ2IDEuNjQ2YS41LjUgMCAwIDEgLjcwOCAwbDYgNmEuNS41IDAgMCAxIDAgLjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOC0uNzA4TDEwLjI5MyA4IDQuNjQ2IDIuMzU0YS41LjUgMCAwIDEgMC0uNzA4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC1kYXJrLXZhcmlhYmxlc1xuJGNhcm91c2VsLWRhcmstaW5kaWNhdG9yLWFjdGl2ZS1iZzogICRibGFjayAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjJcbiRjYXJvdXNlbC1kYXJrLWNhcHRpb24tY29sb3I6ICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4yXG4kY2Fyb3VzZWwtZGFyay1jb250cm9sLWljb24tZmlsdGVyOiAgaW52ZXJ0KDEpIGdyYXlzY2FsZSgxMDApICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjMuMlxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbC1kYXJrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci12YXJpYWJsZXNcbiRzaWRlYmFyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNnJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLXdpZHRoczogKFxuICBzbTogMTJyZW0sXG4gIGxnOiAyMHJlbSxcbiAgeGw6IDI0cmVtXG4pICFkZWZhdWx0O1xuJHNpZGViYXItbmFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgIDRyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRzaWRlYmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJHNpZGViYXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kc2lkZWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQgLjE1cywgbWFyZ2luLXJpZ2h0IC4xNXMsIGJveC1zaGFkb3cgLjA3NXMsIHRyYW5zZm9ybSAuMTVzLCB3aWR0aCAuMTVzLCB6LWluZGV4IDBzIGVhc2UgLjE1cyAhZGVmYXVsdDtcbiRzaWRlYmFyLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1icmFuZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kc2lkZWJhci1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kc2lkZWJhci1vdmVybGFpZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuJHNpZGViYXItbmFycm93LXVuZm9sZGFibGUtYm94LXNoYWRvdzogICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItbmF2LXZhcmlhYmxlc1xuJHNpZGViYXItbmF2LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLXBhZGRpbmcteSAqIC41ICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLXBhZGRpbmcteCAqIC41ICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWdhcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcblxuJHNpZGViYXItbmF2LXRpdGxlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi10aXRsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LXRpdGxlLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi10aXRsZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICBoZWlnaHQgLjE1cywgbWFyZ2luIC4xNXMgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1iZzogICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgYmFja2dyb3VuZCAuMTVzIGVhc2UsIGNvbG9yIC4xNXMgZWFzZSwgZ2FwIC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJHNpZGViYXItY29tcGFjdC1uYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgIC41NjI1cmVtICFkZWZhdWx0O1xuXG4kc2lkZWJhci1uYXJyb3ctbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHNpZGViYXItbmFycm93LW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kc2lkZWJhci1uYXYtbGluay1pY29uLW1hcmdpbjogICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLWljb24taGVpZ2h0OiAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstaWNvbi1mb250LXNpemU6ICAgICAgICAgICAgICRzaWRlYmFyLW5hdi1saW5rLWljb24taGVpZ2h0ICFkZWZhdWx0O1xuXG4kc2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1zaXplOiAgICAgICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1ib3JkZXItd2lkdGg6ICAgMXB4ICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstaWNvbi1idWxsZXQtYm9yZGVyLWNvbG9yOiAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1ib3JkZXItcmFkaXVzOiAgNTByZW0gIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstaG92ZXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstaG92ZXItaWNvbi1idWxsZXQtYmc6ICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1ob3Zlci1pY29uLWJ1bGxldC1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstYWN0aXZlLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1pY29uLWJ1bGxldC1iZzogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWxpbmstYWN0aXZlLWljb24tYnVsbGV0LWJvcmRlci1jb2xvcjogICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcblxuJHNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1pY29uLWJ1bGxldC1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWljb24tYnVsbGV0LWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLW5hdi1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1ncm91cC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtZ3JvdXAtdG9nZ2xlLXNob3ctY29sb3I6ICAgICAgICAgJHNpZGViYXItbmF2LWxpbmstY29sb3IgIWRlZmF1bHQ7XG5cbiRzaWRlYmFyLW5hdi1ncm91cC1pdGVtcy1wYWRkaW5nLXk6ICAgICAgICAgICAwICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWdyb3VwLWl0ZW1zLXBhZGRpbmcteDogICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtZ3JvdXAtaXRlbXMtdHJhbnNpdGlvbjogICAgICAgICAgaGVpZ2h0IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJHNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci1uYXYtZ3JvdXAtaW5kaWNhdG9yLWljb246ICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1ob3Zlci1jb2xvcjogICAgICRzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1ob3Zlci1pY29uOiAgICAgICRzaWRlYmFyLW5hdi1ncm91cC1pbmRpY2F0b3ItaWNvbiAhZGVmYXVsdDtcbiRzaWRlYmFyLW5hdi1ncm91cC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICB0cmFuc2Zvcm0gLjE1cyAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1uYXYtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLXRvZ2dsZXJcbiRzaWRlYmFyLXRvZ2dsZXItd2lkdGg6ICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHNpZGViYXItdG9nZ2xlci1oZWlnaHQ6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kc2lkZWJhci10b2dnbGVyLWJnOiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzaWRlYmFyLXRvZ2dsZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kc2lkZWJhci10b2dnbGVyLWljb246ICAgICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTBBJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUxMiA1MTInJTNFJTNDZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHRyYW5zZm9ybT0nbWF0cml4KC0xIDAgMCAtMSA1MTIgNTEyKSclM0UlM0NwYXRoIGZpbGw9JyUyMzAwMCcgZD0nTTQ3MiwxNkg0MEEyNC4wMjgsMjQuMDI4LDAsMCwwLDE2LDQwVjIwMEg0OFY0OEg0NjRWNDY0SDQ4VjMwNEgxNlY0NzJhMjQuMDI4LDI0LjAyOCwwLDAsMCwyNCwyNEg0NzJhMjQuMDI4LDI0LjAyOCwwLDAsMCwyNC0yNFY0MEEyNC4wMjgsMjQuMDI4LDAsMCwwLDQ3MiwxNlonLyUzRSUzQ3BvbHlnb24gZmlsbD0nJTIzMDAwJyBwb2ludHM9JzIwOS4zNzcgMzYzLjMwNiAyMzIuMDA0IDM4NS45MzMgMzY2LjYyNyAyNTEuMzEgMjMyLjAwNCAxMTYuNjg3IDIwOS4zNzcgMTM5LjMxMyAzMDUuMzc0IDIzNS4zMTEgMTYgMjM1LjMxMSAxNiAyNjcuMzExIDMwNS4zNzIgMjY3LjMxMSAyMDkuMzc3IDM2My4zMDYnLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcbiRzaWRlYmFyLXRvZ2dsZXItZm9jdXMtc2hhZG93OiAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kc2lkZWJhci10b2dnbGVyLWhvdmVyLWNvbG9yOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRzaWRlYmFyLXRvZ2dsZXItZm9jdXMtY29sb3I6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHNpZGViYXItdG9nZ2xlci10cmFuc2l0aW9uOiAgICAgICAgdHJhbnNmb3JtIC4xNXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItdG9nZ2xlclxuXG4vLyBGb290ZXJcbi8vIHNjc3MtZG9jcy1zdGFydCBmb290ZXItdmFyaWFibGVzXG4kZm9vdGVyLW1pbi1oZWlnaHQ6ICAgIDNyZW0gIWRlZmF1bHQ7XG4kZm9vdGVyLXBhZGRpbmcteTogICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRmb290ZXItcGFkZGluZy14OiAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRmb290ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb290ZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGZvb3Rlci1ib3JkZXItd2lkdGg6ICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb290ZXItYm9yZGVyLWNvbG9yOiAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvb3Rlci12YXJpYWJsZXNcblxuLy8gU3Bpbm5lcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItdmFyaWFibGVzXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogLjc1cyAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci12YXJpYWJsZXNcblxuXG4vLyBDbG9zZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtdmFyaWFibGVzXG4kYnRuLWNsb3NlLXdpZHRoOiAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaGVpZ2h0OiAgICAgICAgICAgJGJ0bi1jbG9zZS13aWR0aCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy14OiAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteTogICAgICAgICRidG4tY2xvc2UtcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1jb2xvcjogICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWJnOiAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRidG4tY2xvc2UtY29sb3J9Jz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWZpbHRlcjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjJcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtdmFyaWFibGVzXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY0LjIuNiwgcmVtb3ZpbmcgaW4gdjZcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBsaXN0LmFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBsaXN0LmFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLW1peGluc1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3Atc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwiQHVzZSBcIm1peGlucy9saXN0c1wiIGFzICo7XG5AdXNlIFwidmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwicmVib290XCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4vL1xuLy8gSGVhZGluZ3Ncbi8vXG4uaDEge1xuICBAZXh0ZW5kIGgxO1xufVxuXG4uaDIge1xuICBAZXh0ZW5kIGgyO1xufVxuXG4uaDMge1xuICBAZXh0ZW5kIGgzO1xufVxuXG4uaDQge1xuICBAZXh0ZW5kIGg0O1xufVxuXG4uaDUge1xuICBAZXh0ZW5kIGg1O1xufVxuXG4uaDYge1xuICBAZXh0ZW5kIGg2O1xufVxuXG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbkBlYWNoICRkaXNwbGF5LCAkZm9udC1zaXplIGluICRkaXNwbGF5LWZvbnQtc2l6ZXMge1xuICAuZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgZm9udC1mYW1pbHk6ICRkaXNwbGF5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRkaXNwbGF5LWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5LWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIH1cbn1cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuLnNtYWxsIHtcbiAgQGV4dGVuZCBzbWFsbDtcbn1cblxuLm1hcmsge1xuICBAZXh0ZW5kIG1hcms7XG59XG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5pdGlhbGlzbS1mb250LXNpemUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkYmxvY2txdW90ZS1tYXJnaW4teTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBtYXJnaW4tdG9wOiAtJGJsb2NrcXVvdGUtbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRibG9ja3F1b3RlLW1hcmdpbi15O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1mb290ZXItY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JveC1zaGFkb3dcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9pbWFnZVwiIGFzICo7XG5AdXNlIFwidmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcblxuLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10aHVtYm5haWwtYmcsICR0aHVtYm5haWwtYmcpO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkIHZhcigtLSN7JHByZWZpeH10aHVtYm5haWwtYm9yZGVyLWNvbG9yLCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyICogLjU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZmlndXJlLWNhcHRpb24tY29sb3IsICRmaWd1cmUtY2FwdGlvbi1jb2xvcik7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG4iLCJAdXNlIFwibWl4aW5zL2JyZWFrcG9pbnRzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvY29udGFpbmVyXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1jb250YWluZXItY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLy8gQ29udGFpbmVyIG1peGluc1xuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGNvbnRhaW5lci1wYWRkaW5nLXgpIHtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JGd1dHRlcn07XG4gIC0tI3skcHJlZml4fWd1dHRlci15OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC5rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGxpc3QuaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIC8vIFVzZSBAaWYvQGVsc2UgYmVjYXVzZSBsaXN0Lm50aCB3b3VsZCBlcnJvciBpZiBldmFsdWF0ZWQgd2hlbiAkbiBlcXVhbHMgbGlzdCBsZW5ndGhcbiAgQGlmICRuIDwgbGlzdC5sZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpIHtcbiAgICBAcmV0dXJuIGxpc3QubnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLmdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZihzYXNzKCRtaW4gIT0gMCk6ICRtaW47IGVsc2U6IG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKHNhc3MoJG1heCBhbmQgJG1heCA+IDApOiAkbWF4IC0gLjAyOyBlbHNlOiBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoc2FzcyhicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsKTogXCJcIjsgZWxzZTogXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBDb250YWluZXIgcXVlcnkgbWl4aW5zXG4vL1xuXG4vLyBDb250YWluZXIgcXVlcnkgZm9yIGFwcGx5aW5nIHN0eWxlcyB3aGVuIHRoZSBjb250YWluZXLigJlzIGlubGluZSBzaXplIGlzIGF0IGxlYXN0IHRoZSBicmVha3BvaW504oCZcyBtaW5pbXVtIHdpZHRoLlxuQG1peGluIGNvbnRhaW5lci1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRjcS1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQGNvbnRhaW5lciAobWluLXdpZHRoOiAjeyRtaW59KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIENvbnRhaW5lciBxdWVyeSBmb3IgYXBwbHlpbmcgc3R5bGVzIHdoZW4gdGhlIGNvbnRhaW5lcuKAmXMgaW5saW5lIHNpemUgaXMgYXQgbW9zdCB0aGUgYnJlYWtwb2ludOKAmXMgbWF4aW11bSB3aWR0aC5cbkBtaXhpbiBjb250YWluZXItYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRjcS1ncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQGNvbnRhaW5lciAobWF4LXdpZHRoOiAjeyRtYXh9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIENvbnRhaW5lciBxdWVyeSBmb3IgYXBwbHlpbmcgc3R5bGVzIGJldHdlZW4gdHdvIGJyZWFrcG9pbnRzLlxuQG1peGluIGNvbnRhaW5lci1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGNxLWdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAY29udGFpbmVyIChtaW4td2lkdGg6ICN7JG1pbn0pIGFuZCAobWF4LXdpZHRoOiAjeyRtYXh9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICAvLyBXaGVuIHRoZSB1cHBlciBicmVha3BvaW50IGlzIHRoZSBsYXN0IG9uZS5cbiAgICBAaW5jbHVkZSBjb250YWluZXItYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgLy8gV2hlbiB0aGUgbG93ZXIgYnJlYWtwb2ludCBpcyB0aGUgc21hbGxlc3QuXG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbnRhaW5lciBxdWVyeSBmb3IgYXBwbHlpbmcgc3R5bGVzIG9ubHkgd2l0aGluIGEgc2luZ2xlIGJyZWFrcG9pbnQgcmFuZ2UuXG5AbWl4aW4gY29udGFpbmVyLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkY3EtZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAY29udGFpbmVyIChtaW4td2lkdGg6ICN7JG1pbn0pIGFuZCAobWF4LXdpZHRoOiAjeyRtYXh9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICAvLyBMYXN0IGJyZWFrcG9pbnQg4oCTIG5vIG1heGltdW0gcXVlcnkuXG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgLy8gRmlyc3QgYnJlYWtwb2ludCDigJMgbm8gbWluaW11bSBxdWVyeS5cbiAgICBAaW5jbHVkZSBjb250YWluZXItYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcIm1peGlucy9ncmlkXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4kaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZzogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbjpyb290IHtcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS0jeyRwcmVmaXh9YnJlYWtwb2ludC0jeyRuYW1lfTogI3skdmFsdWV9O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9bW9iaWxlLWJyZWFrcG9pbnQ6ICN7JG1vYmlsZS1icmVha3BvaW50fTtcbn1cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcblxuICAgID4gKiB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgkaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZyk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWNzc2dyaWQge1xuICAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS0jeyRwcmVmaXh9cm93cywgMSksIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tI3skcHJlZml4fWNvbHVtbnMsICN7JGdyaWQtY29sdW1uc30pLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tI3skcHJlZml4fWdhcCwgI3skZ3JpZC1ndXR0ZXItd2lkdGh9KTtcblxuICAgIEBpbmNsdWRlIG1ha2UtY3NzZ3JpZCgpO1xuICB9XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cblxuQGlmICRlbmFibGUtY29udGFpbmVyLXF1ZXJpZXMge1xuICAuY3EtY29udGFpbmVyIHtcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIH1cblxuICAuY3Etcm93IHtcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcblxuICAgID4gKiB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgkaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWFrZS1jLWdyaWQtY29sdW1ucygpO1xufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5AdXNlIFwiYnJlYWtwb2ludHNcIiBhcyAqO1xuQHVzZSBcIi4uL2Z1bmN0aW9ucy9tYXRoXCIgYXMgKjtcbkB1c2UgXCIuLi9tYXBzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLy8gVE9ETzogUmV2aXNpdCBjYWxjIG9yZGVyIGFmdGVyIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC1ib290c3RyYXAvcmVhY3QtYm9vdHN0cmFwL2lzc3Vlcy82MDM5IGlzIGZpeGVkXG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nOiBmYWxzZSkge1xuICAvLyBBZGQgYm94IHNpemluZyBpZiBvbmx5IHRoZSBncmlkIGlzIGxvYWRlZFxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgYm94LXNpemluZzogaWYoc2FzcyhtZXRhLnZhcmlhYmxlLWV4aXN0cyhpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nKSBhbmQgJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcpOiBib3JkZXItYm94KTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHNldCB0aGUgd2lkdGhcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUHJldmVudCBgLmNvbC1hdXRvYCwgYC5jb2xgICgmIHJlc3BvbnNpdmUgdmFyaWFudHMpIGZyb20gYnJlYWtpbmcgb3V0IHRoZSBncmlkXG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZTogZmFsc2UsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiAkc2l6ZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IG1hdGgucGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG5cbiAgfSBAZWxzZSB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06IGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgbWFyZ2luLWlubGluZS1zdGFydDogaWYoc2FzcygkbnVtID09IDApOiAwOyBlbHNlOiBtYXRoLnBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyIG9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogbWF0aC5wZXJjZW50YWdlKGRpdmlkZSgxLCAkY291bnQpKTtcbiAgfVxufVxuXG4vLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleDogMSAwIDA7XG4gICAgICB9XG5cbiAgICAgIC5yb3ctY29scyN7JGluZml4fS1hdXRvID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gR3V0dGVyc1xuICAgICAgLy9cbiAgICAgIC8vIE1ha2UgdXNlIG9mIGAuZy0qYCwgYC5neC0qYCBvciBgLmd5LSpgIHV0aWxpdGllcyB0byBjaGFuZ2Ugc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRndXR0ZXJzIHtcbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd4I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3kjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jc3NncmlkKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC5rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5nLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgd2l0aCBgMWAgYmVjYXVzZSBgMGAgaXMgYW4gaW52YWxpZCB2YWx1ZS5cbiAgICAgICAgLy8gRW5kcyB3aXRoIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZS5cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgLmctc3RhcnQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6ICRpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC5rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIGNvbnRhaW5lci1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jcS1jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY3EtY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleDogMSAwIDA7XG4gICAgICB9XG5cbiAgICAgIC5jcS1yb3ctY29scyN7JGluZml4fS1hdXRvID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5jcS1yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jcS1jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jcS1jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5jcS1vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gR3V0dGVyc1xuICAgICAgLy9cbiAgICAgIC8vIE1ha2UgdXNlIG9mIGAuY3EtZy0qYCwgYC5jcS1neC0qYCBvciBgLmNxLWd5LSpgIHV0aWxpdGllcyB0byBjaGFuZ2Ugc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRndXR0ZXJzIHtcbiAgICAgICAgLmNxLWcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmNxLWd4I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICAuY3EtZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuY3EtZ3kjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwibWl4aW5zL2JyZWFrcG9pbnRzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvdGFibGUtdmFyaWFudHNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIC8vIFJlc2V0IG5lZWRlZCBmb3IgbmVzdGluZyB0YWJsZXNcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiBpbml0aWFsO1xuICAvLyBFbmQgb2YgcmVzZXRcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JHRhYmxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmc6ICN7JHRhYmxlLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmc6ICN7JHRhYmxlLWFjY2VudC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7JHRhYmxlLXN0cmlwZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnOiAjeyR0YWJsZS1zdHJpcGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAjeyR0YWJsZS1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JHRhYmxlLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAjeyR0YWJsZS1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyR0YWJsZS1ob3Zlci1iZ307XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIHZlcnRpY2FsLWFsaWduOiAkdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcblxuICAvLyBUYXJnZXQgdGggJiB0ZFxuICAvLyBXZSBuZWVkIHRoZSBjaGlsZCBjb21iaW5hdG9yIHRvIHByZXZlbnQgc3R5bGVzIGxlYWtpbmcgdG8gbmVzdGVkIHRhYmxlcyB3aGljaCBkb2Vzbid0IGhhdmUgYSBgLnRhYmxlYCBjbGFzcy5cbiAgLy8gV2UgdXNlIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3JzIGhlcmUgdG8gc2ltcGxpZnkgdGhlIHNlbGVjdG9yIChlbHNlIHdlIHdvdWxkIG5lZWQgNiBkaWZmZXJlbnQgc2VsZWN0b3JzKS5cbiAgLy8gQW5vdGhlciBhZHZhbnRhZ2UgaXMgdGhhdCB0aGlzIGdlbmVyYXRlcyBsZXNzIGNvZGUgYW5kIG1ha2VzIHRoZSBzZWxlY3RvciBsZXNzIHNwZWNpZmljIG1ha2luZyBpdCBlYXNpZXIgdG8gb3ZlcnJpZGUuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXkgJHRhYmxlLWNlbGwtcGFkZGluZy14O1xuICAgIC8vIEZvbGxvd2luZyB0aGUgcHJlY2VwdCBvZiBjYXNjYWRlczogaHR0cHM6Ly9jb2RlcGVuLmlvL21pcmlhbXN1emFubmUvZnVsbC92WU5nb2RiXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcikpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmcpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgOTk5OXB4IHZhcigtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmcpKSk7XG4gIH1cblxuICA+IHRib2R5IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgfVxuXG4gID4gdGhlYWQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbn1cblxuLnRhYmxlLWdyb3VwLWRpdmlkZXIge1xuICBib3JkZXItdG9wOiBjYWxjKCN7JHRhYmxlLWJvcmRlci13aWR0aH0gKiAyKSBzb2xpZCAkdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG4vL1xuLy8gQ2hhbmdlIHBsYWNlbWVudCBvZiBjYXB0aW9ucyB3aXRoIGEgY2xhc3Ncbi8vXG5cbi5jYXB0aW9uLXRvcCB7XG4gIGNhcHRpb24tc2lkZTogdG9wO1xufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtICR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG4vL1xuLy8gV2hlbiBib3JkZXJzIGFyZSBhZGRlZCBvbiBhbGwgc2lkZXMgb2YgdGhlIGNlbGxzLCB0aGUgY29ybmVycyBjYW4gcmVuZGVyIG9kZCB3aGVuXG4vLyB0aGVzZSBib3JkZXJzIGRvIG5vdCBoYXZlIHRoZSBzYW1lIGNvbG9yIG9yIGlmIHRoZXkgYXJlIHNlbWktdHJhbnNwYXJlbnQuXG4vLyBUaGVyZWZvcmUgd2UgYWRkIHRvcCBhbmQgYm9yZGVyIGJvdHRvbXMgdG8gdGhlIGB0cmBzIGFuZCBsZWZ0IGFuZCByaWdodCBib3JkZXJzXG4vLyB0byB0aGUgYHRkYHMgb3IgYHRoYHNcblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgPiA6bm90KGNhcHRpb24pID4gKiB7XG4gICAgYm9yZGVyLXdpZHRoOiAkdGFibGUtYm9yZGVyLXdpZHRoIDA7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICAgID4gKiB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWJvcmRlcmxlc3Mge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLy8gRm9yIHJvd3Ncbi50YWJsZS1zdHJpcGVkIHtcbiAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKCN7JHRhYmxlLXN0cmlwZWQtb3JkZXJ9KSA+ICoge1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZy10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZyk7XG4gIH1cbn1cblxuLy8gRm9yIGNvbHVtbnNcbi50YWJsZS1zdHJpcGVkLWNvbHVtbnMge1xuICA+IDpub3QoY2FwdGlvbikgPiB0ciA+IDpudGgtY2hpbGQoI3skdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyfSkge1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZy10eXBlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZyk7XG4gIH1cbn1cblxuLy8gQWN0aXZlIHRhYmxlXG4vL1xuLy8gVGhlIGAudGFibGUtYWN0aXZlYCBjbGFzcyBjYW4gYmUgYWRkZWQgdG8gaGlnaGxpZ2h0IHJvd3Mgb3IgY2VsbHNcblxuLnRhYmxlLWFjdGl2ZSB7XG4gIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXN0YXRlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmcpO1xufVxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gID4gdGJvZHkgPiB0cjpob3ZlciA+ICoge1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXN0YXRlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItYmcpO1xuICB9XG59XG5cblxuLy8gVGFibGUgdmFyaWFudHNcbi8vXG4vLyBUYWJsZSB2YXJpYW50cyBzZXQgdGhlIHRhYmxlIGNlbGwgYmFja2dyb3VuZHMsIGJvcmRlciBjb2xvcnNcbi8vIGFuZCB0aGUgY29sb3JzIG9mIHRoZSBzdHJpcGVkLCBob3ZlcmVkICYgYWN0aXZlIHRhYmxlc1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGFibGUtdmFyaWFudHMge1xuICBAaW5jbHVkZSB0YWJsZS12YXJpYW50KCRjb2xvciwgJHZhbHVlKTtcbn1cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAudGFibGUtcmVzcG9uc2l2ZSN7JGluZml4fSB7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6Y29sb3JcIjtcbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi9mdW5jdGlvbnMvY29sb3ItY29udHJhc3RcIiBhcyAqO1xuQHVzZSBcIi4uL2Z1bmN0aW9ucy9jb250cmFzdC1yYXRpb1wiIGFzICo7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLXZhcmlhbnRcbkBtaXhpbiB0YWJsZS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJGNvbG9yOiBjb2xvci1jb250cmFzdChvcGFxdWUoJGJvZHktYmcsICRiYWNrZ3JvdW5kKSk7XG4gICAgJGhvdmVyLWJnOiBjb2xvci5taXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgbWF0aC5wZXJjZW50YWdlKCR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpKTtcbiAgICAkc3RyaXBlZC1iZzogY29sb3IubWl4KCRjb2xvciwgJGJhY2tncm91bmQsIG1hdGgucGVyY2VudGFnZSgkdGFibGUtc3RyaXBlZC1iZy1mYWN0b3IpKTtcbiAgICAkYWN0aXZlLWJnOiBjb2xvci5taXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgbWF0aC5wZXJjZW50YWdlKCR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSk7XG4gICAgJHRhYmxlLWJvcmRlci1jb2xvcjogY29sb3IubWl4KCRjb2xvciwgJGJhY2tncm91bmQsIG1hdGgucGVyY2VudGFnZSgkdGFibGUtYm9yZGVyLWZhY3RvcikpO1xuICAgICRzdHJpcGVkLWNvbG9yOiBjb2xvci1jb250cmFzdCgkc3RyaXBlZC1iZyk7XG4gICAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iZyk7XG4gICAgJGhvdmVyLWNvbG9yOiBjb2xvci1jb250cmFzdCgkaG92ZXItYmcpO1xuXG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JGNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZzogI3skYmFja2dyb3VuZH07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmc6ICN7JHN0cmlwZWQtYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7JHN0cmlwZWQtY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItYmc6ICN7JGhvdmVyLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3skaG92ZXItY29sb3J9O1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3IpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtdmFyaWFudFxuIiwiQHVzZSBcIi4uL2Z1bmN0aW9ucy9tYXRoXCIgYXMgKjtcbkB1c2UgXCIuLi92ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4uZm9ybS1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1sYWJlbC1mb250LXNpemUpO1xuICBmb250LXN0eWxlOiAkZm9ybS1sYWJlbC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbn1cbiIsIkB1c2UgXCIuLi92ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vL1xuLy8gRm9ybSB0ZXh0XG4vL1xuXG4uZm9ybS10ZXh0IHtcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tdGV4dC1mb250LXNpemUpO1xuICBmb250LXN0eWxlOiAkZm9ybS10ZXh0LWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS10ZXh0LWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi9taXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2JveC1zaGFkb3dcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9ncmFkaWVudHNcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCIuLi92ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vL1xuLy8gR2VuZXJhbCBmb3JtIGNvbnRyb2xzIChwbHVzIGEgZmV3IHNwZWNpZmljIGhpZ2gtbGV2ZWwgaW50ZXJ2ZW50aW9ucylcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgJlt0eXBlPVwiZmlsZVwiXSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gcHJldmVudCBwc2V1ZG8gZWxlbWVudCBidXR0b24gb3ZlcmxhcFxuXG4gICAgJjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICAgIC8vIE9uIEFuZHJvaWQgQ2hyb21lLCBmb3JtLWNvbnRyb2wncyBcIndpZHRoOiAxMDAlXCIgbWFrZXMgdGhlIGlucHV0IHdpZHRoIHRvbyBzbWFsbFxuICAgIC8vIFRlc3RlZCB1bmRlciBBbmRyb2lkIDExIC8gQ2hyb21lIDg5LCBBbmRyb2lkIDEyIC8gQ2hyb21lIDEwMCwgQW5kcm9pZCAxMyAvIENocm9tZSAxMDlcbiAgICAvL1xuICAgIC8vIE9uIGlPUyBTYWZhcmksIGZvcm0tY29udHJvbCdzIFwiYXBwZWFyYW5jZTogbm9uZVwiICsgXCJ3aWR0aDogMTAwJVwiIG1ha2VzIHRoZSBpbnB1dCB3aWR0aCB0b28gc21hbGxcbiAgICAvLyBUZXN0ZWQgdW5kZXIgaU9TIDE2LjIgLyBTYWZhcmkgMTYuMlxuICAgIG1pbi13aWR0aDogODVweDsgLy8gU2VlbXMgdG8gYmUgYSBnb29kIG1pbmltdW0gc2FmZSB3aWR0aFxuXG4gICAgLy8gQWRkIHNvbWUgaGVpZ2h0IHRvIGRhdGUgaW5wdXRzIG9uIGlPU1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjMzMDdcbiAgICAvLyBUT0RPOiB3ZSBjYW4gcmVtb3ZlIHRoaXMgd29ya2Fyb3VuZCBvbmNlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTkgaXMgcmVzb2x2ZWRcbiAgICAvLyBNdWx0aXBseSBsaW5lLWhlaWdodCBieSAxZW0gaWYgaXQgaGFzIG5vIHVuaXRcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgICBoZWlnaHQ6IGlmKHNhc3MobWF0aC51bml0KCRpbnB1dC1saW5lLWhlaWdodCkgPT0gXCJcIik6ICRpbnB1dC1saW5lLWhlaWdodCAqIDFlbTsgZWxzZTogJGlucHV0LWxpbmUtaGVpZ2h0KTtcblxuICAgIC8vIEFuZHJvaWQgQ2hyb21lIHR5cGU9XCJkYXRlXCIgaXMgdGFsbGVyIHRoYW4gdGhlIG90aGVyIGlucHV0c1xuICAgIC8vIGJlY2F1c2Ugb2YgXCJtYXJnaW46IDFweCAyNHB4IDFweCA0cHhcIiBpbnNpZGUgdGhlIHNoYWRvdyBET01cbiAgICAvLyBUZXN0ZWQgdW5kZXIgQW5kcm9pZCAxMSAvIENocm9tZSA4OSwgQW5kcm9pZCAxMiAvIENocm9tZSAxMDAsIEFuZHJvaWQgMTMgLyBDaHJvbWUgMTA5XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gUHJldmVudCBleGNlc3NpdmUgZGF0ZSBpbnB1dCBoZWlnaHQgaW4gV2Via2l0XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMzQ0MzNcbiAgJjo6LXdlYmtpdC1kYXRldGltZS1lZGl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aW5wdXQtcGxhY2Vob2xkZXItY29sb3IsICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjYuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgICAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBGaWxlIGlucHV0IGJ1dHRvbnMgdGhlbWluZ1xuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15KSAoLSRpbnB1dC1wYWRkaW5nLXgpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14O1xuICAgIGNvbG9yOiAkZm9ybS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZm9ybS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1pbmxpbmUtZW5kLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSk6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1maWxlLWJ1dHRvbi1ob3Zlci1iZztcbiAgfVxufVxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20sXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gUmVwZWF0ZWQgaW4gYF9pbnB1dF9ncm91cC5zY3NzYCB0byBhdm9pZCBTYXNzIGV4dGVuZCBpc3N1ZXMuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteS1zbSkgKC0kaW5wdXQtcGFkZGluZy14LXNtKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgfVxufVxuXG4uZm9ybS1jb250cm9sLWxnIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xuXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXktbGcpICgtJGlucHV0LXBhZGRpbmcteC1sZyk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIH1cbn1cblxuLy8gTWFrZSBzdXJlIHRleHRhcmVhcyBkb24ndCBzaHJpbmsgdG9vIG11Y2ggd2hlbiByZXNpemVkXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yOTEyNFxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG50ZXh0YXJlYSB7XG4gICYuZm9ybS1jb250cm9sIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20ge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbiAgfVxufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLmZvcm0tY29udHJvbC1jb2xvciB7XG4gIHdpZHRoOiAkZm9ybS1jb2xvci13aWR0aDtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15O1xuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOjotbW96LWNvbG9yLXN3YXRjaCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotd2Via2l0LWNvbG9yLXN3YXRjaCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSB7IGhlaWdodDogJGlucHV0LWhlaWdodC1zbTsgfVxuICAmLmZvcm0tY29udHJvbC1sZyB7IGhlaWdodDogJGlucHV0LWhlaWdodC1sZzsgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsaXN0Lmxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIGxpc3QubnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIGFuZCBsaXN0Lm50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbGlzdC5udGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBHcmFkaWVudHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LWJnLW1peGluXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yOiBudWxsKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtYmctbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYWRpZW50LW1peGluc1xuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IG51bGwsICRlbmQtcGVyY2VudDogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1taXhpbnNcbiIsIkB1c2UgXCIuLi9mdW5jdGlvbnMvZXNjYXBlLXN2Z1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9ib3gtc2hhZG93XCIgYXMgKjtcbkB1c2UgXCIuLi9taXhpbnMvY29sb3ItbW9kZVwiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2x0ci1ydGxcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCIuLi92ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlcy1kYXJrXCIgYXMgKjtcblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cblxuLmZvcm0tc2VsZWN0IHtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nOiAje2VzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvcil9O1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXk7XG4gIGZvbnQtZmFtaWx5OiAkZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLXNlbGVjdC1jb2xvcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tc2VsZWN0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nKSwgdmFyKC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWljb24sIG5vbmUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBAaW5jbHVkZSBsdHItcnRsLXZhbHVlLW9ubHkoXCJiYWNrZ3JvdW5kLXBvc2l0aW9uXCIsICRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbik7XG4gIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemU7XG4gIGJvcmRlcjogJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tc2VsZWN0LXRyYW5zaXRpb24pO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdywgJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG91dGxpbmUgZnJvbSBzZWxlY3QgYm94IGluIEZGXG4gICY6LW1vei1mb2N1c3Jpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDAgJGZvcm0tc2VsZWN0LWNvbG9yO1xuICB9XG59XG5cbi5mb3JtLXNlbGVjdC1zbSB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtO1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLXNlbGVjdC1sZyB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcIi4uL2Z1bmN0aW9ucy9zdHItcmVwbGFjZVwiIGFzICo7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLy8gQXBwbGllcyBzdHlsZXMgb25seSB3aGVuIExUUiBpcyBlbmFibGVkIGFuZCB0aGUgSFRNTCBkb2VzIE5PVCBoYXZlIHRoZSBcInJ0bFwiXG4vLyBhdHRyaWJ1dGUgKGkuZS4sIGxlZnQtdG8tcmlnaHQgY29udGV4dHMpLlxuXG5AbWl4aW4gbHRyIHtcbiAgQGlmICRlbmFibGUtbHRyIHtcbiAgICBodG1sOm5vdChbZGlyPVwicnRsXCJdKSAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBcHBsaWVzIHN0eWxlcyBvbmx5IHdoZW4gUlRMIGlzIGVuYWJsZWQgYW5kIHRoZSBlbGVtZW50IGlzIHdpdGhpbiBhbiBSVExcbi8vIGNvbnRleHQgKGkuZS4sIHRoZSBlbGVtZW50IGlzIGEgZGVzY2VuZGFudCBvZiBhbiBlbGVtZW50IHdpdGggZGlyPVwicnRsXCIpLlxuXG5AbWl4aW4gcnRsIHtcbiAgQGlmICRlbmFibGUtcnRsIHtcbiAgICAqW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIGZ1bmN0aW9uIHRha2VzIGFuIGVsZW1lbnQgKG9yIHN0cmluZykgYW5kIHJldHVybnMgaXRzIFwibWlycm9yZWRcIiB2ZXJzaW9uLlxuLy8gRm9yIGV4YW1wbGUsIGl0IHdpbGwgcmVwbGFjZSBcImxlZnRcIiB3aXRoIFwicmlnaHRcIiBhbmQgdmljZSB2ZXJzYS5cblxuQGZ1bmN0aW9uIHJlZmxlY3QoJGVsZW1lbnQpIHtcbiAgJHN0cmluZzogI3skZWxlbWVudH07XG4gIEBpZiBzdHJpbmcuaW5kZXgoJHN0cmluZywgXCJsZWZ0XCIpIHtcbiAgICBAcmV0dXJuIHN0ci1yZXBsYWNlKCRzdHJpbmcsIFwibGVmdFwiLCBcInJpZ2h0XCIpO1xuICB9XG4gIEBpZiBzdHJpbmcuaW5kZXgoJHN0cmluZywgXCJyaWdodFwiKSB7XG4gICAgQHJldHVybiBzdHItcmVwbGFjZSgkc3RyaW5nLCBcInJpZ2h0XCIsIFwibGVmdFwiKTtcbiAgfVxuXG4gIEByZXR1cm4gc3RyaW5nLnVucXVvdGUoJHN0cmluZyk7XG59XG5cbi8vIEdlbmVyYXRlcyBDU1MgZm9yIGEgZ2l2ZW4gcHJvcGVydHkgd2l0aCBkaWZmZXJlbnQgdmFsdWVzIGZvciBMVFIgYW5kIFJUTFxuLy8gY29udGV4dHMuIEFsbG93cyBhbiBvcHRpb25hbCBjdXN0b20gcHJvcGVydHkgbmFtZSBhbmQgdmFsdWUgZm9yIFJUTC5cbi8vXG4vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5IC0gVGhlIENTUyBwcm9wZXJ0eSBmb3IgTFRSIGNvbnRleHQgKGUuZy4sIG1hcmdpbi1sZWZ0KS5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWUgLSBUaGUgdmFsdWUgZm9yIHRoZSBwcm9wZXJ0eSBpbiBMVFIgY29udGV4dC5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHktcnRsIC0gT3B0aW9uYWwgY3VzdG9tIHByb3BlcnR5IG5hbWUgZm9yIFJUTCBjb250ZXh0LlxuLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZS1ydGwgLSBPcHRpb25hbCBjdXN0b20gdmFsdWUgZm9yIFJUTCBjb250ZXh0LlxuLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IC0gT3B0aW9uYWwgXCIhaW1wb3J0YW50XCIgZmxhZy5cblxuQG1peGluIGx0ci1ydGwoJHByb3BlcnR5LCAkdmFsdWUsICRwcm9wZXJ0eS1ydGw6IG51bGwsICR2YWx1ZS1ydGw6IG51bGwsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICRwcm9wZXJ0eS1yZWZsZWN0ZWQ6IHJlZmxlY3QoJHByb3BlcnR5KTtcbiAgJHZhbHVlLXJlZmxlY3RlZDogcmVmbGVjdCgkdmFsdWUpO1xuXG4gIEBpZiAkZW5hYmxlLWx0ciBhbmQgJGVuYWJsZS1ydGwge1xuICAgIEBpbmNsdWRlIGx0cigpIHtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2F0LWZ1bmN0aW9uLW5hbWVkLWFyZ3VtZW50c1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoc2FzcygkaW1wb3J0YW50KTogIWltcG9ydGFudCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJ0bCgpIHtcbiAgICAgIEBpZiAkdmFsdWUtcnRsIHtcbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gICAgICAgICN7JHByb3BlcnR5LXJlZmxlY3RlZH06ICR2YWx1ZS1ydGwgaWYoc2FzcygkaW1wb3J0YW50KTogIWltcG9ydGFudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2F0LWZ1bmN0aW9uLW5hbWVkLWFyZ3VtZW50c1xuICAgICAgICAjeyRwcm9wZXJ0eS1yZWZsZWN0ZWR9OiAkdmFsdWUtcmVmbGVjdGVkIGlmKHNhc3MoJGltcG9ydGFudCk6ICFpbXBvcnRhbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRlbmFibGUtcnRsIHtcbiAgICAgIEBpZiAkdmFsdWUtcnRsIHtcbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gICAgICAgICN7JHByb3BlcnR5LXJlZmxlY3RlZH06ICR2YWx1ZS1ydGwgaWYoc2FzcygkaW1wb3J0YW50KTogIWltcG9ydGFudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2F0LWZ1bmN0aW9uLW5hbWVkLWFyZ3VtZW50c1xuICAgICAgICAjeyRwcm9wZXJ0eS1yZWZsZWN0ZWR9OiAkdmFsdWUtcmVmbGVjdGVkIGlmKHNhc3MoJGltcG9ydGFudCk6ICFpbXBvcnRhbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKHNhc3MoJGltcG9ydGFudCk6ICFpbXBvcnRhbnQpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaW1pbGFyIHRvIGx0ci1ydGwgYnV0IGFzc3VtZXMgdGhlIHByb3BlcnR5IG5hbWUgaXMgdGhlIHNhbWUgZm9yIGJvdGhcbi8vIGNvbnRleHRzLiBJdCBvbmx5IG1pcnJvcnMgdGhlIHZhbHVlIGZvciBSVEwgaWYgYSBjdXN0b20gUlRMIHZhbHVlIGlzIG5vdFxuLy8gcHJvdmlkZWQuXG4vL1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSAtIFRoZSBDU1MgcHJvcGVydHkgdG8gYXBwbHkuXG4vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlIC0gVGhlIHZhbHVlIGZvciB0aGUgcHJvcGVydHkgaW4gTFRSIGNvbnRleHQuXG4vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlLXJ0bCAtIE9wdGlvbmFsIGN1c3RvbSB2YWx1ZSBmb3IgUlRMIGNvbnRleHQuXG4vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgLSBPcHRpb25hbCBcIiFpbXBvcnRhbnRcIiBmbGFnLlxuXG5AbWl4aW4gbHRyLXJ0bC12YWx1ZS1vbmx5KCRwcm9wZXJ0eSwgJHZhbHVlLCAkdmFsdWUtcnRsOiBudWxsLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAkdmFsdWUtcmVmbGVjdGVkOiByZWZsZWN0KCR2YWx1ZSk7XG5cbiAgQGlmICRlbmFibGUtbHRyIGFuZCAkZW5hYmxlLXJ0bCB7XG4gICAgQGluY2x1ZGUgbHRyKCkge1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZihzYXNzKCRpbXBvcnRhbnQpOiAhaW1wb3J0YW50KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgQGlmICR2YWx1ZS1ydGwge1xuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUtcnRsIGlmKHNhc3MoJGltcG9ydGFudCk6ICFpbXBvcnRhbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2F0LWZ1bmN0aW9uLW5hbWVkLWFyZ3VtZW50c1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZS1yZWZsZWN0ZWQgaWYoc2FzcygkaW1wb3J0YW50KTogIWltcG9ydGFudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJGVuYWJsZS1ydGwge1xuICAgICAgQGlmICR2YWx1ZS1ydGwge1xuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUtcnRsIGlmKHNhc3MoJGltcG9ydGFudCk6ICFpbXBvcnRhbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2F0LWZ1bmN0aW9uLW5hbWVkLWFyZ3VtZW50c1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZS1yZWZsZWN0ZWQgaWYoc2FzcygkaW1wb3J0YW50KTogIWltcG9ydGFudCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKHNhc3MoJGltcG9ydGFudCk6ICFpbXBvcnRhbnQpO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vZnVuY3Rpb25zL2VzY2FwZS1zdmdcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCIuLi9taXhpbnMvY29sb3ItbW9kZVwiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5AdXNlIFwiLi4vdmFyaWFibGVzLWRhcmtcIiBhcyAqO1xuXG4vL1xuLy8gQ2hlY2svcmFkaW9cbi8vXG5cbi5mb3JtLWNoZWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6ICRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1jaGVjay1tYXJnaW4tYm90dG9tO1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBmbG9hdDogaW5saW5lLXN0YXJ0O1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgcGFkZGluZy1pbmxpbmU6IDAgJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDtcbiAgdGV4dC1hbGlnbjogZW5kO1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBmbG9hdDogaW5saW5lLWVuZDtcbiAgICBtYXJnaW4taW5saW5lOiAwICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmc6ICN7JGZvcm0tY2hlY2staW5wdXQtYmd9O1xuXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogJGZvcm0tY2hlY2staW5wdXQtd2lkdGg7XG4gIGhlaWdodDogJGZvcm0tY2hlY2staW5wdXQtd2lkdGg7XG4gIG1hcmdpbi10b3A6ICgkbGluZS1oZWlnaHQtYmFzZSAtICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoKSAqIC41OyAvLyBsaW5lLWhlaWdodCBtaW51cyBjaGVjayBoZWlnaHRcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBib3JkZXI6ICRmb3JtLWNoZWNrLWlucHV0LWJvcmRlcjtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1jaGVjay10cmFuc2l0aW9uKTtcblxuICAmW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBmaWx0ZXI6ICRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAmOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3IsICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3IpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3IsICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yKTtcblxuICAgICZbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlKX07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJlt0eXBlPVwiY2hlY2tib3hcIl06aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZSl9O1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGZpbHRlcjogbm9uZTtcbiAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5O1xuICB9XG5cbiAgLy8gVXNlIGRpc2FibGVkIGF0dHJpYnV0ZSBpbiBhZGRpdGlvbiBvZiA6ZGlzYWJsZWQgcHNldWRvLWNsYXNzXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1sYWJlbC1jb2xvciwgJGZvcm0tY2hlY2stbGFiZWwtY29sb3IpO1xuICBjdXJzb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjtcbn1cblxuLy9cbi8vIFN3aXRjaFxuLy9cblxuLmZvcm0tc3dpdGNoIHtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0O1xuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1iZy1pbWFnZSl9O1xuXG4gICAgd2lkdGg6ICRmb3JtLXN3aXRjaC13aWR0aDtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydCAqIC0xO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1cywgMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbik7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlKX07XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uO1xuXG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgICBwYWRkaW5nLWlubGluZTogMCAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDtcblxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IDAgJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJHNpemUsICRtYXAgaW4gJGZvcm0tc3dpdGNoLXdpZHRocyB7XG4gICR3aWR0aDogbWFwLmdldCgkbWFwLCBcIndpZHRoXCIpO1xuICAkaGVpZ2h0OiBtYXAuZ2V0KCRtYXAsIFwiaGVpZ2h0XCIpO1xuXG4gIC5mb3JtLXN3aXRjaC0jeyRzaXplfSB7XG4gICAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogJHdpZHRoICsgLjVlbTtcblxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAoJHdpZHRoICsgLjVlbSkgKiAtMTtcbiAgICB9XG5cbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYygoI3skaGVpZ2h0fSAtICN7JGZvbnQtc2l6ZS1iYXNlfSkgLyAyKTtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4taW5saW5lLWVuZDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi1lbmQ7XG59XG5cbi5idG4tY2hlY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICArIC5idG4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmZvcm0tc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0Om5vdCg6Y2hlY2tlZCk6bm90KDpmb2N1cykge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtYmctaW1hZ2UtZGFyayl9O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcIi4uL2Z1bmN0aW9ucy9tYXRoXCIgYXMgKjtcbkB1c2UgXCIuLi9taXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2JveC1zaGFkb3dcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9ncmFkaWVudHNcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5mb3JtLXJhbmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYWRkKCRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCwgJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aCAqIDIpO1xuICBwYWRkaW5nOiAwOyAvLyBOZWVkIHRvIHJlc2V0IHBhZGRpbmdcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcblxuICAgIC8vIFBzZXVkby1lbGVtZW50cyBtdXN0IGJlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBydWxlc2V0cyB0byBoYXZlIGFuIGVmZmVjdC5cbiAgICAvLyBObyBib3gtc2hhZG93KCkgbWl4aW4gZm9yIGZvY3VzIGFjY2Vzc2liaWxpdHkuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBib3gtc2hhZG93OiAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiAgICAgeyBib3gtc2hhZG93OiAkZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6ICgkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQgLSAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQpICogLjU7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXJhbmdlLXRodW1iLXRyYW5zaXRpb24pO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgLy8gV2h5P1xuICAgIGN1cnNvcjogJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXJhbmdlLXRodW1iLXRyYW5zaXRpb24pO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcIi4uL21peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCIuLi9taXhpbnMvdHJhbnNpdGlvblwiIGFzICo7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLmZvcm0tZmxvYXRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1oZWlnaHQ7XG4gICAgbWluLWhlaWdodDogJGZvcm0tZmxvYXRpbmctaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDtcbiAgfVxuXG4gID4gbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgLy8gYWxsb3cgdGV4dGFyZWFzXG4gICAgcGFkZGluZzogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksICN7JGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eX0pO1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyBSZXF1aXJlZCBmb3IgYWxpZ25pbmcgbGFiZWwncyB0ZXh0IHdpdGggdGhlIGlucHV0IGFzIGl0IGFmZmVjdHMgaW5uZXIgYm94IG1vZGVsXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbik7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgIHBhZGRpbmc6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICAgIH1cbiAgICAvLyBEdXBsaWNhdGVkIGJlY2F1c2UgYDotd2Via2l0LWF1dG9maWxsYCBpbnZhbGlkYXRlcyBvdGhlciBzZWxlY3RvcnMgd2hlbiBncm91cGVkXG4gICAgJjotd2Via2l0LWF1dG9maWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICAgIH1cbiAgfVxuXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogJGZvcm0tZmxvYXRpbmctcGFkZGluZy14O1xuICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICB0cmFuc2Zvcm06ICRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cbiAgLy8gRHVwbGljYXRlZCBiZWNhdXNlIGA6LXdlYmtpdC1hdXRvZmlsbGAgaW52YWxpZGF0ZXMgb3RoZXIgc2VsZWN0b3JzIHdoZW4gZ3JvdXBlZFxuICA+IC5mb3JtLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICB0cmFuc2Zvcm06ICRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cbiAgPiB0ZXh0YXJlYTpmb2N1cyxcbiAgPiB0ZXh0YXJlYTpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gICAgfiBsYWJlbDo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAoJGZvcm0tZmxvYXRpbmctcGFkZGluZy14ICogLjUpO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBoZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWxhYmVsLWhlaWdodDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgPiB0ZXh0YXJlYTpkaXNhYmxlZCB+IGxhYmVsOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDsgLy8gUmVxdWlyZWQgdG8gcHJvcGVybHkgcG9zaXRpb24gbGFiZWwgdGV4dCAtIGFzIGV4cGxhaW5lZCBhYm92ZVxuICAgIH1cbiAgfVxuXG4gID4gOmRpc2FibGVkIH4gbGFiZWwsXG4gID4gLmZvcm0tY29udHJvbDpkaXNhYmxlZCB+IGxhYmVsIHsgLy8gUmVxdWlyZWQgZm9yIGAuZm9ybS1jb250cm9sYHMgYmVjYXVzZSBvZiBzcGVjaWZpY2l0eVxuICAgIGNvbG9yOiAkZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcbkB1c2UgXCIuLi9taXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwiLi4vdmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLXNlbGVjdCxcbiAgPiAuZm9ybS1mbG9hdGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDElO1xuICAgIG1pbi13aWR0aDogMDsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzYyNDcxNDAvd2h5LWRvbnQtZmxleC1pdGVtcy1zaHJpbmstcGFzdC1jb250ZW50LXNpemVcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgdG9wIG9mIHN1cnJvdW5kaW5nIGVsZW1lbnRzXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuZm9ybS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmZvcm0tZmxvYXRpbmc6Zm9jdXMtd2l0aGluIHtcbiAgICB6LWluZGV4OiA1O1xuICB9XG5cbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cbiAgLy8gVGhpcyBpc24ndCBuZWVkZWQgZm9yIGAuaW5wdXQtZ3JvdXAtdGV4dGAgc2luY2UgaXQgc2hhcmVzIHRoZSBzYW1lIGJvcmRlci1jb2xvclxuICAvLyBhcyBvdXIgaW5wdXRzLlxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteSAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWlucHV0LWdyb3VwLWFkZG9uLWNvbG9yLCAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1pbnB1dC1ncm91cC1hZGRvbi1iZywgJGlucHV0LWdyb3VwLWFkZG9uLWJnKTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkIHZhcigtLSN7JHByZWZpeH1pbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3IsICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5idG4ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCB7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteCArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBSb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uaW5wdXQtZ3JvdXAge1xuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoLmRyb3Bkb3duLW1lbnUpOm5vdCguZm9ybS1mbG9hdGluZyksXG4gICAgPiAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6bGFzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAmLmhhcy12YWxpZGF0aW9uIHtcbiAgICA+IDpudGgtbGFzdC1jaGlsZChuICsgMyk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDQpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tY29udHJvbCxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAkdmFsaWRhdGlvbi1tZXNzYWdlczogXCJcIjtcbiAgQGVhY2ggJHN0YXRlIGluIG1hcC5rZXlzKCRmb3JtLXZhbGlkYXRpb24tc3RhdGVzKSB7XG4gICAgJHZhbGlkYXRpb24tbWVzc2FnZXM6ICR2YWxpZGF0aW9uLW1lc3NhZ2VzICsgXCI6bm90KC5cIiArIHN0cmluZy51bnF1b3RlKCRzdGF0ZSkgKyBcIi10b29sdGlwKVwiICsgXCI6bm90KC5cIiArIHN0cmluZy51bnF1b3RlKCRzdGF0ZSkgKyBcIi1mZWVkYmFjaylcIjtcbiAgfVxuXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tbWVudSkjeyR2YWxpZGF0aW9uLW1lc3NhZ2VzfSB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYygtMSAqICN7JGlucHV0LWJvcmRlci13aWR0aH0pOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZpcnN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxufVxuIiwiQHVzZSBcIi4uL2Z1bmN0aW9ucy9lc2NhcGUtc3ZnXCIgYXMgKjtcbkB1c2UgXCIuLi9mdW5jdGlvbnMvbWF0aFwiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9ib3gtc2hhZG93XCIgYXMgKjtcbkB1c2UgXCIuLi9taXhpbnMvbHRyLXJ0bFwiIGFzICo7XG5AdXNlIFwiLi4vdmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLy8gVGhpcyBtaXhpbiB1c2VzIGFuIGBpZigpYCB0ZWNobmlxdWUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIERhcnQgU2Fzc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3MvaXNzdWVzLzE4NzMjaXNzdWVjb21tZW50LTE1MjI5MzcyNSBmb3IgbW9yZSBkZXRhaWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tbWl4aW5zXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICBAaWYgKCRzdGF0ZSA9PSBcInZhbGlkXCIgb3IgJHN0YXRlID09IFwiaW52YWxpZFwiKSB7XG4gICAgLndhcy12YWxpZGF0ZWQgI3tpZihzYXNzKCYpOiBcIiZcIjsgZWxzZTogXCJcIil9OiN7JHN0YXRlfSxcbiAgICAje2lmKHNhc3MoJik6IFwiJlwiOyBlbHNlOiBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3tpZihzYXNzKCYpOiBcIiZcIjsgZWxzZTogXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcbiAgJHN0YXRlLFxuICAkY29sb3IsXG4gICRpY29uLFxuICAkdG9vbHRpcC1jb2xvcjogY29sb3ItY29udHJhc3QoJGNvbG9yLCAkY29sb3ItY29udHJhc3QtZGFyaywgJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCAkd2hpdGUsICRibGFjaywgJG1pbi1jb250cmFzdC1yYXRpbyksXG4gICR0b29sdGlwLWJnLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KSxcbiAgJGZvY3VzLWJveC1zaGFkb3c6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAkYm9yZGVyLWNvbG9yOiAkY29sb3Jcbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgZm9udC1zdHlsZTogJGZvcm0tZmVlZGJhY2stZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZy1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZXNjYXBlLXN2ZygkaWNvbik7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIEBpbmNsdWRlIGx0ci1ydGwtdmFsdWUtb25seShcImJhY2tncm91bmQtcG9zaXRpb25cIiwgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlciwgbGVmdCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBAaW5jbHVkZSBsdHItcnRsLXZhbHVlLW9ubHkoXCJiYWNrZ3JvdW5kLXBvc2l0aW9uXCIsIHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyLCB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGxlZnQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLFxuICAgICAgICAmOm5vdChbbXVsdGlwbGVdKVtzaXplPVwiMVwiXSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaWNvbjogI3tlc2NhcGUtc3ZnKCRpY29uKX07XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWVuZDtcbiAgICAgICAgICBAaW5jbHVkZSBsdHItcnRsLXZhbHVlLW9ubHkoXCJiYWNrZ3JvdW5kLXBvc2l0aW9uXCIsICN7JGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbn0pO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemUsICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdywgJGZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sLWNvbG9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgd2lkdGg6IGFkZCgkZm9ybS1jb2xvci13aWR0aCwgJGlucHV0LWhlaWdodC1pbm5lcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG5cbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zm9jdXMpLFxuICAgID4gLmZvcm0tc2VsZWN0Om5vdCg6Zm9jdXMpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgICAgQGlmICRzdGF0ZSA9PSBcInZhbGlkXCIge1xuICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH0gQGVsc2UgaWYgJHN0YXRlID09IFwiaW52YWxpZFwiIHtcbiAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1taXhpbnNcbiIsIkB1c2UgXCJmdW5jdGlvbnMvY29sb3JcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYm94LXNoYWRvd1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2J1dHRvbnNcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9jb2xvci1tb2RlXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvZ3JhZGllbnRzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvdHJhbnNpdGlvblwiIGFzICo7XG5AdXNlIFwidmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXMtZGFya1wiIGFzICo7XG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBidG4tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteDogI3skYnRuLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXk6ICN7JGJ0bi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1idG4tZm9udC1mYW1pbHk6ICN7JGJ0bi1mb250LWZhbWlseX07XG4gIEBpbmNsdWRlIHJmcygkYnRuLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodDogI3skYnRuLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWxpbmUtaGVpZ2h0OiAjeyRidG4tbGluZS1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGJ0bi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItd2lkdGg6ICN7JGJ0bi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXM6ICN7JGJ0bi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiAjeyRidG4tYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAjeyRidG4tZGlzYWJsZWQtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAjeyRidG4tZm9jdXMtd2lkdGh9IHJnYmEodmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiKSwgLjUpO1xuICAvLyBzY3NzLWRvY3MtZW5kIGJ0bi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1idG4tcGFkZGluZy14KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLSN7JHByZWZpeH1idG4tZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fWJ0bi1saW5lLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKG5vdCBzYXNzKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSk6IG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gIGN1cnNvcjogaWYoc2FzcygkZW5hYmxlLWJ1dHRvbi1wb2ludGVycyk6IHBvaW50ZXIpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJnKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZihzYXNzKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lKTogbm9uZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAuYnRuLWNoZWNrICsgJjpob3ZlciB7XG4gICAgLy8gb3ZlcnJpZGUgZm9yIHRoZSBjaGVja2JveC9yYWRpbyBidXR0b25zXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZykpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpmb2N1cy12aXNpYmxlICsgJiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmNoZWNrZWQgKyAmLFxuICA6bm90KC5idG4tY2hlY2spICsgJjphY3RpdmUsXG4gICY6Zmlyc3QtY2hpbGQ6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJi5zaG93IHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnKTtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZihzYXNzKCRlbmFibGUtZ3JhZGllbnRzKTogbm9uZSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSk7XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmNoZWNrZWQ6Zm9jdXMtdmlzaWJsZSArICYge1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0OmRpc2FibGVkICYge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnKTtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZihzYXNzKCRlbmFibGUtZ3JhZGllbnRzKTogbm9uZSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG4uYnRuLWdob3N0IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1naG9zdC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGJ0bi1naG9zdC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7dHJhbnNwYXJlbnR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRidG4tZ2hvc3QtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYnRuLWdob3N0LWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRidG4tZ2hvc3QtYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRidG4tZ2hvc3QtZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAje3RyYW5zcGFyZW50fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRidG4tZ2hvc3QtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGJ0bi1naG9zdC1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGJ0bi1naG9zdC1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAjeyRidG4tZm9jdXMtd2lkdGh9IHJnYmEoI3skYnRuLW91dGxpbmUtZm9jdXMtc2hhZG93LXJnYn0sIC41KTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBidG4tZ2hvc3QtY3NzLXZhcnNcbn1cblxuLmJ0bi1vdXRsaW5lIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1vdXRsaW5lLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skYnRuLW91dGxpbmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRidG4tb3V0bGluZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRidG4tb3V0bGluZS1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRidG4tb3V0bGluZS1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYnRuLW91dGxpbmUtYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skYnRuLW91dGxpbmUtZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRidG4tb3V0bGluZS1kaXNhYmxlZC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGJ0bi1vdXRsaW5lLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRidG4tb3V0bGluZS1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGJ0bi1vdXRsaW5lLWhvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAjeyRidG4tZm9jdXMtd2lkdGh9IHJnYmEoI3skYnRuLWdob3N0LWZvY3VzLXNoYWRvdy1yZ2J9LCAuNSk7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnRuLW91dGxpbmUtY3NzLXZhcnNcbn1cblxuLmJ0bi10cmFuc3BhcmVudCB7XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhbnQtbG9vcHNcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGlmICRjb2xvciA9PSBcImxpZ2h0XCIge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkaG92ZXItYmFja2dyb3VuZDogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRob3Zlci1ib3JkZXI6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYm9yZGVyOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQpXG4gICAgICApO1xuICAgIH0gQGVsc2UgaWYgJGNvbG9yID09IFwiZGFya1wiIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJGhvdmVyLWJhY2tncm91bmQ6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGhvdmVyLWJvcmRlcjogdGludC1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJvcmRlcjogdGludC1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudClcbiAgICAgICk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLW91dGxpbmUtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tZ2hvc3QtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ2hvc3QtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LWxvb3BzXG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtbm9ybWFsfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRidG4tbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdzogbm9uZTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7JGJ0bi1saW5rLWZvY3VzLXNoYWRvdy1yZ2J9O1xuXG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWRhcmsge1xuICAgICAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1kYXJrIHtcbiAgICAgIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1kYXJrIHtcbiAgICAgIC5idG4tZ2hvc3QtI3skY29sb3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdob3N0LXZhcmlhbnQoJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwiLi4vZnVuY3Rpb25zL2NvbG9yXCIgYXMgKjtcbkB1c2UgXCIuLi9mdW5jdGlvbnMvY29sb3ItY29udHJhc3RcIiBhcyAqO1xuQHVzZSBcIi4uL2Z1bmN0aW9ucy90by1yZ2JcIiBhcyAqO1xuQHVzZSBcIi4uL3ZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tdmFyaWFudChcbiAgJGJhY2tncm91bmQsXG4gICRib3JkZXIsXG4gICRjb2xvcjogY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpLFxuICAkaG92ZXItYmFja2dyb3VuZDogaWYoc2FzcygkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0KTogc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctc2hhZGUtYW1vdW50KTsgZWxzZTogdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCkpLFxuICAkaG92ZXItYm9yZGVyOiBpZihzYXNzKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQpOiBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQpOyBlbHNlOiB0aW50LWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1jb2xvcjogY29sb3ItY29udHJhc3QoJGhvdmVyLWJhY2tncm91bmQpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6IGlmKHNhc3MoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCk6IHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpOyBlbHNlOiB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWJvcmRlcjogaWYoc2FzcygkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0KTogc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudCk7IGVsc2U6IHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZCksXG4gICRkaXNhYmxlZC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCxcbiAgJGRpc2FibGVkLWJvcmRlcjogJGJvcmRlcixcbiAgJGRpc2FibGVkLWNvbG9yOiBjb2xvci1jb250cmFzdCgkZGlzYWJsZWQtYmFja2dyb3VuZClcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skaG92ZXItYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGhvdmVyLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAje3RvLXJnYihjb2xvci5taXgoJGNvbG9yLCAkYm9yZGVyLCAxNSUpKX07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRkaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogI3skZGlzYWJsZWQtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGRpc2FibGVkLWJvcmRlcn07XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tb3V0bGluZS12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudChcbiAgJGNvbG9yLFxuICAkY29sb3ItaG92ZXI6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLFxuICAkYWN0aXZlLWJvcmRlcjogJGNvbG9yLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yOiAjeyRjb2xvci1ob3Zlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKCRjb2xvcil9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRhY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6ICN7JGJ0bi1hY3RpdmUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWdyYWRpZW50OiBub25lO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tb3V0bGluZS12YXJpYW50LW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tZ2hvc3QtdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi1naG9zdC12YXJpYW50KFxuICAkY29sb3IsXG4gICRjb2xvci1ob3ZlcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJGhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcixcbiAgJGhvdmVyLWJvcmRlcjogJGNvbG9yLFxuICAkaG92ZXItY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLFxuICAkYWN0aXZlLWJvcmRlcjogJGNvbG9yLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkY29sb3IpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGhvdmVyLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRob3Zlci1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGNvbG9yLWhvdmVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLWdob3N0LXZhcmlhbnQtbWl4aW5cblxuLy8gQnV0dG9uIHNpemVzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXNpemUtbWl4aW5cbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXNpemUtbWl4aW5cbiIsIkB1c2UgXCJtaXhpbnMvdHJhbnNpdGlvblwiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcblxuLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sbGFwc2UtY2xhc3Nlc1xuLmNvbGxhcHNlIHtcbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb2xsYXBzaW5nIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlKTtcblxuICAmLmNvbGxhcHNlLWhvcml6b250YWwge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjb2xsYXBzZS1jbGFzc2VzXG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JveC1zaGFkb3dcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9icmVha3BvaW50c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2NhcmV0XCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvZ3JhZGllbnRzXCIgYXMgKjtcbkB1c2UgXCJ2ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcGVuZCxcbi5kcm9wZG93bixcbi5kcm9wc3RhcnQsXG4uZHJvcHVwLWNlbnRlcixcbi5kcm9wZG93bi1jZW50ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIEdlbmVyYXRlIHRoZSBjYXJldCBhdXRvbWF0aWNhbGx5XG4gIEBpbmNsdWRlIGNhcmV0KCk7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51XG4uZHJvcGRvd24tbWVudSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi16aW5kZXg6ICN7JHppbmRleC1kcm9wZG93bn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLW1pbi13aWR0aDogI3skZHJvcGRvd24tbWluLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy14OiAjeyRkcm9wZG93bi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcjogI3skZHJvcGRvd24tc3BhY2VyfTtcbiAgQGluY2x1ZGUgcmZzKCRkcm9wZG93bi1mb250LXNpemUsIC0tI3skcHJlZml4fWRyb3Bkb3duLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yOiAjeyRkcm9wZG93bi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJnOiAjeyRkcm9wZG93bi1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI3skZHJvcGRvd24tYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXJhZGl1czogI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci13aWR0aDogI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogI3skZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItYmc6ICN7JGRyb3Bkb3duLWRpdmlkZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAjeyRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdzogI3skZHJvcGRvd24tYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZzogI3skZHJvcGRvd24tbGluay1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjeyRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteDogI3skZHJvcGRvd24taXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteTogI3skZHJvcGRvd24taXRlbS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3I6ICN7JGRyb3Bkb3duLWhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAjeyRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXppbmRleCk7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIG1pbi13aWR0aDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLW1pbi13aWR0aCk7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXgpO1xuICBtYXJnaW46IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgbWFyZ2luIG9mIHVsXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBzdGFydDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3cpKTtcblxuICAmW2RhdGEjeyRkYXRhLWluZml4fXBvcHBlcl0ge1xuICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICA+IC5kcm9wZG93bi1pdGVtOmZpcnN0LWNoaWxkLFxuICAgID4gbGk6Zmlyc3QtY2hpbGQgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gICAgPiAuZHJvcGRvd24taXRlbTpsYXN0LWNoaWxkLFxuICAgID4gbGk6bGFzdC1jaGlsZCAuZHJvcGRvd24taXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cblxuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZXNwb25zaXZlLWJyZWFrcG9pbnRzXG4vLyBXZSBkZWxpYmVyYXRlbHkgaGFyZGNvZGUgdGhlIGBjdWktYCBwcmVmaXggYmVjYXVzZSB3ZSBjaGVja1xuLy8gdGhpcyBjdXN0b20gcHJvcGVydHkgaW4gSlMgdG8gZGV0ZXJtaW5lIFBvcHBlcidzIHBvc2l0aW9uaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC5rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXN0YXJ0IHtcbiAgICAgIC0tI3skcHJlZml4fXBvc2l0aW9uOiBzdGFydDtcblxuICAgICAgJltkYXRhI3skZGF0YS1pbmZpeH1wb3BwZXJdIHtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWVuZCB7XG4gICAgICAtLSN7JHByZWZpeH1wb3NpdGlvbjogZW5kO1xuXG4gICAgICAmW2RhdGEjeyRkYXRhLWluZml4fXBvcHBlcl0ge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHJlc3BvbnNpdmUtYnJlYWtwb2ludHNcblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YSN7JGRhdGEtaW5maXh9cG9wcGVyXSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQodXApO1xuICB9XG59XG5cbi5kcm9wZW5kIHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YSN7JGRhdGEtaW5maXh9cG9wcGVyXSB7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxMDAlO1xuICAgIGluc2V0LWlubGluZS1lbmQ6IGF1dG87XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChlbmQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcHN0YXJ0IHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YSN7JGRhdGEtaW5maXh9cG9wcGVyXSB7XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgIGluc2V0LWlubGluZS1lbmQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoc3RhcnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXkpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZyk7XG4gIG9wYWNpdHk6IDE7IC8vIFJldmlzaXQgaW4gdjYgdG8gZGUtZHVwZSBzdHlsZXMgdGhhdCBjb25mbGljdCB3aXRoIDxocj4gZWxlbWVudFxufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKG5vdCBzYXNzKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSk6IG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBib3JkZXI6IDA7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLWJvcmRlci1yYWRpdXMsIDApKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3IpO1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2F0LWZ1bmN0aW9uLW5hbWVkLWFyZ3VtZW50c1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoc2FzcygkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSk6IG5vbmUpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnKSk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmcpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoc2FzcygkZW5hYmxlLWdyYWRpZW50cyk6IG5vbmUpO1xuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIGZvciB1c2Ugd2l0aCBoZWFkaW5nIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLXNtKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3IpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3IpO1xufVxuXG4vLyBEYXJrIGRyb3Bkb3duc1xuLmRyb3Bkb3duLW1lbnUtZGFyayB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWRhcmstYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm94LXNoYWRvdzogI3skZHJvcGRvd24tZGFyay1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGFyay1kaXZpZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZzogI3skZHJvcGRvd24tZGFyay1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogI3skZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstY3NzLXZhcnNcbn1cbiIsIkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtbWl4aW5zXG5AbWl4aW4gY2FyZXQtZG93bigkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LWVuZCgkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtc3RhcnQoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoXG4gICRkaXJlY3Rpb246IGRvd24sXG4gICR3aWR0aDogJGNhcmV0LXdpZHRoLFxuICAkc3BhY2luZzogJGNhcmV0LXNwYWNpbmcsXG4gICR2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduXG4pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRzcGFjaW5nO1xuICAgICAgdmVydGljYWwtYWxpZ246ICR2ZXJ0aWNhbC1hbGlnbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bigkd2lkdGgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtdXAoJHdpZHRoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBlbmQge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1lbmQoJHdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBzdGFydCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRzcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1zdGFydCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LW1peGluc1xuIiwiQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYm94LXNoYWRvd1wiIGFzICo7XG5AdXNlIFwiYnV0dG9uc1wiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuICA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuICA+IC5idG46aG92ZXIsXG4gID4gLmJ0bjpmb2N1cyxcbiAgPiAuYnRuOmFjdGl2ZSxcbiAgPiAuYnRuLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRidG4tYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuICA+IDpub3QoLmJ0bi1jaGVjazpmaXJzdC1jaGlsZCkgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoLTEgKiAjeyRidG4tYm9yZGVyLXdpZHRofSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0OmZpcnN0LWNoaWxkLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICB9XG5cbiAgLy8gVGhlIGxlZnQgcmFkaXVzIHNob3VsZCBiZSAwIGlmIHRoZSBidXR0b24gaXM6XG4gIC8vIC0gdGhlIFwidGhpcmQgb3IgbW9yZVwiIGNoaWxkXG4gIC8vIC0gdGhlIHNlY29uZCBjaGlsZCBhbmQgdGhlIHByZXZpb3VzIGVsZW1lbnQgaXNuJ3QgYC5idG4tY2hlY2tgIChtYWtpbmcgaXQgdGhlIGZpcnN0IGNoaWxkIHZpc3VhbGx5KVxuICAvLyAtIHBhcnQgb2YgYSBidG4tZ3JvdXAgd2hpY2ggaXNuJ3QgdGhlIGZpcnN0IGNoaWxkXG4gID4gLmJ0bjpudGgtY2hpbGQobiArIDMpLFxuICA+IDpub3QoLmJ0bi1jaGVjaykgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXIgbWFuaXB1bGF0aW9uLlxuXG4uYnRuLWdyb3VwLXNtID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1zbTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyBAZXh0ZW5kIC5idG4tbGc7IH1cblxuXG4vL1xuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xuLy9cblxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyLFxuICAuZHJvcHVwICY6OmFmdGVyLFxuICAuZHJvcGVuZCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgfVxuXG4gIC5kcm9wc3RhcnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gU2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5zaG93IC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogI3skYnRuLWJvcmRlci13aWR0aH0pOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gIC8vIFRoZSB0b3AgcmFkaXVzIHNob3VsZCBiZSAwIGlmIHRoZSBidXR0b24gaXM6XG4gIC8vIC0gdGhlIFwidGhpcmQgb3IgbW9yZVwiIGNoaWxkXG4gIC8vIC0gdGhlIHNlY29uZCBjaGlsZCBhbmQgdGhlIHByZXZpb3VzIGVsZW1lbnQgaXNuJ3QgYC5idG4tY2hlY2tgIChtYWtpbmcgaXQgdGhlIGZpcnN0IGNoaWxkIHZpc3VhbGx5KVxuICAvLyAtIHBhcnQgb2YgYSBidG4tZ3JvdXAgd2hpY2ggaXNuJ3QgdGhlIGZpcnN0IGNoaWxkXG4gID4gLmJ0bjpudGgtY2hpbGQobiArIDMpLFxuICA+IDpub3QoLmJ0bi1jaGVjaykgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuIiwiQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvZ3JhZGllbnRzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvdHJhbnNpdGlvblwiIGFzICo7XG5AdXNlIFwidmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcblxuLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzLCBgPHVsPmBzIG9yIGA8b2w+YHMuXG5cbi5uYXYge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteDogI3skbmF2LWxpbmstcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15OiAjeyRuYXYtbGluay1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJG5hdi1saW5rLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQ6ICN7JG5hdi1saW5rLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3I6ICN7JG5hdi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3I6ICN7JG5hdi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JG5hdi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZihub3Qgc2FzcygkbGluay1kZWNvcmF0aW9uID09IG5vbmUpOiBub25lKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRuYXYtbGluay10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKHNhc3MoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUpOiBub25lKTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkbmF2LWxpbmstZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXRhYnMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAjeyRuYXYtdGFicy1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICN7JG5hdi10YWJzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXRhYnMtY3NzLXZhcnNcblxuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLWNvbG9yKTtcblxuICAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIFByZXZlbnRzIGFjdGl2ZSAubmF2LWxpbmsgdGFiIG92ZXJsYXBwaW5nIGZvY3VzIG91dGxpbmUgb2YgcHJldmlvdXMvbmV4dCAubmF2LWxpbmtcbiAgICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICAvLyBNYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gUGlsbHNcbi8vXG5cbi5uYXYtcGlsbHMge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXBpbGxzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAjeyRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAjeyRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmd9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi1waWxscy1jc3MtdmFyc1xuXG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpKTtcbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZykpO1xuICB9XG59XG5cblxuLy9cbi8vIFVuZGVybGluZVxuLy9cblxuLm5hdi11bmRlcmxpbmUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXVuZGVybGluZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWdhcDogI3skbmF2LXVuZGVybGluZS1nYXB9O1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aDogI3skbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdW5kZXJsaW5lLWNzcy12YXJzXG5cbiAgZ2FwOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1nYXApO1xuXG4gIC5uYXYtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBVbmRlcmxpbmUgYm9yZGVyXG4vL1xuXG4ubmF2LXVuZGVybGluZS1ib3JkZXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2LXVuZGVybGluZS1ib3JkZXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItZ2FwOiAjeyRuYXYtdW5kZXJsaW5lLWJvcmRlci1nYXB9O1xuICAtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci1ib3JkZXItY29sb3I6ICN7JG5hdi11bmRlcmxpbmUtYm9yZGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLWJvcmRlci13aWR0aDogI3skbmF2LXVuZGVybGluZS1ib3JkZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItbGluay1wYWRkaW5nLXg6ICN7JG5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItbGluay1wYWRkaW5nLXk6ICN7JG5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItbGluay1jb2xvcjogI3skbmF2LXVuZGVybGluZS1ib3JkZXItbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtdW5kZXJsaW5lLWJvcmRlci1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JG5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi11bmRlcmxpbmUtYm9yZGVyLWNzcy12YXJzXG5cbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci1saW5rLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci1saW5rLWRpc2FibGVkLWNvbG9yKTtcblxuICBnYXA6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci1nYXApO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItYm9yZGVyLWNvbG9yKTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci1saW5rLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstcGFkZGluZy14KTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBFbmNsb3NlZFxuLy9cblxuLm5hdi1lbmNsb3NlZCB7XG4gIC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1wYWRkaW5nOiAjeyRuYXYtZW5jbG9zZWQtcGFkZGluZ307XG4gIC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1iZzogI3skbmF2LWVuY2xvc2VkLWJnfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWVuY2xvc2VkLWJvcmRlci1yYWRpdXM6ICN7JG5hdi1lbmNsb3NlZC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2LWVuY2xvc2VkLWxpbmstcGFkZGluZy14OiAjeyRuYXYtZW5jbG9zZWQtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1wYWRkaW5nLXk6ICN7JG5hdi1lbmNsb3NlZC1saW5rLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1saW5rLWNvbG9yOiAjeyRuYXYtZW5jbG9zZWQtbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1saW5rLWJvcmRlci13aWR0aDogI3skbmF2LWVuY2xvc2VkLWxpbmstYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2LWVuY2xvc2VkLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtZW5jbG9zZWQtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1hY3RpdmUtYmc6ICN7JG5hdi1lbmNsb3NlZC1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JG5hdi1lbmNsb3NlZC1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1ob3Zlci1ib3gtc2hhZG93OiAjeyRuYXYtZW5jbG9zZWQtbGluay1ob3Zlci1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWVuY2xvc2VkLWxpbmstZGlzYWJsZWQtY29sb3I6ICN7JG5hdi1lbmNsb3NlZC1saW5rLWRpc2FibGVkLWNvbG9yfTtcblxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1wYWRkaW5nKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1ib3JkZXItcmFkaXVzKSk7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1wYWRkaW5nLXkpIC0gdmFyKC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1saW5rLWJvcmRlci13aWR0aCkpIGNhbGModmFyKC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1saW5rLXBhZGRpbmcteCkgLSB2YXIoLS0jeyRwcmVmaXh9bmF2LWVuY2xvc2VkLWxpbmstYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1jb2xvcik7XG4gICAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWVuY2xvc2VkLWxpbmstYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKGNhbGModmFyKC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1ib3JkZXItcmFkaXVzKSAtIHZhcigtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtcGFkZGluZykpKTtcblxuICAgICYuZGlzYWJsZWQsXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1lbmNsb3NlZC1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1hY3RpdmUtYmcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcblxuICAgICY6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9bmF2LWVuY2xvc2VkLWxpbmstaG92ZXItYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEVuY2xvc2VkIHBpbGxzXG5cbi5uYXYtZW5jbG9zZWQtcGlsbHMge1xuICAtLSN7JHByZWZpeH1uYXYtZW5jbG9zZWQtYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1cy1waWxsfTtcbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1maWxsLFxuLm5hdi1qdXN0aWZpZWQge1xuICAubmF2LWl0ZW0gLm5hdi1saW5rIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gTWFrZSBzdXJlIGJ1dHRvbiB3aWxsIGdyb3dcbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiZnVuY3Rpb25zL2VzY2FwZS1zdmdcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYm94LXNoYWRvd1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JyZWFrcG9pbnRzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvY29sb3ItbW9kZVwiIGFzICo7XG5AdXNlIFwibWl4aW5zL2RlcHJlY2F0ZVwiIGFzICo7XG5AdXNlIFwibWl4aW5zL2dyYWRpZW50c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItY3NzLXZhcnNcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gIC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXg6ICN7aWYoc2FzcygkbmF2YmFyLXBhZGRpbmcteCA9PSBudWxsKTogMDsgZWxzZTogJG5hdmJhci1wYWRkaW5nLXgpfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteTogI3skbmF2YmFyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3I6ICN7JG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3I6ICN7JG5hdmJhci1saWdodC1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15OiAjeyRuYXZiYXItYnJhbmQtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICN7JG5hdmJhci1icmFuZC1tYXJnaW4tZW5kfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogI3skbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAjeyRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAjeyRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICN7JG5hdmJhci10b2dnbGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogI3skbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnKX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogI3skbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAjeyRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXRyYW5zaXRpb246ICN7JG5hdmJhci10b2dnbGVyLXRyYW5zaXRpb259O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gc3BhY2Ugb3V0IGJyYW5kIGZyb20gbG9nb1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygpO1xuXG4gIC8vIEJlY2F1c2UgZmxleCBwcm9wZXJ0aWVzIGFyZW4ndCBpbmhlcml0ZWQsIHdlIG5lZWQgdG8gcmVkZWNsYXJlIHRoZXNlIGZpcnN0XG4gIC8vIGZldyBwcm9wZXJ0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgLy8gVGhlIGBmbGV4LXdyYXBgIHByb3BlcnR5IGlzIGluaGVyaXRlZCB0byBzaW1wbGlmeSB0aGUgZXhwYW5kZWQgbmF2YmFyc1xuICAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IGluaGVyaXQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICA+IC5jb250YWluZXIsXG4gID4gLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgID4gLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGhzKX0ge1xuICAgICAgQGV4dGVuZCAlY29udGFpbmVyLWZsZXgtcHJvcGVydGllcztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgYnJhbmRcbi8vXG4vLyBVc2VkIGZvciBicmFuZCwgcHJvamVjdCwgb3Igc2l0ZSBuYW1lcy5cblxuLm5hdmJhci1icmFuZCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteSk7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKG5vdCBzYXNzKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSk6IG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yKTtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKHNhc3MoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUpOiBub25lKTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLm5hdmJhci1uYXYge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLW5hdi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXg6IDA7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2LWxpbmstcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRuYXYtbGluay1mb250LXNpemUsIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0OiAjeyRuYXYtbGluay1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcik7XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLW5hdi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgICYuYWN0aXZlLFxuICAgICYuc2hvdyB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcblxuICBhLFxuICBhOmhvdmVyLFxuICBhOmZvY3VzICB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSkpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcik7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXRyYW5zaXRpb24pKTtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGgpO1xuICB9XG59XG5cbi8vIEtlZXAgYXMgYSBzZXBhcmF0ZSBlbGVtZW50IHNvIGZvbGtzIGNhbiBlYXNpbHkgb3ZlcnJpZGUgaXQgd2l0aCBhbm90aGVyIGljb25cbi8vIG9yIGltYWdlIGZpbGUgYXMgbmVlZGVkLlxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbn1cblxuLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgbWF4LWhlaWdodDogdmFyKC0tI3skcHJlZml4fXNjcm9sbC1oZWlnaHQsIDc1dmgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWV4cGFuZC1sb29wXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC5uYXZiYXItZXhwYW5kLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLmtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9zZWxlY3Rvci1uby11bmlvbi1jbGFzcy1uYW1lXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vZmZjYW52YXMge1xuICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgei1pbmRleDogYXV0bztcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obm9uZSk7XG4gICAgICAgICAgLy8gc3R5bGVsaW50LWVuYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWV4cGFuZC1sb29wXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi5uYXZiYXItbGlnaHQge1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgLm5hdmJhci1saWdodGBcIiwgXCJ2NC4yLjZcIiwgXCJ2Ni4wLjBcIiwgdHJ1ZSk7XG59XG5cbi5uYXZiYXItZGFyayxcbi5uYXZiYXJbZGF0YSN7JGRhdGEtaW5maXh9dGhlbWU9XCJkYXJrXCJdIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1kYXJrLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdmJhci1jb2xvcjogI3skbmF2YmFyLWRhcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yOiAjeyRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3I6ICN7JG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcjogI3skbmF2YmFyLWRhcmstYnJhbmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmc6ICN7ZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWRhcmstY3NzLXZhcnNcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgICAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpfTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JveC1zaGFkb3dcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9icmVha3BvaW50c1wiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBjYXJkLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXk6ICN7JGNhcmQtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14OiAjeyRjYXJkLXNwYWNlci14fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteTogI3skY2FyZC10aXRsZS1zcGFjZXIteX07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3I6ICN7JGNhcmQtdGl0bGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yOiAjeyRjYXJkLXN1YnRpdGxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGg6ICN7JGNhcmQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3I6ICN7JGNhcmQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzOiAjeyRjYXJkLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3c6ICN7JGNhcmQtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogI3skY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXg6ICN7JGNhcmQtY2FwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWJnOiAjeyRjYXJkLWNhcC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yOiAjeyRjYXJkLWNhcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0OiAjeyRjYXJkLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWNhcmQtY29sb3I6ICN7JGNhcmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJnOiAjeyRjYXJkLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAjeyRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbjogI3skY2FyZC1ncm91cC1tYXJnaW59O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNhcmQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWNhcmQtYm94LXNoYWRvdykpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHVlIHRvIHNwZWNpZmljaXR5IG9mIHRoZSBhYm92ZSBzZWxlY3RvciAoYC5jYXJkID4gLmxpc3QtZ3JvdXBgKSwgd2UgbXVzdFxuICAvLyB1c2UgYSBjaGlsZCBzZWxlY3RvciBoZXJlIHRvIHByZXZlbnQgZG91YmxlIGJvcmRlcnMuXG4gID4gLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAsXG4gID4gLmxpc3QtZ3JvdXAgKyAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNvbG9yKTtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1jb2xvcik7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtc3VidGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgJjpob3ZlciB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZihzYXNzKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lKTogbm9uZSk7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14KTtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIDAgMCk7XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmcpO1xuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIC5uYXYtbGluay5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gIH1cbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3AsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICA+IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ncm91cC1tYXJnaW4pO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIGZsZXg6IDEgMCAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgPiAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgID4gLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICA+IC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgPiAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcblxuICAgICAgICAgID4gLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICA+IC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICA+IC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgPiBjYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcImZ1bmN0aW9ucy9lc2NhcGUtc3ZnXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2NvbG9yLW1vZGVcIiBhcyAqO1xuQHVzZSBcIm1peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCJ2ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlcy1kYXJrXCIgYXMgKjtcblxuLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWNjb3JkaW9uIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGFjY29yZGlvbi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tY29sb3I6ICN7JGFjY29yZGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1iZzogI3skYWNjb3JkaW9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLXRyYW5zaXRpb246ICN7JGFjY29yZGlvbi10cmFuc2l0aW9ufTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcjogI3skYWNjb3JkaW9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICN7JGFjY29yZGlvbi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1czogI3skYWNjb3JkaW9uLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogI3skYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteTogI3skYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1iZzogI3skYWNjb3JkaW9uLWJ1dHRvbi1iZ307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWljb24pfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoOiAjeyRhY2NvcmRpb24taWNvbi13aWR0aH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm06ICN7JGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2l0aW9uOiAjeyRhY2NvcmRpb24taWNvbi10cmFuc2l0aW9ufTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdzogI3skYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy14OiAjeyRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICN7JGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtY29sb3I6ICN7JGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZzogI3skYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmd9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGFjY29yZGlvbi1jc3MtdmFyc1xufVxuXG4uYWNjb3JkaW9uLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IHN0YXJ0OyAvLyBSZXNldCBidXR0b24gc3R5bGVcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYmcpO1xuICBib3JkZXI6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLXRyYW5zaXRpb24pKTtcblxuICAmOm5vdCguY29sbGFwc2VkKSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGgpKSAwIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uKTtcbiAgICAgIHRyYW5zZm9ybTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjY29yZGlvbiBpY29uXG4gICY6OmFmdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2l0aW9uKSk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICB9XG59XG5cbi5hY2NvcmRpb24taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFjY29yZGlvbi1pdGVtIHtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuXG4gIC8vIE9ubHkgc2V0IGEgYm9yZGVyLXJhZGl1cyBvbiB0aGUgbGFzdCBpdGVtIGlmIHRoZSBhY2NvcmRpb24gaXMgY29sbGFwc2VkXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcblxuICAgID4gLmFjY29yZGlvbi1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgJi5jb2xsYXBzZWQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5hY2NvcmRpb24tY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG59XG5cbi5hY2NvcmRpb24tYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXgpO1xufVxuXG5cbi8vIEZsdXNoIGFjY29yZGlvbiBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgYWNjb3JkaW9uIGl0ZW1zIGVkZ2UtdG8tZWRnZS5cblxuLmFjY29yZGlvbi1mbHVzaCB7XG4gID4gLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICAgICY6Zmlyc3QtY2hpbGQgeyBib3JkZXItdG9wOiAwOyB9XG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LWNsYXNzXG4gICAgPiAuYWNjb3JkaW9uLWNvbGxhcHNlLFxuICAgID4gLmFjY29yZGlvbi1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24sXG4gICAgPiAuYWNjb3JkaW9uLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbi5jb2xsYXBzZWQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1tYXgtY2xhc3NcbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuYWNjb3JkaW9uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24taWNvbi1kYXJrKX07XG4gICAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb24tZGFyayl9O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcImZ1bmN0aW9ucy9lc2NhcGUtc3ZnXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2x0ci1ydGxcIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi5icmVhZGNydW1iIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXk6ICN7JGJyZWFkY3J1bWItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAjeyRicmVhZGNydW1iLW1hcmdpbi1ib3R0b219O1xuICBAaW5jbHVkZSByZnMoJGJyZWFkY3J1bWItZm9udC1zaXplLCAtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmc6ICN7JGJyZWFkY3J1bWItYmd9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICN7JGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogI3skYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICN7JGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b20pO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBmbG9hdDogaW5saW5lLXN0YXJ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbHRyLXJ0bChcbiAgICAgICAgXCJjb250ZW50XCIsXG4gICAgICAgIHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXIsIGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlcikpLFxuICAgICAgICBudWxsLFxuICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQsIGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkKSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cbiIsIkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2dyYWRpZW50c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2xpc3RzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvcGFnaW5hdGlvblwiIGFzICo7XG5AdXNlIFwibWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi5wYWdpbmF0aW9uIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXg6ICN7JHBhZ2luYXRpb24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZ2luYXRpb24tcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRwYWdpbmF0aW9uLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1iZzogI3skcGFnaW5hdGlvbi1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmc6ICN7JHBhZ2luYXRpb24taG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogI3skcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1iZzogI3skcGFnaW5hdGlvbi1mb2N1cy1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogI3skcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYmc6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogI3skcGFnaW5hdGlvbi1kaXNhYmxlZC1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKG5vdCBzYXNzKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSk6IG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwYWdpbmF0aW9uLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWNvbG9yKTtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKHNhc3MoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUpOiBub25lKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJnKTtcbiAgICBvdXRsaW5lOiAkcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gIC5hY3RpdmUgPiAmIHtcbiAgICB6LWluZGV4OiAzO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1iZykpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAuZGlzYWJsZWQgPiAmIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cblxuLnBhZ2UtaXRlbSB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCkgLnBhZ2UtbGluayB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0O1xuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydCA9PSBjYWxjKC0xICogI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9KSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBBZGQgYm9yZGVyLXJhZGl1cyB0byBhbGwgcGFnZUxpbmtzIGluIGNhc2UgdGhleSBoYXZlIGxlZnQgbWFyZ2luXG4gICAgLnBhZ2UtbGluayB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIkB1c2UgXCIuLi92ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBQYWdpbmF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwYWdpbmF0aW9uLW1peGluXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteTogI3skcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUsIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgcGFnaW5hdGlvbi1taXhpblxuIiwiQHVzZSBcIm1peGlucy9ncmFkaWVudHNcIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXg6ICN7JGJhZGdlLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteTogI3skYmFkZ2UtcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRiYWRnZS1mb250LXNpemUsIC0tI3skcHJlZml4fWJhZGdlLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJhZGdlLWZvbnQtd2VpZ2h0OiAjeyRiYWRnZS1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fWJhZGdlLWNvbG9yOiAjeyRiYWRnZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJhZGdlLWJvcmRlci1yYWRpdXM6ICN7JGJhZGdlLWJvcmRlci1yYWRpdXN9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGJhZGdlLWNzcy12YXJzXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1iYWRnZS1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJhZGdlLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1ib3JkZXItcmFkaXVzLCAwKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoKTtcblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vXG4vLyBCYWRnZSBTaXplc1xuLy9cblxuLmJhZGdlLXNtIHtcbiAgLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy14OiAjeyRiYWRnZS1wYWRkaW5nLXgtc219O1xuICAtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXk6ICN7JGJhZGdlLXBhZGRpbmcteS1zbX07XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFkZ2UtZm9udC1zaXplLXNtKTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1hbGVydC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteDogI3skYWxlcnQtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy15OiAjeyRhbGVydC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hbGVydC1tYXJnaW4tYm90dG9tOiAjeyRhbGVydC1tYXJnaW4tYm90dG9tfTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtY29sb3I6IGluaGVyaXQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlcjogI3skYWxlcnQtYm9yZGVyLXdpZHRofSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLXJhZGl1czogI3skYWxlcnQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3I6IGluaGVyaXQ7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtbWFyZ2luLWJvdHRvbSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXIpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yKTtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiAkYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5idG4tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAkc3RyZXRjaGVkLWxpbmstei1pbmRleCArIDE7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAqIDEuMjUgJGFsZXJ0LXBhZGRpbmcteDtcbiAgfVxufVxuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC1tb2RpZmllcnNcbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5AZWFjaCAkc3RhdGUgaW4gbWFwLmtleXMoJHRoZW1lLWNvbG9ycykge1xuICAuYWxlcnQtI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LW1vZGlmaWVyc1xuIiwiQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYm94LXNoYWRvd1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2dyYWRpZW50c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3Mta2V5ZnJhbWVzXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTsgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLWtleWZyYW1lc1xuXG4ucHJvZ3Jlc3MsXG4ucHJvZ3Jlc3Mtc3RhY2tlZCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQ6ICN7JHByb2dyZXNzLWhlaWdodH07XG4gIEBpbmNsdWRlIHJmcygkcHJvZ3Jlc3MtZm9udC1zaXplLCAtLSN7JHByZWZpeH1wcm9ncmVzcy1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iZzogI3skcHJvZ3Jlc3MtYmd9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAjeyRwcm9ncmVzcy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm94LXNoYWRvdzogI3skcHJvZ3Jlc3MtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1jb2xvcjogI3skcHJvZ3Jlc3MtYmFyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWJnOiAjeyRwcm9ncmVzcy1iYXItYmd9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogI3skcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb259O1xuICAvLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtZm9udC1zaXplKSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm94LXNoYWRvdykpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWJnKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb24pKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpIHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2dyZXNzLXRoaW4ge1xuICBoZWlnaHQ6IDRweDtcbn1cblxuLy8gV2hpdGUgcHJvZ3Jlc3MgYmFyXG4ucHJvZ3Jlc3MucHJvZ3Jlc3Mtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTtcbiAgLnByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbi5wcm9ncmVzcy1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG4ucHJvZ3Jlc3MtZ3JvdXAtcHJlcGVuZCB7XG4gIGZsZXg6IDAgMCAxMDBweDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4ucHJvZ3Jlc3MtZ3JvdXAtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLWdyb3VwLWhlYWRlci1tYXJnaW4tYm90dG9tO1xufVxuXG4ucHJvZ3Jlc3MtZ3JvdXAtYmFycyB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gIC5wcm9ncmVzczpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIH1cbn1cblxuLnByb2dyZXNzLWdyb3VwLWhlYWRlciArIC5wcm9ncmVzcy1ncm91cC1iYXJzIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYnJlYWtwb2ludHNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtY29sb3I6ICN7JGxpc3QtZ3JvdXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJnOiAjeyRsaXN0LWdyb3VwLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICN7JGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICN7JGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAjeyRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAjeyRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogI3skbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiAjeyRsaXN0LWdyb3VwLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICN7JGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWJnOiAjeyRsaXN0LWdyb3VwLWRpc2FibGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmc6ICN7JGxpc3QtZ3JvdXAtYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5saXN0LWdyb3VwLW51bWJlcmVkIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBzZWN0aW9uO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbTo6YmVmb3JlIHtcbiAgICAvLyBJbmNyZW1lbnRzIG9ubHkgdGhpcyBpbnN0YW5jZSBvZiB0aGUgc2VjdGlvbiBjb3VudGVyXG4gICAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpIFwiLiBcIjtcbiAgICBjb3VudGVyLWluY3JlbWVudDogc2VjdGlvbjtcbiAgfVxufVxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKG5vdCBzYXNzKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSk6IG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmcpO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvc2VsZWN0b3Itbm8tcmVkdW5kYW50LW5lc3Rpbmctc2VsZWN0b3JcbiAgJiArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAmOm5vdCguYWN0aXZlKSB7XG4gICAgLy8gSG92ZXIgc3RhdGVcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMTsgLy8gUGxhY2UgaG92ZXIvZm9jdXMgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcik7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmcpO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtZW5kLXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1lbmQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiAwO1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuLy8gTGlzdCBncm91cCBjb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRzdGF0ZSBpbiBtYXAua2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJnLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4iLCJAdXNlIFwiZnVuY3Rpb25zL2VzY2FwZS1zdmdcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvY29sb3ItbW9kZVwiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXMtZGFya1wiIGFzICo7XG5cbi8vIFRyYW5zcGFyZW50IGJhY2tncm91bmQgYW5kIGJvcmRlciBwcm9wZXJ0aWVzIGluY2x1ZGVkIGZvciBidXR0b24gdmVyc2lvbi5cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLmJ0bi1jbG9zZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBjbG9zZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtY29sb3I6ICN7JGJ0bi1jbG9zZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1iZzogI3sgZXNjYXBlLXN2ZygkYnRuLWNsb3NlLWJnKSB9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2Utb3BhY2l0eTogI3skYnRuLWNsb3NlLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtaG92ZXItb3BhY2l0eTogI3skYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtc2hhZG93OiAjeyRidG4tY2xvc2UtZm9jdXMtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWRpc2FibGVkLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBjbG9zZS1jc3MtdmFyc1xuXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB3aWR0aDogJGJ0bi1jbG9zZS13aWR0aDtcbiAgaGVpZ2h0OiAkYnRuLWNsb3NlLWhlaWdodDtcbiAgcGFkZGluZzogJGJ0bi1jbG9zZS1wYWRkaW5nLXkgJGJ0bi1jbG9zZS1wYWRkaW5nLXg7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWNvbG9yKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1iZykgY2VudGVyIC8gJGJ0bi1jbG9zZS13aWR0aCBhdXRvIG5vLXJlcGVhdDsgLy8gaW5jbHVkZSB0cmFuc3BhcmVudCBmb3IgYnV0dG9uIGVsZW1lbnRzXG4gIGZpbHRlcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1maWx0ZXIpO1xuICBib3JkZXI6IDA7IC8vIGZvciBidXR0b24gZWxlbWVudHNcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xuICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLW9wYWNpdHkpO1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5KTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1zaGFkb3cpO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtb3BhY2l0eSk7XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWRpc2FibGVkLW9wYWNpdHkpO1xuICB9XG59XG5cbkBtaXhpbiBidG4tY2xvc2Utd2hpdGUoKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1maWx0ZXI6ICN7JGJ0bi1jbG9zZS1maWx0ZXItZGFya307XG59XG5cbi5idG4tY2xvc2Utd2hpdGUge1xuICBAaW5jbHVkZSBidG4tY2xvc2Utd2hpdGUoKTtcbn1cblxuOnJvb3QsXG5bZGF0YSN7JGRhdGEtaW5maXh9dGhlbWU9XCJsaWdodFwiXSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1maWx0ZXI6ICN7JGJ0bi1jbG9zZS1maWx0ZXJ9O1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICBAaW5jbHVkZSBidG4tY2xvc2Utd2hpdGUoKTtcbiAgfVxufVxuIiwiQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJ2ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4udG9hc3Qge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9dG9hc3QtemluZGV4OiAjeyR6aW5kZXgtdG9hc3R9O1xuICAtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXg6ICN7JHRvYXN0LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteTogI3skdG9hc3QtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3Qtc3BhY2luZzogI3skdG9hc3Qtc3BhY2luZ307XG4gIC0tI3skcHJlZml4fXRvYXN0LW1heC13aWR0aDogI3skdG9hc3QtbWF4LXdpZHRofTtcbiAgQGluY2x1ZGUgcmZzKCR0b2FzdC1mb250LXNpemUsIC0tI3skcHJlZml4fXRvYXN0LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXRvYXN0LWNvbG9yOiAjeyR0b2FzdC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJnOiAjeyR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoOiAjeyR0b2FzdC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItY29sb3I6ICN7JHRvYXN0LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXM6ICN7JHRvYXN0LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3gtc2hhZG93OiAjeyR0b2FzdC1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWNvbG9yOiAjeyR0b2FzdC1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYmc6ICN7JHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogI3skdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtY3NzLXZhcnNcblxuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvYXN0LW1heC13aWR0aCk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH10b2FzdC1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItY29sb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXMpKTtcblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWNvbnRhaW5lciB7XG4gIC0tI3skcHJlZml4fXRvYXN0LXppbmRleDogI3skemluZGV4LXRvYXN0fTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH10b2FzdC16aW5kZXgpO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgPiA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXRvYXN0LXNwYWNpbmcpO1xuICB9XG59XG5cbi50b2FzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhjYWxjKHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItcmFkaXVzKSAtIHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpKSk7XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgbWFyZ2luLWlubGluZTogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCkgY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIH1cbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJtaXhpbnMvYmFja2Ryb3BcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvYm94LXNoYWRvd1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JyZWFrcG9pbnRzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvdHJhbnNpdGlvblwiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcblxuLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bW9kYWwtemluZGV4OiAjeyR6aW5kZXgtbW9kYWx9O1xuICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwtbWR9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nOiAjeyRtb2RhbC1pbm5lci1wYWRkaW5nfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luOiAjeyRtb2RhbC1kaWFsb2ctbWFyZ2lufTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtY29sb3I6ICN7JG1vZGFsLWNvbnRlbnQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1iZzogI3skbW9kYWwtY29udGVudC1iZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1jb2xvcjogI3skbW9kYWwtY29udGVudC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXJhZGl1czogI3skbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdzogI3skbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1czogI3skbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteDogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZzogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmd9OyAvLyBUb2RvIGluIHY2OiBTcGxpdCB0aGlzIHBhZGRpbmcgaW50byB4IGFuZCB5XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICN7JG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcDogI3skbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVufTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJnOiAjeyRtb2RhbC1mb290ZXItYmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogI3skbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtemluZGV4KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKTtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8gV2hlbiB0cnlpbmcgdG8gY2xvc2UsIGFuaW1hdGUgZm9jdXMgdG8gc2NhbGVcbiAgLm1vZGFsLm1vZGFsLXN0YXRpYyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zY2FsZS10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKSAqIDIpO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbikgKiAyKTtcbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93KSk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1iYWNrZHJvcC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1iYWNrZHJvcC16aW5kZXg6ICN7JHppbmRleC1tb2RhbC1iYWNrZHJvcH07XG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLWJnOiAjeyRtb2RhbC1iYWNrZHJvcC1iZ307XG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLW9wYWNpdHk6ICN7JG1vZGFsLWJhY2tkcm9wLW9wYWNpdHl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWJhY2tkcm9wLWNzcy12YXJzXG5cbiAgQGluY2x1ZGUgb3ZlcmxheS1iYWNrZHJvcCh2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3AtemluZGV4KSwgdmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLWJnKSwgdmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLW9wYWNpdHkpKTtcbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSAqIC41KSBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14KSAqIC41KTtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14KSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpKTtcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIHNvIHRoYXQgdGhlIGJvZHkgdGFrZSB1cCBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlXG4gIC8vIHdoZW4gdGhlcmUgc2hvdWxkIGJlIGEgZml4ZWQgaGVpZ2h0IG9uIGAubW9kYWwtZGlhbG9nYC5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nKTtcbn1cblxuLy8gRm9vdGVyIChmb3IgYWN0aW9ucylcbi5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvLyBSaWdodCBhbGlnbiBidXR0b25zIHdpdGggZmxleCBwcm9wZXJ0eSBiZWNhdXNlIHRleHQtYWxpZ24gZG9lc24ndCB3b3JrIG9uIGZsZXggaXRlbXNcbiAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZykgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmcpO1xuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gIC8vIFBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICAvLyBUaGlzIHNvbHV0aW9uIGlzIGZhciBmcm9tIGlkZWFsIGJlY2F1c2Ugb2YgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciB1c2FnZSxcbiAgLy8gYnV0IGlzIG5lZWRlZCB0byBmaXggaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDgwMFxuICA+ICoge1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcCkgKiAuNSk7IC8vIFRvZG8gaW4gdjY6IHJlcGxhY2Ugd2l0aCBnYXAgb24gcGFyZW50IGNsYXNzXG4gIH1cbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC5tb2RhbCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luOiAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXB9O1xuICAgIC0tI3skcHJlZml4fW1vZGFsLWJveC1zaGFkb3c6ICN7JG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cH07XG4gIH1cblxuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXdpZHRoKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAubW9kYWwtc20ge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1zbX07XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcsXG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLWxnfTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLXhsfTtcbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtZnVsbHNjcmVlbi1sb29wXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAua2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gICRwb3N0Zml4OiBpZihzYXNzKCRpbmZpeCAhPSBcIlwiKTogJGluZml4ICsgXCItZG93blwiOyBlbHNlOiBcIlwiKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAubW9kYWwtZnVsbHNjcmVlbiN7JHBvc3RmaXh9IHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cblxuICAgICAgLm1vZGFsLWhlYWRlcixcbiAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtYm9keSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWZ1bGxzY3JlZW4tbG9vcFxuIiwiQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIFNoYXJlZCBiZXR3ZWVuIG1vZGFscyBhbmQgb2ZmY2FudmFzZXNcbkBtaXhpbiBvdmVybGF5LWJhY2tkcm9wKCR6aW5kZXgsICRiYWNrZHJvcC1iZywgJGJhY2tkcm9wLW9wYWNpdHkpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJGJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cbiIsIkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2RlcHJlY2F0ZVwiIGFzICo7XG5AdXNlIFwibWl4aW5zL3Jlc2V0LXRleHRcIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC16aW5kZXg6ICN7JHppbmRleC10b29sdGlwfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXgtd2lkdGg6ICN7JHRvb2x0aXAtbWF4LXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXg6ICN7JHRvb2x0aXAtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXk6ICN7JHRvb2x0aXAtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXJnaW46ICN7JHRvb2x0aXAtbWFyZ2lufTtcbiAgQGluY2x1ZGUgcmZzKCR0b29sdGlwLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9dG9vbHRpcC1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH10b29sdGlwLWNvbG9yOiAjeyR0b29sdGlwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1iZzogI3skdG9vbHRpcC1iZ307XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYm9yZGVyLXJhZGl1czogI3skdG9vbHRpcC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1vcGFjaXR5OiAjeyR0b29sdGlwLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoOiAjeyR0b29sdGlwLWFycm93LXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICN7JHRvb2x0aXAtYXJyb3ctaGVpZ2h0fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLWNzcy12YXJzXG5cbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtemluZGV4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtbWFyZ2luKTtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYCR0b29sdGlwLW1hcmdpbmBcIiwgXCJ2NFwiLCBcInY0LnhcIiwgdHJ1ZSk7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXRvb2x0aXAtZm9udC1zaXplKSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1vcGFjaXR5KTsgfVxuXG4gIC50b29sdGlwLWFycm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXRvcCAudG9vbHRpcC1hcnJvdyB7XG4gIGJvdHRvbTogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICY6OmJlZm9yZSB7XG4gICAgdG9wOiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtdG9vbHRpcC1lbmQgLnRvb2x0aXAtYXJyb3cge1xuICBsZWZ0OiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcblxuICAmOjpiZWZvcmUge1xuICAgIHJpZ2h0OiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy10b29sdGlwLWJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gIHRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICY6OmJlZm9yZSB7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogMCBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtdG9vbHRpcC1zdGFydCAudG9vbHRpcC1hcnJvdyB7XG4gIHJpZ2h0OiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcblxuICAmOjpiZWZvcmUge1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSAwIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtdG9vbHRpcC1hdXRvIHtcbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1lbmQ7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXN0YXJ0O1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXgtd2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJvcmRlci1yYWRpdXMpKTtcbn1cbiIsIkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG5AbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igb3ZlcmZsb3ctd3JhcCAvIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCJAdXNlIFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9ib3gtc2hhZG93XCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvcmVzZXQtdGV4dFwiIGFzICo7XG5AdXNlIFwidmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcblxuLnBvcG92ZXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcG9wb3Zlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLXppbmRleDogI3skemluZGV4LXBvcG92ZXJ9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLW1heC13aWR0aDogI3skcG9wb3Zlci1tYXgtd2lkdGh9O1xuICBAaW5jbHVkZSByZnMoJHBvcG92ZXItZm9udC1zaXplLCAtLSN7JHByZWZpeH1wb3BvdmVyLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYmc6ICN7JHBvcG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aDogI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcjogI3skcG9wb3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1yYWRpdXM6ICN7JHBvcG92ZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogI3skcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3gtc2hhZG93OiAjeyRwb3BvdmVyLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICN7JHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogI3skcG9wb3Zlci1oZWFkZXItcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRwb3BvdmVyLWhlYWRlci1mb250LXNpemUsIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWNvbG9yOiAjeyRwb3BvdmVyLWhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnOiAjeyRwb3BvdmVyLWhlYWRlci1iZ307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICN7JHBvcG92ZXItYm9keS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy15OiAjeyRwb3BvdmVyLWJvZHktcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LWNvbG9yOiAjeyRwb3BvdmVyLWJvZHktY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoOiAjeyRwb3BvdmVyLWFycm93LXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICN7JHBvcG92ZXItYXJyb3ctaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXI6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIC8vIHNjc3MtZG9jcy1lbmQgcG9wb3Zlci1jc3MtdmFyc1xuXG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLXppbmRleCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLW1heC13aWR0aCk7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBvcG92ZXItZm9udC1zaXplKSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSBwb3BvdmVyJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm94LXNoYWRvdykpO1xuXG4gIC5wb3BvdmVyLWFycm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgYm90dG9tOiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtcG9wb3Zlci1lbmQge1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICBsZWZ0OiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICB0b3A6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtcG9wb3Zlci1zdGFydCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIHJpZ2h0OiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtcG9wb3Zlci1hdXRvIHtcbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1lbmQ7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXN0YXJ0O1xuICB9XG59XG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gUmVib290XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1jb2xvcik7XG59XG4iLCJAdXNlIFwiZnVuY3Rpb25zL2VzY2FwZS1zdmdcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9jbGVhcmZpeFwiIGFzICo7XG5AdXNlIFwibWl4aW5zL2NvbG9yLW1vZGVcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9sdHItcnRsXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvdHJhbnNpdGlvblwiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXMtZGFya1wiIGFzICo7XG5cbi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHNob3VsZCBpZGVhbGx5IGJlIHBhbi15ICh0byBhbGxvdyBmb3IgdXNlcnMgdG8gc2Nyb2xsIHZlcnRpY2FsbHkpXG4vLyAgICBldmVuIHdoZW4gdGhlaXIgc2Nyb2xsIGFjdGlvbiBzdGFydGVkIG9uIGEgY2Fyb3VzZWwsIGJ1dCBmb3IgY29tcGF0aWJpbGl0eSAod2l0aCBGaXJlZm94KVxuLy8gICAgd2UncmUgcHJldmVudGluZyBhbGwgYWN0aW9ucyBpbnN0ZWFkXG4vLyAyLiBUaGUgLmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5jYXJvdXNlbC1pdGVtLWVuZCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tZW5kXG4vLyAgICBpcyB0aGUgdXBjb21pbmcgc2xpZGUgaW4gdHJhbnNpdGlvbi5cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLXN0YXJ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLWVuZCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBmaWx0ZXI6IHZhcigtLSN7JHByZWZpeH1jYXJvdXNlbC1jb250cm9sLWljb24tZmlsdGVyKTtcbiAgYm9yZGVyOiAwO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb24pO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gIGJhY2tncm91bmQtaW1hZ2U6IGlmKHNhc3MoJGVuYWJsZS1ncmFkaWVudHMpOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gIGJhY2tncm91bmQtaW1hZ2U6IGlmKHNhc3MoJGVuYWJsZS1ncmFkaWVudHMpOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKSk7XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgQGluY2x1ZGUgbHRyLXJ0bC12YWx1ZS1vbmx5KFwiYmFja2dyb3VuZC1pbWFnZVwiLCBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZyksIGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKSk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24ge1xuICBAaW5jbHVkZSBsdHItcnRsLXZhbHVlLW9ubHkoXCJiYWNrZ3JvdW5kLWltYWdlXCIsIGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKSwgZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmcpKTtcbn1cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHMvY29udHJvbHNcbi8vXG4vLyBBZGQgYSBjb250YWluZXIgKHN1Y2ggYXMgYSBsaXN0KSB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhbiBpdGVtIChpZGVhbGx5IGEgZm9jdXNhYmxlIGNvbnRyb2wsXG4vLyBsaWtlIGEgYnV0dG9uKSB3aXRoIGRhdGEjeyRkYXRhLWluZml4fXRhcmdldCBmb3IgZWFjaCBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG5cbiAgW2RhdGEjeyRkYXRhLWluZml4fXRhcmdldF0ge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTtcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAqIC41O1xuICBib3R0b206ICRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjtcbiAgbGVmdDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgcGFkZGluZy10b3A6ICRjYXJvdXNlbC1jYXB0aW9uLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRjYXJvdXNlbC1jYXB0aW9uLXBhZGRpbmcteTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJvdXNlbC1jYXB0aW9uLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBEYXJrIG1vZGUgY2Fyb3VzZWxcblxuQG1peGluIGNhcm91c2VsLWRhcmsoKSB7XG4gIC0tI3skcHJlZml4fWNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICN7JGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmctZGFya307XG4gIC0tI3skcHJlZml4fWNhcm91c2VsLWNhcHRpb24tY29sb3I6ICN7JGNhcm91c2VsLWNhcHRpb24tY29sb3ItZGFya307XG4gIC0tI3skcHJlZml4fWNhcm91c2VsLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICN7JGNhcm91c2VsLWNvbnRyb2wtaWNvbi1maWx0ZXItZGFya307XG59XG5cbi5jYXJvdXNlbC1kYXJrIHtcbiAgQGluY2x1ZGUgY2Fyb3VzZWwtZGFyaygpO1xufVxuXG46cm9vdCxcbltkYXRhI3skZGF0YS1pbmZpeH10aGVtZT1cImxpZ2h0XCJdIHtcbiAgLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogI3skY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWNhcm91c2VsLWNhcHRpb24tY29sb3I6ICN7JGNhcm91c2VsLWNhcHRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJvdXNlbC1jb250cm9sLWljb24tZmlsdGVyOiAjeyRjYXJvdXNlbC1jb250cm9sLWljb24tZmlsdGVyfTtcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrLCB0cnVlKSB7XG4gICAgQGluY2x1ZGUgY2Fyb3VzZWwtZGFyaygpO1xuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY2xlYXJmaXhcbiIsIkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4vL1xuLy8gUm90YXRpbmcgYm9yZGVyXG4vL1xuXG4uc3Bpbm5lci1ncm93LFxuLnNwaW5uZXItYm9yZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ24pO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQpIGxpbmVhciBpbmZpbml0ZSB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZSk7XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgI3tcIi8qIHJ0bDppZ25vcmUgKi9cIn07IH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXIta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogI3skc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbn07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoOiAjeyRzcGlubmVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItYm9yZGVyO1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLWNzcy12YXJzXG5cbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGgpIHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aDogI3skc3Bpbm5lci1ib3JkZXItd2lkdGgtc219O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItZ3Jvdy1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWdyb3cta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWdyb3cge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ncm93LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAjeyRzcGlubmVyLXZlcnRpY2FsLWFsaWdufTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZTogc3Bpbm5lci1ncm93O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItZ3Jvdy1jc3MtdmFyc1xuXG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xufVxuXG5AaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiB7XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNwaW5uZXItYm9yZGVyLFxuICAgIC5zcGlubmVyLWdyb3cge1xuICAgICAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkICogMn07XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIm1peGlucy9iYWNrZHJvcFwiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JveC1zaGFkb3dcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9icmVha3BvaW50c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2x0ci1ydGxcIiBhcyAqO1xuQHVzZSBcIm1peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4lb2ZmY2FudmFzLWNzcy12YXJzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG9mZmNhbnZhcy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtemluZGV4OiAjeyR6aW5kZXgtb2ZmY2FudmFzfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXdpZHRoOiAjeyRvZmZjYW52YXMtaG9yaXpvbnRhbC13aWR0aH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQ6ICN7JG9mZmNhbnZhcy12ZXJ0aWNhbC1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy14OiAjeyRvZmZjYW52YXMtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteTogI3skb2ZmY2FudmFzLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1jb2xvcjogI3skb2ZmY2FudmFzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJnOiAjeyRvZmZjYW52YXMtYmctY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAjeyRvZmZjYW52YXMtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcjogI3skb2ZmY2FudmFzLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3gtc2hhZG93OiAjeyRvZmZjYW52YXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy10cmFuc2l0aW9uOiAje3RyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXR9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHQ6ICN7JG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgb2ZmY2FudmFzLWNzcy12YXJzXG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC5rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgLm9mZmNhbnZhcyN7JGluZml4fSB7XG4gICAgQGV4dGVuZCAlb2ZmY2FudmFzLWNzcy12YXJzO1xuICB9XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC5rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgLm9mZmNhbnZhcyN7JGluZml4fSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0KSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXppbmRleCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWNvbG9yKTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYmcpO1xuICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm94LXNoYWRvdykpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRyYW5zaXRpb24pKTtcblxuICAgICAgJi5vZmZjYW52YXMtc3RhcnQge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGgpO1xuICAgICAgICBib3JkZXItaW5saW5lLWVuZDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgQGluY2x1ZGUgbHRyLXJ0bC12YWx1ZS1vbmx5KFwidHJhbnNmb3JtXCIsIHRyYW5zbGF0ZVgoLTEwMCUpLCB0cmFuc2xhdGVYKDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtZW5kIHtcbiAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aCk7XG4gICAgICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtdG9wIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYub2ZmY2FudmFzLWJvdHRvbSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLnNob3dpbmcsXG4gICAgICAmLnNob3c6bm90KC5oaWRpbmcpIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuaGlkaW5nLFxuICAgICAgJi5zaG93IHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIikge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgLy8gUmVzZXQgYGJhY2tncm91bmQtY29sb3JgIGluIGNhc2UgYC5iZy0qYCBjbGFzc2VzIGFyZSB1c2VkIGluIG9mZmNhbnZhc1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm9mZmNhbnZhcy1iYWNrZHJvcCB7XG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3AsIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYmFja2Ryb3AtYmcsICRvZmZjYW52YXMtYmFja2Ryb3AtYmcpLCAkb2ZmY2FudmFzLWJhY2tkcm9wLW9wYWNpdHkpO1xufVxuXG4ub2ZmY2FudmFzLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCk7XG5cbiAgLmJ0bi1jbG9zZSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgKiAuNSkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCkgKiAuNSk7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteCkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSk7XG4gIH1cbn1cblxuLm9mZmNhbnZhcy10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLm9mZmNhbnZhcy1ib2R5IHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuIiwiQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi5wbGFjZWhvbGRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHdhaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogJHBsYWNlaG9sZGVyLW9wYWNpdHktbWF4O1xuXG4gICYuYnRuOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG5cbi8vIFNpemluZ1xuLnBsYWNlaG9sZGVyLXhzIHtcbiAgbWluLWhlaWdodDogLjZlbTtcbn1cblxuLnBsYWNlaG9sZGVyLXNtIHtcbiAgbWluLWhlaWdodDogLjhlbTtcbn1cblxuLnBsYWNlaG9sZGVyLWxnIHtcbiAgbWluLWhlaWdodDogMS4yZW07XG59XG5cbi8vIEFuaW1hdGlvblxuLnBsYWNlaG9sZGVyLWdsb3cge1xuICAucGxhY2Vob2xkZXIge1xuICAgIGFuaW1hdGlvbjogcGxhY2Vob2xkZXItZ2xvdyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyLWdsb3cge1xuICA1MCUge1xuICAgIG9wYWNpdHk6ICRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbjtcbiAgfVxufVxuXG4ucGxhY2Vob2xkZXItd2F2ZSB7XG4gIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxMzBkZWcsICRibGFjayA1NSUsIHJnYmEoMCwgMCwgMCwgKDEgLSAkcGxhY2Vob2xkZXItb3BhY2l0eS1taW4pKSA3NSUsICRibGFjayA5NSUpO1xuICBtYXNrLXNpemU6IDIwMCUgMTAwJTtcbiAgYW5pbWF0aW9uOiBwbGFjZWhvbGRlci13YXZlIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBwbGFjZWhvbGRlci13YXZlIHtcbiAgMTAwJSB7XG4gICAgbWFzay1wb3NpdGlvbjogLTIwMCUgMCU7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIm1peGlucy9ib3JkZXItcmFkaXVzXCIgYXMgKjtcbkB1c2UgXCJtaXhpbnMvdHJhbnNpdGlvblwiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcblxuLmF2YXRhciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhdmF0YXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YXZhdGFyLXdpZHRoOiAjeyRhdmF0YXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1hdmF0YXItaGVpZ2h0OiAjeyRhdmF0YXItaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YXZhdGFyLWZvbnQtc2l6ZTogI3skYXZhdGFyLWZvbnQtc2l6ZX07XG4gIC0tI3skcHJlZml4fWF2YXRhci1ib3JkZXItcmFkaXVzOiAjeyRhdmF0YXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWF2YXRhci1zdGF0dXMtd2lkdGg6ICN7JGF2YXRhci1zdGF0dXMtd2lkdGh9O1xuICAtLSN7JHByZWZpeH1hdmF0YXItc3RhdHVzLWhlaWdodDogI3skYXZhdGFyLXN0YXR1cy1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1hdmF0YXItc3RhdHVzLWJvcmRlci1yYWRpdXM6ICN7JGF2YXRhci1zdGF0dXMtYm9yZGVyLXJhZGl1c307XG4gIC8vIHNjc3MtZG9jcy1lbmQgYXZhdGFyLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9YXZhdGFyLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YXZhdGFyLWhlaWdodCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tI3skcHJlZml4fWF2YXRhci1mb250LXNpemUpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hdmF0YXItYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRhdmF0YXItdHJhbnNpdGlvbik7XG59XG5cbi5hdmF0YXItaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YXZhdGFyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmF2YXRhci1zdGF0dXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9YXZhdGFyLXN0YXR1cy13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWF2YXRhci1zdGF0dXMtaGVpZ2h0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hdmF0YXItc3RhdHVzLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuQGVhY2ggJHNpemUsICRtYXAgaW4gJGF2YXRhci1zaXplcyB7XG4gIC5hdmF0YXItI3skc2l6ZX0ge1xuICAgIC0tI3skcHJlZml4fWF2YXRhci13aWR0aDogI3ttYXAuZ2V0KCRtYXAsIFwid2lkdGhcIil9O1xuICAgIC0tI3skcHJlZml4fWF2YXRhci1oZWlnaHQ6ICN7bWFwLmdldCgkbWFwLCBcImhlaWdodFwiKX07XG4gICAgLS0jeyRwcmVmaXh9YXZhdGFyLWZvbnQtc2l6ZTogI3ttYXAuZ2V0KCRtYXAsIFwiZm9udC1zaXplXCIpfTtcbiAgICAtLSN7JHByZWZpeH1hdmF0YXItc3RhdHVzLXdpZHRoOiAje21hcC5nZXQoJG1hcCwgXCJzdGF0dXMtd2lkdGhcIil9O1xuICAgIC0tI3skcHJlZml4fWF2YXRhci1zdGF0dXMtaGVpZ2h0OiAje21hcC5nZXQoJG1hcCwgXCJzdGF0dXMtaGVpZ2h0XCIpfTtcbiAgfVxufVxuXG4uYXZhdGFycy1zdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLmF2YXRhciB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoLS40ICogdmFyKC0tI3skcHJlZml4fWF2YXRhci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjpob3ZlciB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcblxuLmNhbGxvdXQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgY2FsbG91dC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1jYWxsb3V0LXBhZGRpbmcteDogI3skY2FsbG91dC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1jYWxsb3V0LXBhZGRpbmcteTogI3skY2FsbG91dC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1jYWxsb3V0LW1hcmdpbi14OiAjeyRjYWxsb3V0LW1hcmdpbi14fTtcbiAgLS0jeyRwcmVmaXh9Y2FsbG91dC1tYXJnaW4teTogI3skY2FsbG91dC1tYXJnaW4teX07XG4gIC0tI3skcHJlZml4fWNhbGxvdXQtYm9yZGVyLXdpZHRoOiAjeyRjYWxsb3V0LWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWNhbGxvdXQtYm9yZGVyLWNvbG9yOiAjeyRjYWxsb3V0LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhbGxvdXQtYm9yZGVyLWxlZnQtd2lkdGg6ICN7JGNhbGxvdXQtYm9yZGVyLWxlZnQtd2lkdGh9O1xuICAtLSN7JHByZWZpeH1jYWxsb3V0LWJvcmRlci1yYWRpdXM6ICN7JGNhbGxvdXQtYm9yZGVyLXJhZGl1c307XG4gIC8vIHNjc3MtZG9jcy1lbmQgY2FsbG91dC1jc3MtdmFyc1xuXG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYWxsb3V0LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhbGxvdXQtcGFkZGluZy14KTtcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9Y2FsbG91dC1tYXJnaW4teSkgdmFyKC0tI3skcHJlZml4fWNhbGxvdXQtbWFyZ2luLXgpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1jYWxsb3V0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhbGxvdXQtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLWlubGluZS1zdGFydC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhbGxvdXQtYm9yZGVyLWxlZnQtY29sb3IpO1xuICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9Y2FsbG91dC1ib3JkZXItbGVmdC13aWR0aCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhbGxvdXQtYm9yZGVyLXJhZGl1cykpO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FsbG91dC1tb2RpZmllcnNcbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgY29sbG9yLlxuQGVhY2ggJHN0YXRlLCAkdmFsdWUgaW4gJGNhbGxvdXQtdmFyaWFudHMge1xuICAuY2FsbG91dC0jeyRzdGF0ZX0ge1xuICAgIC0tI3skcHJlZml4fWNhbGxvdXQtYm9yZGVyLWxlZnQtY29sb3I6ICN7JHZhbHVlfTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjYWxsb3V0LW1vZGlmaWVyc1xuIiwiQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi5mb290ZXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgZm9vdGVyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWZvb3Rlci1taW4taGVpZ2h0OiAjeyRmb290ZXItbWluLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWZvb3Rlci1wYWRkaW5nLXg6ICN7JGZvb3Rlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1mb290ZXItcGFkZGluZy15OiAjeyRmb290ZXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9Zm9vdGVyLWNvbG9yOiAjeyRmb290ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb290ZXItYmc6ICN7JGZvb3Rlci1iZ307XG4gIC0tI3skcHJlZml4fWZvb3Rlci1ib3JkZXItY29sb3I6ICN7JGZvb3Rlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb290ZXItYm9yZGVyOiAjeyRmb290ZXItYm9yZGVyLXdpZHRofSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Zm9vdGVyLWJvcmRlci1jb2xvcik7XG4gIC8vIHNjc3MtZG9jcy1lbmQgZm9vdGVyLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBhbGxvdyB1cyB0byBkbyB0aGUgbGluZSBicmVhayBmb3IgY29sbGFwc2luZyBjb250ZW50XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWluLWhlaWdodDogdmFyKC0tI3skcHJlZml4fWZvb3Rlci1taW4taGVpZ2h0KTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWZvb3Rlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1mb290ZXItcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1mb290ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS0jeyRwcmVmaXh9Zm9vdGVyLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fWZvb3Rlci1ib3JkZXIpO1xufVxuXG4uZm9vdGVyLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZm9vdGVyLXN0aWNreSB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cbiIsIkB1c2UgXCJmdW5jdGlvbnMvZXNjYXBlLXN2Z1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIm1peGlucy9icmVha3BvaW50c1wiIGFzICo7XG5AdXNlIFwibWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcInZlbmRvci9yZnNcIiBhcyAqO1xuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XG5cbi5oZWFkZXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGVyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWhlYWRlci1wYWRkaW5nLXg6ICN7JGhlYWRlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1oZWFkZXItcGFkZGluZy15OiAjeyRoZWFkZXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLWJnOiAjeyRoZWFkZXItYmd9O1xuICAtLSN7JHByZWZpeH1oZWFkZXItY29sb3I6ICN7JGhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhlYWRlci1ib3JkZXItY29sb3I6ICN7JGhlYWRlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1oZWFkZXItYm9yZGVyOiAjeyRoZWFkZXItYm9yZGVyLXdpZHRofSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLWJvcmRlci1jb2xvcik7XG4gIC0tI3skcHJlZml4fWhlYWRlci1ob3Zlci1jb2xvcjogI3skaGVhZGVyLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLWRpc2FibGVkLWNvbG9yOiAjeyRoZWFkZXItZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1oZWFkZXItYWN0aXZlLWNvbG9yOiAjeyRoZWFkZXItYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLXRyYW5zaXRpb246ICN7JGhlYWRlci10cmFuc2l0aW9ufTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLWJyYW5kLXBhZGRpbmcteTogI3skaGVhZGVyLWJyYW5kLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWhlYWRlci1icmFuZC1jb2xvcjogI3skaGVhZGVyLWJyYW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLWJyYW5kLWhvdmVyLWNvbG9yOiAjeyRoZWFkZXItYnJhbmQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1oZWFkZXItdG9nZ2xlci1wYWRkaW5nLXg6ICN7JGhlYWRlci10b2dnbGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWhlYWRlci10b2dnbGVyLXBhZGRpbmcteTogI3skaGVhZGVyLXRvZ2dsZXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItYmc6ICN7JGhlYWRlci10b2dnbGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItY29sb3I6ICN7JGhlYWRlci10b2dnbGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogI3skaGVhZGVyLXRvZ2dsZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWhlYWRlci10b2dnbGVyLWhvdmVyLWNvbG9yOiAjeyRoZWFkZXItdG9nZ2xlci1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhlYWRlci10b2dnbGVyLWljb24tYmc6ICN7ZXNjYXBlLXN2ZygkaGVhZGVyLXRvZ2dsZXItaWNvbi1iZyl9O1xuICAtLSN7JHByZWZpeH1oZWFkZXItdG9nZ2xlci1ob3Zlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJGhlYWRlci10b2dnbGVyLWhvdmVyLWljb24tYmcpfTtcbiAgLS0jeyRwcmVmaXh9aGVhZGVyLW5hdi1saW5rLXBhZGRpbmcteDogI3skaGVhZGVyLW5hdi1saW5rLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWhlYWRlci1uYXYtbGluay1wYWRkaW5nLXk6ICN7JGhlYWRlci1uYXYtbGluay1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1oZWFkZXItZGl2aWRlci1ib3JkZXItY29sb3I6ICN7JGhlYWRlci1kaXZpZGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhlYWRlci1kaXZpZGVyLWJvcmRlcjogI3skaGVhZGVyLWRpdmlkZXItYm9yZGVyLXdpZHRofSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLWRpdmlkZXItYm9yZGVyLWNvbG9yKTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBoZWFkZXItY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWhlYWRlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1oZWFkZXItcGFkZGluZy14KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tI3skcHJlZml4fWhlYWRlci1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1oZWFkZXItYm9yZGVyKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLXRyYW5zaXRpb24pKTtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gIC8vIFRoZSBgZmxleC13cmFwYCBwcm9wZXJ0eSBpcyBpbmhlcml0ZWQgdG8gc2ltcGxpZnkgdGhlIGV4cGFuZGVkIG5hdmJhcnNcbiAgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBpbmhlcml0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgPiAuY29udGFpbmVyLFxuICA+IC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG5cbiAgJi5oZWFkZXItc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgfVxufVxuXG4uaGVhZGVyLWRpdmlkZXIge1xuICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgKyAoMiAqIHZhcigtLSN7JHByZWZpeH1oZWFkZXItcGFkZGluZy14KSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fWhlYWRlci1wYWRkaW5nLXkpIGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLWRpdmlkZXItYm9yZGVyKTtcbn1cblxuLy8gSGVhZGVyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5oZWFkZXItYnJhbmQge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tI3skcHJlZml4fWhlYWRlci1icmFuZC1wYWRkaW5nLXkpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWhlYWRlci1icmFuZC1wYWRkaW5nLXkpO1xuICBtYXJnaW4taW5saW5lLWVuZDogJGhlYWRlci1icmFuZC1tYXJnaW4tZW5kO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGhlYWRlci1icmFuZC1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRlci1icmFuZC1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYobm90IHNhc3MoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lKTogbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkZXItYnJhbmQtaG92ZXItY29sb3IpO1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2F0LWZ1bmN0aW9uLW5hbWVkLWFyZ3VtZW50c1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoc2FzcygkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSk6IG5vbmUpO1xuICB9XG59XG5cbi8vIEhlYWRlciBuYXZcbi8vXG4vLyBDdXN0b20gbmF2YmFyIG5hdmlnYXRpb24gKGRvZXNuJ3QgcmVxdWlyZSBgLm5hdmAsIGJ1dCBkb2VzIG1ha2UgdXNlIG9mIGAubmF2LWxpbmtgKS5cblxuLmhlYWRlci1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAuaGVhZGVyYHMgdmFsdWVcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLW5hdi1saW5rLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWhlYWRlci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLWNvbG9yKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRlci1ob3Zlci1jb2xvcik7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRlci1kaXNhYmxlZC1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLnNob3cgPiAubmF2LWxpbmssXG4gIC5uYXYtbGluay5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLWFjdGl2ZS1jb2xvcik7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG59XG5cblxuLy8gSGVhZGVyIHRleHRcbi8vXG4vL1xuXG4uaGVhZGVyLXRleHQge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tI3skcHJlZml4fWhlYWRlci1uYXYtbGluay1wYWRkaW5nLXkpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWhlYWRlci1uYXYtbGluay1wYWRkaW5nLXkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRlci1jb2xvcik7XG5cbiAgYSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkZXItYWN0aXZlLWNvbG9yKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRlci1hY3RpdmUtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyLXRvZ2dsZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoZWFkZXItdG9nZ2xlci1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRlci10b2dnbGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhlYWRlci10b2dnbGVyLWJnKTtcbiAgYm9yZGVyOiAwOyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgLm5hdmJhci10b2dnbGVyIGVsZW1lbnRzXG4gICY6bm90KDpkaXNhYmxlZCkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4uaGVhZGVyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6ICRoZWFkZXItdG9nZ2xlci1mb250LXNpemUgKiAxLjI1O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGVyLXRvZ2dsZXItaWNvbi1iZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1oZWFkZXItdG9nZ2xlci1ob3Zlci1pY29uLWJnKTtcbiAgfVxufVxuIiwiQHVzZSBcIm1peGlucy9pY29uXCIgYXMgKjtcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuXG4uaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IC0uMTI1cmVtOyAvLyBGaXggdGhlIHBvc2l0aW9uIG9mIGljb25cbiAgZmlsbDogY3VycmVudGNvbG9yO1xuICAmOm5vdCguaWNvbi1jLXMpOm5vdCguaWNvbi1jdXN0b20tc2l6ZSkge1xuICAgIEBpbmNsdWRlIGljb24tc2l6ZSgkaWNvbi1zaXplLWJhc2UpO1xuXG4gICAgJi5pY29uLXh4bCB7XG4gICAgICBAaW5jbHVkZSBpY29uLXNpemUoJGljb24tc2l6ZS14eGwpO1xuICAgIH1cblxuICAgICYuaWNvbi14bCB7XG4gICAgICBAaW5jbHVkZSBpY29uLXNpemUoJGljb24tc2l6ZS14bCk7XG4gICAgfVxuXG4gICAgJi5pY29uLWxnIHtcbiAgICAgIEBpbmNsdWRlIGljb24tc2l6ZSgkaWNvbi1zaXplLWxnKTtcbiAgICB9XG5cbiAgICAmLmljb24tc20ge1xuICAgICAgQGluY2x1ZGUgaWNvbi1zaXplKCRpY29uLXNpemUtc20pO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAzIHRocm91Z2ggOSB7XG4gICAgICAmLmljb24tI3skaX14bCB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tc2l6ZSgkaSAqICRpY29uLXNpemUtYmFzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBJY29uIHNpemVzXG5AbWl4aW4gaWNvbi1zaXplKCRpY29uLXNpemUpIHtcbiAgd2lkdGg6ICRpY29uLXNpemU7XG4gIGhlaWdodDogJGljb24tc2l6ZTtcbiAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5AdXNlIFwiLi4vZnVuY3Rpb25zL2VzY2FwZS1zdmdcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9iYWNrZHJvcFwiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2JvcmRlci1yYWRpdXNcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9icmVha3BvaW50c1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2x0ci1ydGxcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlcy1kYXJrXCIgYXMgKjtcblxuLnNpZGViYXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLXppbmRleDogI3skemluZGV4LXNpZGViYXJ9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLXdpZHRoOiAjeyRzaWRlYmFyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1iZzogI3skc2lkZWJhci1iZ307XG4gIC0tI3skcHJlZml4fXNpZGViYXItcGFkZGluZy14OiAjeyRzaWRlYmFyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXNpZGViYXItcGFkZGluZy15OiAjeyRzaWRlYmFyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXNpZGViYXItY29sb3I6ICN7JHNpZGViYXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLWJyYW5kLWNvbG9yOiAjeyRzaWRlYmFyLWJyYW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1icmFuZC1iZzogI3skc2lkZWJhci1icmFuZC1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLXdpZHRoKTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLy8gcHV0IHRoZSBuYXYgb24gdGhlIGxlZnRcbiAgb3JkZXI6IC0xO1xuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItd2lkdGgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItY29sb3IpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1iZyk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHNpZGViYXItdHJhbnNpdGlvbik7XG5cbiAgJjpub3QoLnNpZGViYXItZW5kKXtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICB9XG5cbiAgJi5zaWRlYmFyLWVuZCB7XG4gICAgb3JkZXI6IDk5O1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbW9iaWxlLWJyZWFrcG9pbnQpIHtcbiAgICAmOm5vdCguaGlkZSk6bm90KC5zaWRlYmFyLW5hcnJvdyk6bm90KC5zaWRlYmFyLW5hcnJvdy11bmZvbGRhYmxlKTpub3QoLnNpZGViYXItb3ZlcmxhaWQpIHtcbiAgICAgICY6bm90KC5zaWRlYmFyLWVuZCkgfiAqIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9c2lkZWJhci1vY2N1cHktc3RhcnQ6ICN7JHNpZGViYXItd2lkdGh9O1xuICAgICAgfVxuICAgICAgJi5zaWRlYmFyLWVuZCB+ICoge1xuICAgICAgICAtLSN7JHByZWZpeH1zaWRlYmFyLW9jY3VweS1lbmQ6ICN7JHNpZGViYXItd2lkdGh9O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaGlkZSB7XG4gICAgICAmOm5vdCguc2lkZWJhci1lbmQpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLXdpZHRoKSk7XG4gICAgICB9XG4gICAgICAmLnNpZGViYXItZW5kIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci13aWR0aCkpO1xuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRtb2JpbGUtYnJlYWtwb2ludCkge1xuICAgIC8vIFNvbWUgb2Ygb3VyIGNvbXBvbmVudHMgdXNlIHRoaXMgcHJvcGVydHkgdG8gZGV0ZWN0IGlmIHRoZSBzaWRlYmFyIGhhcyBtb2JpbGUgYmVoYXZpb3IuXG4gICAgLS0jeyRwcmVmaXh9aXMtbW9iaWxlOiB0cnVlO1xuXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItemluZGV4KTtcblxuICAgICY6bm90KC5zaWRlYmFyLWVuZCkge1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuXG4gICAgICAmOm5vdCguc2hvdykge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXNpZGViYXItd2lkdGgpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNpZGViYXItZW5kIHtcbiAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG5cbiAgICAgICY6bm90KC5zaG93KSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXNpZGViYXItd2lkdGgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNpZGViYXItZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci16aW5kZXgpO1xuXG4gICY6bm90KC5zaWRlYmFyLWVuZCkge1xuICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgfVxuXG4gICYuc2lkZWJhci1lbmQge1xuICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gIH1cbn1cblxuLnNpZGViYXItb3ZlcmxhaWQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1vdmVybGFpZC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW92ZXJsYWlkLWJveC1zaGFkb3c6ICN7JHNpZGViYXItb3ZlcmxhaWQtYm94LXNoYWRvd307XG4gIC8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1vdmVybGFpZC1jc3MtdmFyc1xuXG4gIEBleHRlbmQgLnNpZGViYXItZml4ZWQ7XG5cbiAgJjpub3QoLnNpZGViYXItZW5kKXtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXNpZGViYXItd2lkdGgpKTtcbiAgfVxuXG4gICYuc2lkZWJhci1lbmQge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXNpZGViYXItd2lkdGgpKTtcbiAgfVxuXG4gICYuc2hvdyB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fXNpZGViYXItb3ZlcmxhaWQtYm94LXNoYWRvdyk7XG5cbiAgICAmOm5vdCguc2lkZWJhci1lbmQpIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuXG4gICAgJi5zaWRlYmFyLWVuZCB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJHdpZHRoLCAkdmFsdWUgaW4gJHNpZGViYXItd2lkdGhzIHtcbiAgLnNpZGViYXItI3skd2lkdGh9IHtcbiAgICAtLSN7JHByZWZpeH1zaWRlYmFyLXdpZHRoOiAjeyR2YWx1ZX07XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRtb2JpbGUtYnJlYWtwb2ludCkge1xuICAgICAgJjpub3QoLmhpZGUpOm5vdCguc2lkZWJhci1uYXJyb3cpOm5vdCguc2lkZWJhci1uYXJyb3ctdW5mb2xkYWJsZSk6bm90KC5zaWRlYmFyLW92ZXJsYWlkKSB7XG4gICAgICAgICY6bm90KC5zaWRlYmFyLWVuZCkgfiAqIHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1zaWRlYmFyLW9jY3VweS1zdGFydDogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICAgICYuc2lkZWJhci1lbmQgfiAqIHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1zaWRlYmFyLW9jY3VweS1lbmQ6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2lkZWJhci1icmFuZCB7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1icmFuZC1jb2xvcik7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLnNpZGViYXItYnJhbmQtbmFycm93IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zaWRlYmFyLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXNpZGViYXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1wYWRkaW5nLXgpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fXNpZGViYXItcGFkZGluZy15KSAqIC41KSBjYWxjKHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLXBhZGRpbmcteCkgKiAuNSk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fXNpZGViYXItcGFkZGluZy14KSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1wYWRkaW5nLXkpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLXBhZGRpbmcteSkpO1xuICB9XG59XG5cbi5zaWRlYmFyLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLXBhZGRpbmcteCk7XG59XG5cbi5zaWRlYmFyLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXNpZGViYXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1wYWRkaW5nLXgpO1xufVxuXG4uc2lkZWJhci10b2dnbGVyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItdG9nZ2xlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLXRvZ2dsZXItd2lkdGg6ICN7JHNpZGViYXItdG9nZ2xlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNpZGViYXItdG9nZ2xlci1oZWlnaHQ6ICN7JHNpZGViYXItdG9nZ2xlci1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLXRvZ2dsZXItYmc6ICN7JHNpZGViYXItdG9nZ2xlci1iZ307XG4gIC0tI3skcHJlZml4fXNpZGViYXItdG9nZ2xlci1jb2xvcjogI3skc2lkZWJhci10b2dnbGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLWljb246ICN7ZXNjYXBlLXN2Zygkc2lkZWJhci10b2dnbGVyLWljb24pfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLWhvdmVyLWNvbG9yOiAjeyRzaWRlYmFyLXRvZ2dsZXItaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLXRvZ2dsZXItZm9jdXMtc2hhZG93OiAjeyRzaWRlYmFyLXRvZ2dsZXItZm9jdXMtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLWZvY3VzLWNvbG9yOiAjeyRzaWRlYmFyLXRvZ2dsZXItZm9jdXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogI3skc2lkZWJhci10b2dnbGVyLXRyYW5zaXRpb259O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItdG9nZ2xlci1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLWhlaWdodCk7XG4gIHBhZGRpbmc6ICRzaWRlYmFyLXRvZ2dsZXItcGFkZGluZy15ICRzaWRlYmFyLXRvZ2dsZXItcGFkZGluZy14O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLWJnKTtcbiAgYm9yZGVyOiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItdG9nZ2xlci1jb2xvcik7XG4gICAgbWFzazogdmFyKC0tI3skcHJlZml4fXNpZGViYXItdG9nZ2xlci1pY29uKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fXNpZGViYXItdG9nZ2xlci10cmFuc2l0aW9uKSk7XG4gICAgQGluY2x1ZGUgcnRsKCkge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcnJpZGUgPGE+J3MgaG92ZXIgc3R5bGVcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLWhvdmVyLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLWZvY3VzLXNoYWRvdyk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItdG9nZ2xlci1mb2N1cy1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRtb2JpbGUtYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBCYWNrZHJvcCBiYWNrZ3JvdW5kXG5cbi5zaWRlYmFyLWJhY2tkcm9wIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNpZGViYXItYmFja2Ryb3AtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3AtemluZGV4OiAjeyR6aW5kZXgtc2lkZWJhci1iYWNrZHJvcH07XG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLWJnOiAjeyRzaWRlYmFyLWJhY2tkcm9wLWJnfTtcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3Atb3BhY2l0eTogI3skc2lkZWJhci1iYWNrZHJvcC1vcGFjaXR5fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzaWRlYmFyLWJhY2tkcm9wLWNzcy12YXJzXG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRtb2JpbGUtYnJlYWtwb2ludCkge1xuICAgIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AodmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLXppbmRleCksIHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC1iZyksIHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC1vcGFjaXR5KSk7XG4gIH1cbn1cblxuLnNpZGViYXItZGFyayB7XG4gIC0tI3skcHJlZml4fWJvZHktY29sb3I6ICN7JGJvZHktY29sb3ItZGFya307XG4gIC0tI3skcHJlZml4fWJvZHktYmc6ICN7JGJvZHktYmctZGFya307XG5cbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3ItZGFya307XG5cbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnOiAjeyRib2R5LXNlY29uZGFyeS1iZy1kYXJrfTtcblxuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcjogI3skYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmc6ICN7JGJvZHktdGVydGlhcnktYmctZGFya307XG5cbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3ItZGFya307XG5cbiAgLnNpZGViYXItdG9nZ2xlciB7XG4gICAgZmlsdGVyOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci10b2dnbGVyLXdoaXRlLWZpbHRlcik7XG4gIH1cbn1cbiIsIi8vIFNpZGViYXIgbmF2aWdhdGlvblxuQHVzZSBcIi4uL2Z1bmN0aW9ucy9lc2NhcGUtc3ZnXCIgYXMgKjtcbkB1c2UgXCIuLi9taXhpbnMvYm9yZGVyLXJhZGl1c1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL3RyYW5zaXRpb25cIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi5zaWRlYmFyLW5hdiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLW5hdi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1wYWRkaW5nLXg6ICN7JHNpZGViYXItbmF2LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LXBhZGRpbmcteTogI3skc2lkZWJhci1uYXYtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtZ2FwOiAjeyRzaWRlYmFyLW5hdi1nYXB9O1xuXG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LXRpdGxlLXBhZGRpbmcteDogI3skc2lkZWJhci1uYXYtdGl0bGUtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtdGl0bGUtcGFkZGluZy15OiAjeyRzaWRlYmFyLW5hdi10aXRsZS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi10aXRsZS1tYXJnaW4tdG9wOiAjeyRzaWRlYmFyLW5hdi10aXRsZS1tYXJnaW4tdG9wfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtdGl0bGUtY29sb3I6ICN7JHNpZGViYXItbmF2LXRpdGxlLWNvbG9yfTtcblxuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteDogI3skc2lkZWJhci1uYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteTogI3skc2lkZWJhci1uYXYtbGluay1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWNvbG9yOiAjeyRzaWRlYmFyLW5hdi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1iZzogI3skc2lkZWJhci1uYXYtbGluay1iZ307XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstYm9yZGVyLWNvbG9yOiAjeyRzaWRlYmFyLW5hdi1saW5rLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstYm9yZGVyLXJhZGl1czogI3skc2lkZWJhci1uYXYtbGluay1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1ib3JkZXItd2lkdGg6ICN7JHNpZGViYXItbmF2LWxpbmstYm9yZGVyLXdpZHRofTtcblxuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1jb2xvcjogI3skc2lkZWJhci1uYXYtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1iZzogI3skc2lkZWJhci1uYXYtbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1ob3Zlci1jb2xvcjogI3skc2lkZWJhci1uYXYtbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaG92ZXItYmc6ICN7JHNpZGViYXItbmF2LWxpbmstaG92ZXItYmd9O1xuXG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaWNvbi1tYXJnaW46ICN7JHNpZGViYXItbmF2LWxpbmstaWNvbi1tYXJnaW59O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tY29sb3I6ICN7JHNpZGViYXItbmF2LWxpbmstaWNvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaWNvbi13aWR0aDogI3skc2lkZWJhci1uYXYtbGluay1pY29uLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLWhlaWdodDogI3skc2lkZWJhci1uYXYtbGluay1pY29uLWhlaWdodH07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaWNvbi1mb250LXNpemU6ICN7JHNpZGViYXItbmF2LWxpbmstaWNvbi1mb250LXNpemV9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1pY29uLWNvbG9yOiAjeyRzaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1pY29uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1pY29uLWNvbG9yOiAjeyRzaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWljb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWhvdmVyLWljb24tY29sb3I6ICN7JHNpZGViYXItbmF2LWxpbmstaG92ZXItaWNvbi1jb2xvcn07XG5cbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1zaXplOiAjeyRzaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LXNpemV9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LWJnOiAjeyRzaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LWJnfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1ib3JkZXItd2lkdGg6ICN7JHNpZGViYXItbmF2LWxpbmstaWNvbi1idWxsZXQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1ib3JkZXItcmFkaXVzOiAjeyRzaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LWJvcmRlci1jb2xvcjogI3skc2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1pY29uLWJ1bGxldC1iZzogI3skc2lkZWJhci1uYXYtbGluay1hY3RpdmUtaWNvbi1idWxsZXQtYmd9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1pY29uLWJ1bGxldC1ib3JkZXItY29sb3I6ICN7JHNpZGViYXItbmF2LWxpbmstYWN0aXZlLWljb24tYnVsbGV0LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtaWNvbi1idWxsZXQtYmc6ICN7JHNpZGViYXItbmF2LWxpbmstZGlzYWJsZWQtaWNvbi1idWxsZXQtYmd9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWljb24tYnVsbGV0LWJvcmRlci1jb2xvcjogI3skc2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1pY29uLWJ1bGxldC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWhvdmVyLWljb24tYnVsbGV0LWJnOiAjeyRzaWRlYmFyLW5hdi1saW5rLWhvdmVyLWljb24tYnVsbGV0LWJnfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1ob3Zlci1pY29uLWJ1bGxldC1ib3JkZXItY29sb3I6ICN7JHNpZGViYXItbmF2LWxpbmstaG92ZXItaWNvbi1idWxsZXQtYm9yZGVyLWNvbG9yfTtcblxuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1iZzogI3skc2lkZWJhci1uYXYtZ3JvdXAtYmd9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1ib3JkZXItd2lkdGg6ICN7JHNpZGViYXItbmF2LWdyb3VwLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWJvcmRlci1yYWRpdXM6ICN7JHNpZGViYXItbmF2LWdyb3VwLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1ib3JkZXItY29sb3I6ICN7JHNpZGViYXItbmF2LWdyb3VwLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWl0ZW1zLXBhZGRpbmcteTogI3skc2lkZWJhci1uYXYtZ3JvdXAtaXRlbXMtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtZ3JvdXAtaXRlbXMtcGFkZGluZy14OiAjeyRzaWRlYmFyLW5hdi1ncm91cC1pdGVtcy1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1pbmRpY2F0b3ItY29sb3I6ICN7JHNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1pY29uOiAje2VzY2FwZS1zdmcoJHNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1pY29uKX07XG4gIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1ob3Zlci1jb2xvcjogI3skc2lkZWJhci1uYXYtZ3JvdXAtaW5kaWNhdG9yLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtZ3JvdXAtaW5kaWNhdG9yLWhvdmVyLWljb246ICN7ZXNjYXBlLXN2Zygkc2lkZWJhci1uYXYtZ3JvdXAtaW5kaWNhdG9yLWhvdmVyLWljb24pfTtcbiAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtZ3JvdXAtdG9nZ2xlLXNob3ctY29sb3I6ICN7JHNpZGViYXItbmF2LWdyb3VwLXRvZ2dsZS1zaG93LWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBzaWRlYmFyLW5hdi1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWl0ZW0gKyAubmF2LWl0ZW0sXG4gIC5uYXYtaXRlbSArIC5uYXYtZ3JvdXAsXG4gIC5uYXYtZ3JvdXAgKyAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1nYXApO1xuICB9XG5cbiAgLm5hdi10aXRsZSB7XG4gICAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LXRpdGxlLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LXRpdGxlLXBhZGRpbmcteCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LXRpdGxlLW1hcmdpbi10b3ApO1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi10aXRsZS1jb2xvcik7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRzaWRlYmFyLW5hdi10aXRsZS10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstYmcpO1xuICAgIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1ib3JkZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstYm9yZGVyLXJhZGl1cykpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHNpZGViYXItbmF2LWxpbmstdHJhbnNpdGlvbik7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWFjdGl2ZS1iZyk7XG5cbiAgICAgIC5uYXYtaWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1hY3RpdmUtaWNvbi1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgIC5uYXYtaWNvbi1idWxsZXQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1saW5rLWFjdGl2ZS1pY29uLWJ1bGxldC1iZyk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbGluay1hY3RpdmUtaWNvbi1idWxsZXQtYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgLm5hdi1pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWljb24tY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAubmF2LWljb24tYnVsbGV0IHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbGluay1kaXNhYmxlZC1pY29uLWJ1bGxldC1iZyk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbGluay1kaXNhYmxlZC1pY29uLWJ1bGxldC1ib3JkZXItY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWRpc2FibGVkLWNvbG9yKTtcblxuICAgICAgICAubmF2LWljb24ge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1kaXNhYmxlZC1pY29uLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXYtaWNvbi1idWxsZXQge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLWxpbmstZGlzYWJsZWQtaWNvbi1idWxsZXQtYmcpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbGluay1kaXNhYmxlZC1pY29uLWJ1bGxldC1ib3JkZXItY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5uYXYtZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1ob3Zlci1jb2xvcik7XG4gICAgICAgICAgbWFzay1pbWFnZTogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWluZGljYXRvci1ob3Zlci1pY29uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1ob3Zlci1iZyk7XG5cbiAgICAgICAgLm5hdi1pY29uIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaG92ZXItaWNvbi1jb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2LWljb24tYnVsbGV0IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1saW5rLWhvdmVyLWljb24tYnVsbGV0LWJnKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLWxpbmstaG92ZXItaWNvbi1idWxsZXQtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubmF2LWdyb3VwLXRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1pbmRpY2F0b3ItaG92ZXItY29sb3IpO1xuICAgICAgICAgIG1hc2staW1hZ2U6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1pbmRpY2F0b3ItaG92ZXItaWNvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2LWljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24td2lkdGgpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLWhlaWdodCk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tbWFyZ2luKTtcbiAgICBmb250LXNpemU6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tZm9udC1zaXplKTtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaWNvbi1jb2xvcik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGluaGVyaXQpO1xuICB9XG5cbiAgLm5hdi1pY29uLWJ1bGxldCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LXNpemUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LWJnKTtcbiAgICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tYnVsbGV0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaWNvbi1idWxsZXQtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLWJ1bGxldC1ib3JkZXItcmFkaXVzKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgc3ZnLm5hdi1pY29uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmaXggY2hyb21lIDEwNSsgd2lkdGggaXNzdWVcbiAgfVxuXG4gIC5uYXYtZ3JvdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1ib3JkZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRzaWRlYmFyLW5hdi1ncm91cC10cmFuc2l0aW9uKTtcblxuICAgIC5uYXYtZ3JvdXAtaXRlbXMge1xuICAgICAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWl0ZW1zLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWl0ZW1zLXBhZGRpbmcteCk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkc2lkZWJhci1uYXYtZ3JvdXAtaXRlbXMtdHJhbnNpdGlvbik7XG4gICAgfVxuXG4gICAgJjpub3QoLnNob3cpIC5uYXYtZ3JvdXAtaXRlbXMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnNob3cge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLWJnKTtcblxuICAgICAgLm5hdi1ncm91cC10b2dnbGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdyb3VwLXRvZ2dsZS1zaG93LWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgPiAubmF2LWdyb3VwLXRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuXG4gICAgICArIC5zaG93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWdhcCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdi1ncm91cC10b2dnbGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxleDogMCAxMnB4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtZ3JvdXAtaW5kaWNhdG9yLWNvbG9yKTtcbiAgICAgIG1hc2staW1hZ2U6IHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1ncm91cC1pbmRpY2F0b3ItaWNvbik7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRzaWRlYmFyLW5hdi1ncm91cC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1ncm91cC1pdGVtcyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteCkgKyB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLXdpZHRoKSArIHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLWljb24tbWFyZ2luKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgLm5hdi1pY29uIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstaWNvbi13aWR0aCkgKyB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1pY29uLW1hcmdpbikpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG4gIH1cblxuICAmLmNvbXBhY3QsXG4gIC5jb21wYWN0IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgLS0jeyRwcmVmaXh9c2lkZWJhci1uYXYtbGluay1wYWRkaW5nLXk6ICN7JHNpZGViYXItY29tcGFjdC1uYXYtbGluay1wYWRkaW5nLXl9O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcIi4uL21peGlucy9icmVha3BvaW50c1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2x0ci1ydGxcIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5AdXNlIFwic2lkZWJhclwiIGFzICo7XG5cbi5zaWRlYmFyLW5hcnJvdyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzaWRlYmFyLW5hcnJvdy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hcnJvdy13aWR0aDogI3skc2lkZWJhci1uYXJyb3ctd2lkdGh9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNpZGViYXItbmFycm93LWNzcy12YXJzXG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbW9iaWxlLWJyZWFrcG9pbnQpIHtcbiAgICBmbGV4OiAwIDAgdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmFycm93LXdpZHRoKTtcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXNpZGViYXItbmFycm93LXdpZHRoKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXNpZGViYXItdG9nZ2xlci1oZWlnaHQpO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgLnNpZGViYXItYnJhbmQtZnVsbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zaWRlYmFyLWJyYW5kLW5hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2lkZWJhci1oZWFkZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5zaWRlYmFyLW5hdiB7XG4gICAgICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1saW5rLXBhZGRpbmcteDogI3skc2lkZWJhci1uYXJyb3ctbmF2LWxpbmstcGFkZGluZy14fTtcbiAgICAgIC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstcGFkZGluZy15OiAjeyRzaWRlYmFyLW5hcnJvdy1uYXYtbGluay1wYWRkaW5nLXl9O1xuICAgIH1cblxuICAgIC5uYXYtbGluayB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5uYXYtaWNvbiB7XG4gICAgICBmbGV4OiAwIDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXJyb3ctd2lkdGgpIC0gKHZhcigtLSN7JHByZWZpeH1zaWRlYmFyLW5hdi1wYWRkaW5nLXgpICogMikgLSAodmFyKC0tI3skcHJlZml4fXNpZGViYXItbmF2LWxpbmstcGFkZGluZy14KSAqIDIpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAuZC1uYXJyb3ctbm9uZSxcbiAgICAubmF2LWxhYmVsLFxuICAgIC5uYXYtdGl0bGUsXG4gICAgLm5hdi1ncm91cC1pdGVtcyxcbiAgICAubmF2LWdyb3VwLnNob3cgLm5hdi1ncm91cC1pdGVtcyxcbiAgICAuc2lkZWJhci1mb3JtIHtcbiAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC5zaWRlYmFyLXRvZ2dsZXI6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBsdHItcnRsKFwidHJhbnNmb3JtXCIsIHJvdGF0ZSgtMTgwZGVnKSwgbnVsbCwgcm90YXRlKDBkZWcpKTtcbiAgICB9XG5cbiAgICAmLnNpZGViYXItZW5kIC5zaWRlYmFyLXRvZ2dsZXI6OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gIH1cbn1cblxuLnNpZGViYXItbmFycm93LXVuZm9sZGFibGUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc2lkZWJhci1uYXJyb3ctdW5mb2xkYWJsZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zaWRlYmFyLW5hcnJvdy11bmZvbGRhYmxlLWJveC1zaGFkb3c6ICN7JHNpZGViYXItbmFycm93LXVuZm9sZGFibGUtYm94LXNoYWRvd307XG4gIC8vIHNjc3MtZG9jcy1lbmQgc2lkZWJhci1uYXJyb3ctdW5mb2xkYWJsZS1jc3MtdmFyc1xuXG4gIEBleHRlbmQgLnNpZGViYXItZml4ZWQ7XG5cbiAgJjpub3QoOmhvdmVyKSB7XG4gICAgQGV4dGVuZCAuc2lkZWJhci1uYXJyb3c7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9c2lkZWJhci1uYXJyb3ctdW5mb2xkYWJsZS1ib3gtc2hhZG93KTtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcblxuICAgIC5zaWRlYmFyLXRvZ2dsZXI6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBsdHItcnRsKFwidHJhbnNmb3JtXCIsIHJvdGF0ZSgtMTgwZGVnKSwgbnVsbCwgcm90YXRlKDBkZWcpKTtcbiAgICB9XG5cbiAgICAmLnNpZGViYXItZW5kIC5zaWRlYmFyLXRvZ2dsZXI6OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gIH1cbn1cblxuLnNpZGViYXItbmFycm93LFxuLnNpZGViYXItbmFycm93LXVuZm9sZGFibGUge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRtb2JpbGUtYnJlYWtwb2ludCkge1xuICAgICY6bm90KC5zaWRlYmFyLWVuZCk6bm90KC5oaWRlKSB+ICoge1xuICAgICAgLS0jeyRwcmVmaXh9c2lkZWJhci1vY2N1cHktc3RhcnQ6ICN7JHNpZGViYXItbmFycm93LXdpZHRofTtcbiAgICB9XG4gICAgJi5zaWRlYmFyLWVuZDpub3QoLmhpZGUpIH4gKiB7XG4gICAgICAtLSN7JHByZWZpeH1zaWRlYmFyLW9jY3VweS1lbmQ6ICN7JHNpZGViYXItbmFycm93LXdpZHRofTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi9mdW5jdGlvbnMvY29sb3JcIiBhcyAqO1xuQHVzZSBcIi4uL2Z1bmN0aW9ucy9jb2xvci1jb250cmFzdFwiIGFzICo7XG5AdXNlIFwiLi4vZnVuY3Rpb25zL3RvLXJnYlwiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL2NvbG9yLW1vZGVcIiBhcyAqO1xuQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5AdXNlIFwiLi4vdmFyaWFibGVzLWRhcmtcIiBhcyAqO1xuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLnRleHQtYmctI3skY29sb3J9IHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgICBjb2xvcjogY29sb3ItY29udHJhc3QoJHZhbHVlKSBpZihzYXNzKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcyk6ICFpbXBvcnRhbnQpO1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2F0LWZ1bmN0aW9uLW5hbWVkLWFyZ3VtZW50c1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9Ymctb3BhY2l0eSwgMSkpIGlmKHNhc3MoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzKTogIWltcG9ydGFudCk7XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1kYXJrIHtcbiAgICAgICRjb2xvci1yZ2I6IHRvLXJnYigkdmFsdWUpO1xuICAgICAgLnRleHQtYmctI3skY29sb3J9IHtcbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gICAgICAgIGNvbG9yOiBjb2xvci1jb250cmFzdCgkdmFsdWUpIGlmKHNhc3MoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzKTogIWltcG9ydGFudCk7XG4gICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2F0LWZ1bmN0aW9uLW5hbWVkLWFyZ3VtZW50c1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1yZ2IsIHZhcigtLSN7JHByZWZpeH1iZy1vcGFjaXR5LCAxKSkgaWYoc2FzcygkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMpOiAhaW1wb3J0YW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi9mdW5jdGlvbnMvY29sb3JcIiBhcyAqO1xuQHVzZSBcIi4uL2Z1bmN0aW9ucy9jb2xvci1jb250cmFzdFwiIGFzICo7XG5AdXNlIFwiLi4vZnVuY3Rpb25zL3RvLXJnYlwiIGFzICo7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5saW5rLSN7JGNvbG9yfSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gICAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoc2FzcygkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMpOiAhaW1wb3J0YW50KTtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKHNhc3MoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzKTogIWltcG9ydGFudCk7XG5cbiAgICBAaWYgJGxpbmstc2hhZGUtcGVyY2VudGFnZSAhPSAwIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzLCBAc3R5bGlzdGljL2Z1bmN0aW9uLXdoaXRlc3BhY2UtYWZ0ZXJcbiAgICAgICAgJGhvdmVyLWNvbG9yOiBpZihzYXNzKGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSkgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0KTogc2hhZGUtY29sb3IoJHZhbHVlLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKTsgZWxzZTogdGludC1jb2xvcigkdmFsdWUsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpKTtcbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gICAgICAgIGNvbG9yOiByZ2JhKCN7dG8tcmdiKCRob3Zlci1jb2xvcil9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoc2FzcygkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMpOiAhaW1wb3J0YW50KTtcbiAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh0by1yZ2IoJGhvdmVyLWNvbG9yKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZihzYXNzKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcyk6ICFpbXBvcnRhbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPbmUtb2ZmIHNwZWNpYWwgbGluayBoZWxwZXIgYXMgYSBicmlkZ2UgdW50aWwgdjZcbi5saW5rLWJvZHktZW1waGFzaXMge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKSBpZihzYXNzKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcyk6ICFpbXBvcnRhbnQpO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKHNhc3MoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzKTogIWltcG9ydGFudCk7XG5cbiAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2F0LWZ1bmN0aW9uLW5hbWVkLWFyZ3VtZW50c1xuICAgICAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIC43NSkpIGlmKHNhc3MoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzKTogIWltcG9ydGFudCk7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIC43NSkpIGlmKHNhc3MoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzKTogIWltcG9ydGFudCk7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLmZvY3VzLXJpbmc6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICAvLyBCeSBkZWZhdWx0LCB0aGVyZSBpcyBubyBgLS1jdWktZm9jdXMtcmluZy14YCwgYC0tY3VpLWZvY3VzLXJpbmcteWAsIG9yIGAtLWN1aS1mb2N1cy1yaW5nLWJsdXJgLCBidXQgd2UgcHJvdmlkZSBDU1MgdmFyaWFibGVzIHdpdGggZmFsbGJhY2tzIHRvIGluaXRpYWwgYDBgIHZhbHVlc1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy14LCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy15LCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1ibHVyLCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy13aWR0aCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctY29sb3IpO1xufVxuIiwiQHVzZSBcIi4uL21peGlucy90cmFuc2l0aW9uXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4uaWNvbi1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogJGljb24tbGluay1nYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAuNSkpO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6ICRpY29uLWxpbmstdW5kZXJsaW5lLW9mZnNldDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gID4gLmJpIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogJGljb24tbGluay1pY29uLXNpemU7XG4gICAgaGVpZ2h0OiAkaWNvbi1saW5rLWljb24tc2l6ZTtcbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbik7XG4gIH1cbn1cblxuLmljb24tbGluay1ob3ZlciB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgPiAuYmkge1xuICAgICAgdHJhbnNmb3JtOiB2YXIoLS0jeyRwcmVmaXh9aWNvbi1saW5rLXRyYW5zZm9ybSwgJGljb24tbGluay1pY29uLXRyYW5zZm9ybSk7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLy8gQ3JlZGl0OiBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgU1VJVCBDU1MuXG5cbi5yYXRpbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tI3skcHJlZml4fWFzcGVjdC1yYXRpbyk7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBlYWNoICRrZXksICRyYXRpbyBpbiAkYXNwZWN0LXJhdGlvcyB7XG4gIC5yYXRpby0jeyRrZXl9IHtcbiAgICAtLSN7JHByZWZpeH1hc3BlY3QtcmF0aW86ICN7JHJhdGlvfTtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vbWl4aW5zL2JyZWFrcG9pbnRzXCIgYXMgKjtcbkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vLyBTaG9ydGhhbmRcblxuLmZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLmZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1maXhlZDtcbn1cblxuLy8gUmVzcG9uc2l2ZSBzdGlja3kgdG9wIGFuZCBib3R0b21cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC5rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5zdGlja3kjeyRpbmZpeH0tdG9wIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgICB9XG5cbiAgICAuc3RpY2t5I3skaW5maXh9LWJvdHRvbSB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgc3RhY2tzXG4uaHN0YWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLnZzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBzdGFja3NcbiIsIkB1c2UgXCIuLi9taXhpbnMvdmlzdWFsbHktaGlkZGVuXCIgYXMgKjtcblxuLy9cbi8vIFZpc3VhbGx5IGhpZGRlblxuLy9cblxuLnZpc3VhbGx5LWhpZGRlbixcbi52aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEhpZGUgY29udGVudCB2aXN1YWxseSB3aGlsZSBrZWVwaW5nIGl0IGFjY2Vzc2libGUgdG8gYXNzaXN0aXZlIHRlY2hub2xvZ2llc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9raXR0eWdpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuKCkge1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7IC8vIEZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTY4NlxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcblxuICAvLyBGaXggZm9yIHBvc2l0aW9uZWQgdGFibGUgY2FwdGlvbiB0aGF0IGNvdWxkIGJlY29tZSBhbm9ueW1vdXMgY2VsbHNcbiAgJjpub3QoY2FwdGlvbikge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gRml4IHRvIHByZXZlbnQgb3ZlcmZsb3dpbmcgY2hpbGRyZW4gdG8gYmVjb21lIGZvY3VzYWJsZVxuICAqIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gVXNlIHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLCBvciBvbmUgb2YgaXRzIGNoaWxkIGVsZW1lbnRzIGlzIGZvY3VzZWRcbi8vIChpLmUuIHdoZW4gZm9jdXMgaXMgd2l0aGluIHRoZSBlbGVtZW50L2NvbnRhaW5lciB0aGF0IHRoZSBjbGFzcyB3YXMgYXBwbGllZCB0bylcbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvV0NBRzIyL1RlY2huaXF1ZXMvZ2VuZXJhbC9HMS5odG1sXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlKCkge1xuICAmOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi92YXJpYWJsZXNcIiBhcyAqO1xuXG4vL1xuLy8gU3RyZXRjaGVkIGxpbmtcbi8vXG5cbi5zdHJldGNoZWQtbGluayB7XG4gICY6OiN7JHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50fSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkc3RyZXRjaGVkLWxpbmstei1pbmRleDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCJAdXNlIFwiLi4vbWl4aW5zL3RleHQtdHJ1bmNhdGVcIiBhcyAqO1xuXG4vL1xuLy8gVGV4dCB0cnVuY2F0aW9uXG4vL1xuXG4udGV4dC10cnVuY2F0ZSB7XG4gIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiQHVzZSBcIi4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi52ciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6ICR2ci1ib3JkZXItd2lkdGg7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAkaHItb3BhY2l0eTtcbn1cbiIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCIuLi92ZW5kb3IvcmZzXCIgYXMgKjtcbkB1c2UgXCJsdHItcnRsXCIgYXMgKjtcblxuLy8gR2VuZXJhdGUgc2VsZWN0b3JzIGZvciB0aGVtZSB2YXJpYW50c1xuQGZ1bmN0aW9uIHRoZW1lLXByZWZpeCgkdGhlbWUsICRzZWxlY3Rvcikge1xuICBAcmV0dXJuICN7XCJbZGF0YVwiICsgJGRhdGEtaW5maXggKyBcInRoZW1lPVwiJHRoZW1lICsgXCJdIC5cIiArICR0aGVtZSArIFwiXFxcXDpcIiArICRzZWxlY3RvciArIFwiLCBbZGF0YVwiICsgJGRhdGEtaW5maXggKyBcInRoZW1lPVwiJHRoZW1lICsgXCJdIC5cIiArICR0aGVtZSArIFwiXFxcXDpcIiArICRzZWxlY3RvciArIFwiOm5vdChbY2xhc3MqPScjeyR0aGVtZX06J10pXCJ9O1xufVxuXG4vLyBVdGlsaXR5IGdlbmVyYXRvclxuLy8gVXNlZCB0byBnZW5lcmF0ZSB1dGlsaXRpZXMgJiBwcmludCB1dGlsaXRpZXNcbkBtaXhpbiBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXg6IFwiXCIsICRpcy1yZnMtbWVkaWEtcXVlcnk6IGZhbHNlKSB7XG4gICR2YWx1ZXM6IG1hcC5nZXQoJHV0aWxpdHksIHZhbHVlcyk7XG5cbiAgLy8gSWYgdGhlIHZhbHVlcyBhcmUgYSBsaXN0IG9yIHN0cmluZywgY29udmVydCBpdCBpbnRvIGEgbWFwXG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlcykgPT0gXCJzdHJpbmdcIiBvciBtZXRhLnR5cGUtb2YobGlzdC5udGgoJHZhbHVlcywgMSkpICE9IFwibGlzdFwiIHtcbiAgICAkdmFsdWVzOiBsaXN0LnppcCgkdmFsdWVzLCAkdmFsdWVzKTtcbiAgfVxuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAkcHJvcGVydGllczogbWFwLmdldCgkdXRpbGl0eSwgcHJvcGVydHkpO1xuXG4gICAgLy8gTXVsdGlwbGUgcHJvcGVydGllcyBhcmUgcG9zc2libGUsIGZvciBleGFtcGxlIHdpdGggdmVydGljYWwgb3IgaG9yaXpvbnRhbCBtYXJnaW5zIG9yIHBhZGRpbmdzXG4gICAgQGlmIG1ldGEudHlwZS1vZigkcHJvcGVydGllcykgPT0gXCJzdHJpbmdcIiB7XG4gICAgICAkcHJvcGVydGllczogbGlzdC5hcHBlbmQoKCksICRwcm9wZXJ0aWVzKTtcbiAgICB9XG5cbiAgICAvLyBVc2UgY3VzdG9tIGNsYXNzIGlmIHByZXNlbnRcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHMsIEBzdHlsaXN0aWMvZnVuY3Rpb24td2hpdGVzcGFjZS1hZnRlclxuICAgICRwcm9wZXJ0eS1jbGFzczogaWYoc2FzcyhtYXAuaGFzLWtleSgkdXRpbGl0eSwgY2xhc3MpKTogbWFwLmdldCgkdXRpbGl0eSwgY2xhc3MpOyBlbHNlOiBsaXN0Lm50aCgkcHJvcGVydGllcywgMSkpO1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2F0LWZ1bmN0aW9uLW5hbWVkLWFyZ3VtZW50c1xuICAgICRwcm9wZXJ0eS1jbGFzczogaWYoc2FzcygkcHJvcGVydHktY2xhc3MgPT0gbnVsbCk6IFwiXCI7IGVsc2U6ICRwcm9wZXJ0eS1jbGFzcyk7XG5cbiAgICAvLyBVc2UgY3VzdG9tIENTUyB2YXJpYWJsZSBuYW1lIGlmIHByZXNlbnQsIG90aGVyd2lzZSBkZWZhdWx0IHRvIGBjbGFzc2BcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHMsIEBzdHlsaXN0aWMvZnVuY3Rpb24td2hpdGVzcGFjZS1hZnRlclxuICAgICRjc3MtdmFyaWFibGUtbmFtZTogaWYoc2FzcyhtYXAuaGFzLWtleSgkdXRpbGl0eSwgY3NzLXZhcmlhYmxlLW5hbWUpKTogbWFwLmdldCgkdXRpbGl0eSwgY3NzLXZhcmlhYmxlLW5hbWUpOyBlbHNlOiBtYXAuZ2V0KCR1dGlsaXR5LCBjbGFzcykpO1xuXG4gICAgLy8gU3RhdGUgcGFyYW1zIHRvIGdlbmVyYXRlIHBzZXVkby1jbGFzc2VzXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzLCBAc3R5bGlzdGljL2Z1bmN0aW9uLXdoaXRlc3BhY2UtYWZ0ZXJcbiAgICAkc3RhdGU6IGlmKHNhc3MobWFwLmhhcy1rZXkoJHV0aWxpdHksIHN0YXRlKSk6IG1hcC5nZXQoJHV0aWxpdHksIHN0YXRlKTsgZWxzZTogKCkpO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzLCBAc3R5bGlzdGljL2Z1bmN0aW9uLXdoaXRlc3BhY2UtYWZ0ZXJcbiAgICAkaW5maXg6IGlmKHNhc3MoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kIHN0cmluZy5zbGljZSgkaW5maXgsIDEsIDEpID09IFwiLVwiKTogc3RyaW5nLnNsaWNlKCRpbmZpeCwgMik7IGVsc2U6ICRpbmZpeCk7XG5cbiAgICAvLyBEb24ndCBwcmVmaXggaWYgdmFsdWUga2V5IGlzIG51bGwgKGUuZy4gd2l0aCBzaGFkb3cgY2xhc3MpXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gICAgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyOiBpZihzYXNzKCRrZXkpOiBpZihzYXNzKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCAkaW5maXggPT0gXCJcIik6IFwiXCI7IGVsc2U6IFwiLVwiKSArICRrZXk7IGVsc2U6IFwiXCIpO1xuXG4gICAgQGlmIG1hcC5nZXQoJHV0aWxpdHksIHJmcykge1xuICAgICAgLy8gSW5zaWRlIHRoZSBtZWRpYSBxdWVyeVxuICAgICAgQGlmICRpcy1yZnMtbWVkaWEtcXVlcnkge1xuICAgICAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlKTtcblxuICAgICAgICAvLyBEbyBub3QgcmVuZGVyIGFueXRoaW5nIGlmIGZsdWlkIGFuZCBub24gZmx1aWQgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9hdC1mdW5jdGlvbi1uYW1lZC1hcmd1bWVudHNcbiAgICAgICAgJHZhbHVlOiBpZihzYXNzKCR2YWwgPT0gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSkpOiBudWxsOyBlbHNlOiAkdmFsKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHZhbHVlOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkaXMtY3NzLXZhcjogbWFwLmdldCgkdXRpbGl0eSwgY3NzLXZhcik7XG4gICAgJGlzLWRhcmstbW9kZTogbWFwLmdldCgkdXRpbGl0eSwgZGFyay1tb2RlKTtcbiAgICAkaXMtbG9jYWwtdmFyczogbWFwLmdldCgkdXRpbGl0eSwgbG9jYWwtdmFycyk7XG4gICAgJGlzLXJ0bDogbWFwLmdldCgkdXRpbGl0eSwgcnRsKTtcblxuICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDpiZWdpbjpyZW1vdmUgKi9cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1jc3MtdmFyIHtcbiAgICAgICAgQGlmICRlbmFibGUtZGFyay1tb2RlIGFuZCAkaXMtZGFyay1tb2RlIHtcbiAgICAgICAgICAje3RoZW1lLXByZWZpeChcImRhcmtcIiwgXCIjeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn1cIil9LFxuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skY3NzLXZhcmlhYmxlLW5hbWV9OiAjeyR2YWx1ZX07XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9IHtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGNzcy12YXJpYWJsZS1uYW1lfTogI3skdmFsdWV9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRjc3MtdmFyaWFibGUtbmFtZX06ICN7JHZhbHVlfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgJGVuYWJsZS1kYXJrLW1vZGUgYW5kICRpcy1kYXJrLW1vZGUge1xuICAgICAgICAgICN7dGhlbWUtcHJlZml4KFwiZGFya1wiLCBcIiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfVwiKX0sXG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2F0LWZ1bmN0aW9uLW5hbWVkLWFyZ3VtZW50c1xuICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZihzYXNzKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcyk6ICFpbXBvcnRhbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfSB7XG4gICAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZiAkaXMtcnRsID09IHRydWUge1xuICAgICAgICAgICAgICAgIEBpZiAobWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gXCJtYXBcIikge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbHRyLXJ0bCgkcHJvcGVydHksIG1hcC5nZXQoJHZhbHVlLCBcImx0clwiKSwgbnVsbCwgbWFwLmdldCgkdmFsdWUsIFwicnRsXCIpLCBpZihzYXNzKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcyk6ICFpbXBvcnRhbnQpKTtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGx0ci1ydGwoJHByb3BlcnR5LCAkdmFsdWUsIG51bGwsIG51bGwsIGlmKHNhc3MoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzKTogIWltcG9ydGFudCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvYXQtZnVuY3Rpb24tbmFtZWQtYXJndW1lbnRzXG4gICAgICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoc2FzcygkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMpOiAhaW1wb3J0YW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRsb2NhbC12YXIsICR2YXJpYWJsZSBpbiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2F0LWZ1bmN0aW9uLW5hbWVkLWFyZ3VtZW50c1xuICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZihzYXNzKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcyk6ICFpbXBvcnRhbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDplbmQ6cmVtb3ZlICovXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOm1ldGFcIjtcbkB1c2UgXCIuLi91dGlsaXRpZXNcIiBhcyAqO1xuQHVzZSBcIi4uL21peGlucy9icmVha3BvaW50c1wiIGFzICo7XG5AdXNlIFwiLi4vbWl4aW5zL3V0aWxpdGllc1wiIGFzICo7XG5AdXNlIFwiLi4vdmVuZG9yL3Jmc1wiIGFzICo7XG5AdXNlIFwiLi4vdmFyaWFibGVzXCIgYXMgKjtcblxuLy8gTG9vcCBvdmVyIGVhY2ggYnJlYWtwb2ludFxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLmtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcblxuICAvLyBHZW5lcmF0ZSBtZWRpYSBxdWVyeSBpZiBuZWVkZWRcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gTG9vcCBvdmVyIGVhY2ggdXRpbGl0eSBwcm9wZXJ0eVxuICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgLy8gT25seSBwcm9jZWVkIGlmIHJlc3BvbnNpdmUgbWVkaWEgcXVlcmllcyBhcmUgZW5hYmxlZCBvciBpZiBpdCdzIHRoZSBiYXNlIG1lZGlhIHF1ZXJ5XG4gICAgICBAaWYgbWV0YS50eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCAobWFwLmdldCgkdXRpbGl0eSwgcmVzcG9uc2l2ZSkgb3IgJGluZml4ID09IFwiXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUkZTIHJlc2NhbGluZ1xuQG1lZGlhIChtaW4td2lkdGg6ICRyZnMtbXEtdmFsdWUpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLmtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAobWFwLmdldCgkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIDwgJHJmcy1icmVha3BvaW50KSB7XG4gICAgICAvLyBMb29wIG92ZXIgZWFjaCB1dGlsaXR5IHByb3BlcnR5XG4gICAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgICAvLyBPbmx5IHByb2NlZWQgaWYgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGFyZSBlbmFibGVkIG9yIGlmIGl0J3MgdGhlIGJhc2UgbWVkaWEgcXVlcnlcbiAgICAgICAgQGlmIG1ldGEudHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLmdldCgkdXRpbGl0eSwgcmZzKSBhbmQgKG1hcC5nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4LCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFByaW50IHV0aWxpdGllc1xuQG1lZGlhIHByaW50IHtcbiAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgIC8vIFRoZW4gY2hlY2sgaWYgdGhlIHV0aWxpdHkgbmVlZHMgcHJpbnQgc3R5bGVzXG4gICAgQGlmIG1ldGEudHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLmdldCgkdXRpbGl0eSwgcHJpbnQpID09IHRydWUge1xuICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgXCItcHJpbnRcIik7XG4gICAgfVxuICB9XG59XG4iLCIuc2ltcGxlYmFyLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuIiwiQHVzZSBcIkBjb3JldWkvY29yZXVpL3Njc3MvY29yZXVpXCIgYXMgKiB3aXRoICgkZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiBmYWxzZSk7XG5AdXNlIFwidmVuZG9ycy9zaW1wbGViYXJcIjtcblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN1aS10ZXJ0aWFyeS1iZyk7XG59XG5cbi53cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1jdWktc2lkZWJhci1vY2N1cHktc3RhcnQsIDApIHZhcigtLWN1aS1zaWRlYmFyLW9jY3VweS1lbmQsIDApO1xuICB3aWxsLWNoYW5nZTogYXV0bztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIC4xNXMpO1xufVxuXG4uaGVhZGVyID4gLmNvbnRhaW5lci1mbHVpZCxcbi5zaWRlYmFyLWhlYWRlciB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoNHJlbSArIDFweCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbi5zaWRlYmFyLWJyYW5kLWZ1bGwge1xuICBtYXJnaW4tbGVmdDogM3B4O1xufVxuXG4uc2lkZWJhci1oZWFkZXIge1xuICAubmF2LXVuZGVybGluZS1ib3JkZXIge1xuICAgIC0tY3VpLW5hdi11bmRlcmxpbmUtYm9yZGVyLWxpbmstcGFkZGluZy14OiAxcmVtO1xuICAgIC0tY3VpLW5hdi11bmRlcmxpbmUtYm9yZGVyLWdhcDogMDtcbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoNHJlbSArIDFweCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIH1cbn1cblxuLnNpZGViYXItdG9nZ2xlciB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG59XG5cbi5zaWRlYmFyLW5hcnJvdyxcbi5zaWRlYmFyLW5hcnJvdy11bmZvbGRhYmxlOm5vdCg6aG92ZXIpIHtcbiAgLnNpZGViYXItdG9nZ2xlciB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IGF1dG87XG4gIH1cbn1cblxuLmhlYWRlciA+IC5jb250YWluZXItZmx1aWQgKyAuY29udGFpbmVyLWZsdWlkIHtcbiAgbWluLWhlaWdodDogM3JlbTtcbn1cblxuLmZvb3RlciB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoM3JlbSArIDFweCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbkBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICBib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jdWktZGFyay1iZy1zdWJ0bGUpO1xuICB9XG5cbiAgLmZvb3RlciB7XG4gICAgLS1jdWktZm9vdGVyLWJnOiB2YXIoLS1jdWktYm9keS1iZyk7XG4gIH1cbn1cblxuQGltcG9ydCBcImNyeXN0YWwtbGFnb29uc1wiO1xuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0ICovXG4vLyBDcnlzdGFsIExhZ29vbnMgQnJhbmRpbmcgT3ZlcnJpZGVzXG4vLyBCcmFuZCBNYW51YWw6IFByaW1hcnkgIzAwOWFjNCAoUGFudG9uZSAzMTMpLCBHcmF5ICM3YzdjN2MsIFdoaXRlICNmZmZmZmZcblxuLy8gUm9vdCBWYXJpYWJsZXMgKEdsb2JhbCBUaGVtZSBDb2xvcnMpXG46cm9vdCB7XG4gIC0tY3VpLWJvZHktYmc6ICNmNWY2Zjg7XG4gIC0tY3VpLXByaW1hcnk6ICMwMDlhYzQ7XG4gIC0tY3VpLXByaW1hcnktcmdiOiAwLCAxNTQsIDE5NjtcbiAgLS1jdWktc2Vjb25kYXJ5OiAjN2M3YzdjO1xuICAtLWN1aS1zZWNvbmRhcnktcmdiOiAxMjQsIDEyNCwgMTI0O1xuICAtLWN1aS1pbmZvOiAjMDA5YWM0O1xuICAtLWN1aS1pbmZvLXJnYjogMCwgMTU0LCAxOTY7XG5cbiAgLy8gQ3VzdG9tIENyeXN0YWwgVmFyaWFibGVzIOKAlCBicmFuZCAjMDA5YWM0IChQYW50b25lIDMxMylcbiAgLS1jcnlzdGFsLXByaW1hcnk6ICMwMDlhYzQ7XG4gIC0tY3J5c3RhbC1kYXJrOiAjMDA2ZjhlO1xuICAtLWNyeXN0YWwtZGFya2VyOiAjMDA0ZTY0O1xuICAtLWNyeXN0YWwtbGlnaHQ6ICNlNmY3ZmM7XG4gIC0tY3J5c3RhbC1zaWRlYmFyLWJnOiAjMDA0ZTY0O1xuICAtLWNyeXN0YWwtZ3JheTogIzdjN2M3Yztcbn1cblxuLy8gR2xvYmFsIEVsZW1lbnQgT3ZlcnJpZGVzXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiU2Vnb2UgVUlcIiwgVGFob21hLCBHZW5ldmEsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4vLyDilIDilIDilIAgQlVUVE9OUyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmJ0bi1wcmltYXJ5IHtcbiAgLS1jdWktYnRuLWJnOiB2YXIoLS1jcnlzdGFsLXByaW1hcnkpO1xuICAtLWN1aS1idG4tYm9yZGVyLWNvbG9yOiB2YXIoLS1jcnlzdGFsLXByaW1hcnkpO1xuICAtLWN1aS1idG4tY29sb3I6ICNmZmY7XG4gIC0tY3VpLWJ0bi1ob3Zlci1iZzogdmFyKC0tY3J5c3RhbC1kYXJrKTtcbiAgLS1jdWktYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdmFyKC0tY3J5c3RhbC1kYXJrKTtcbiAgLS1jdWktYnRuLWhvdmVyLWNvbG9yOiAjZmZmO1xuICAtLWN1aS1idG4tYWN0aXZlLWJnOiB2YXIoLS1jcnlzdGFsLWRhcmtlcik7XG4gIC0tY3VpLWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1jcnlzdGFsLWRhcmtlcik7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDE1NCwgMTk2LCAuMjUpO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLjAyZW07XG5cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTBweCByZ2JhKDAsIDE1NCwgMTk2LCAuMzUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgfVxufVxuXG4uYnRuLWluZm8ge1xuICAtLWN1aS1idG4tYmc6IHZhcigtLWNyeXN0YWwtcHJpbWFyeSk7XG4gIC0tY3VpLWJ0bi1ib3JkZXItY29sb3I6IHZhcigtLWNyeXN0YWwtcHJpbWFyeSk7XG4gIC0tY3VpLWJ0bi1jb2xvcjogI2ZmZjtcbiAgLS1jdWktYnRuLWhvdmVyLWJnOiB2YXIoLS1jcnlzdGFsLWRhcmspO1xuICAtLWN1aS1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS1jcnlzdGFsLWRhcmspO1xuICAtLWN1aS1idG4taG92ZXItY29sb3I6ICNmZmY7XG59XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgLS1jdWktYnRuLWNvbG9yOiB2YXIoLS1jcnlzdGFsLXByaW1hcnkpO1xuICAtLWN1aS1idG4tYm9yZGVyLWNvbG9yOiB2YXIoLS1jcnlzdGFsLXByaW1hcnkpO1xuICAtLWN1aS1idG4taG92ZXItYmc6IHZhcigtLWNyeXN0YWwtcHJpbWFyeSk7XG4gIC0tY3VpLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHZhcigtLWNyeXN0YWwtcHJpbWFyeSk7XG4gIC0tY3VpLWJ0bi1ob3Zlci1jb2xvcjogI2ZmZjtcbn1cblxuLy8g4pSA4pSA4pSAIEhFQURFUiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmhlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnlzdGFsLXByaW1hcnkpICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgLjE1KTtcblxuICAubmF2LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjkpICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcblxuICAgICY6aG92ZXIsXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IC4zNzVyZW07XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1icmFuZCB7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDNlbTtcbiAgfVxuXG4gIC5oZWFkZXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSk7XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbiAgICB9XG4gIH1cblxuICAvLyBCcmVhZGNydW1iIGZvciBoZWFkZXJcbiAgLmJyZWFkY3J1bWIge1xuICAgIC0tY3VpLWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43NSk7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuODUpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIDilIAgU0lERUJBUiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLnNpZGViYXIge1xuICAtLWN1aS1zaWRlYmFyLWJnOiB2YXIoLS1jcnlzdGFsLXNpZGViYXItYmcpO1xuICAtLWN1aS1zaWRlYmFyLWJyYW5kLWNvbG9yOiAjZmZmO1xuICAtLWN1aS1zaWRlYmFyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC44NSk7XG4gIC0tY3VpLXNpZGViYXItbmF2LWxpbmstYWN0aXZlLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xMik7XG4gIC0tY3VpLXNpZGViYXItbmF2LWxpbmstY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpO1xuICAtLWN1aS1zaWRlYmFyLW5hdi1saW5rLWhvdmVyLWNvbG9yOiAjZmZmO1xuICAtLWN1aS1zaWRlYmFyLW5hdi10aXRsZS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNDUpO1xuICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgYm94LXNoYWRvdzogMnB4IDAgOHB4IHJnYmEoMCwgMCwgMCwgLjE1KTtcblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xOHMgZWFzZTtcbiAgICBib3JkZXItcmFkaXVzOiAwIC41cmVtIC41cmVtIDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSk7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNCk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDhlbTtcbiAgfVxuXG4gIC5uYXYtaWNvbiB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpO1xuICB9XG59XG5cbi8vIFNpZGViYXIgYnJhbmQ6IENyeXN0YWwgTGFnb29ucyB3aGl0ZSBsb2dvIOKAlCBpbnRlZ3JhdGVkIGludG8gc2lkZWJhciBiZ1xuLnNpZGViYXItYnJhbmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcnlzdGFsLWRhcmtlcikgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgcGFkZGluZzogLjE1cmVtIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAyNTZweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLyBPY3VsdGFyIGxvZ28gYWwgY29sYXBzYXIgc2lkZWJhciAodW5mb2xkYWJsZSlcbi5zaWRlYmFyLW5hcnJvdy11bmZvbGRhYmxlOm5vdCg6aG92ZXIpIC5zaWRlYmFyLWJyYW5kIGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIOKUgOKUgOKUgCBDQVJEUyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmNhcmQge1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIC4wOCk7XG4gIGJvcmRlci1yYWRpdXM6IC42MjVyZW07XG59XG5cbi5jYXJkLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1jcnlzdGFsLWxpZ2h0KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi8vIEFjY2VudCBib3JkZXIgY2FyZCB2YXJpYW50XG4uY2FyZC1hY2NlbnQtcHJpbWFyeSB7XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCB2YXIoLS1jcnlzdGFsLXByaW1hcnkpICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG59XG5cbi8vIOKUgOKUgOKUgCBUQUJMRVMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi50YWJsZSB0aGVhZCB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNyeXN0YWwtbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY3J5c3RhbC1kYXJrZXIpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IC44cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLjA0ZW07XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYzhlOGY0O1xufVxuXG4udGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE1NCwgMTk2LCAuMDQpO1xufVxuXG4vLyDilIDilIDilIAgQkFER0VTIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uYmFkZ2Uge1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLjAyZW07XG59XG5cbi5iYWRnZS5iZy1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3J5c3RhbC1wcmltYXJ5KSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxufVxuXG4vLyDilIDilIDilIAgRk9STVMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4uZm9ybS1zZWxlY3Q6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNyeXN0YWwtcHJpbWFyeSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIC4ycmVtIHJnYmEoMCwgMTU0LCAxOTYsIC4yKTtcbn1cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcnlzdGFsLWxpZ2h0KTtcbiAgYm9yZGVyLWNvbG9yOiAjY2VkNGRhO1xuICBjb2xvcjogdmFyKC0tY3J5c3RhbC1kYXJrKTtcbn1cblxuLy8g4pSA4pSA4pSAIExPR0lOIFBBR0Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8vIFNwbGl0IGxheW91dDogd2hpdGUgbGVmdCBwYW5lbCArIGxhZ29vbiBpbWFnZSByaWdodCBwYW5lbFxuLmFwcC1sb2dpbi1wYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5sb2dpbi1sZWZ0LXBhbmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMzgwcHg7XG4gIG1pbi13aWR0aDogMzQwcHg7XG4gIG1heC13aWR0aDogNDIwcHg7XG4gIHBhZGRpbmc6IDNyZW0gMi41cmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiAxO1xuICBib3gtc2hhZG93OiAycHggMCAxNnB4IHJnYmEoMCwgMCwgMCwgLjA4KTtcbn1cblxuLmxvZ2luLXJpZ2h0LXBhbmVsIHtcbiAgZmxleDogMTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiYXNzZXRzL2ltZy9iYWNrZ3JvdW5kLXByby5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLy8gQ3J5c3RhbCBMYWdvb25zIGxvZ28gYXJlYSBpbiBsb2dpblxuLmxvZ2luLWxvZ28tYXJlYSB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5sb2dpbi1sb2dvLXRhZ2xpbmUge1xuICBmb250LXNpemU6IC42NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWNyeXN0YWwtcHJpbWFyeSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAuMTJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLjE1cmVtO1xufVxuXG4ubG9naW4tbG9nby1icmFuZCB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY3J5c3RhbC1wcmltYXJ5KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogLjE1cmVtO1xuICBmb250LWZhbWlseTogXCJEYW5jaW5nIFNjcmlwdFwiLCBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbn1cblxuLmxvZ2luLWxvZ28tc3VidGl0bGUge1xuICBmb250LXNpemU6IC42NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWNyeXN0YWwtcHJpbWFyeSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAuMTJlbTtcbn1cblxuLmxvZ2luLWZvcm0tdGl0bGUge1xuICBmb250LXNpemU6IDEuMTVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiB2YXIoLS1jcnlzdGFsLXByaW1hcnkpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLjA2ZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLmxvZ2luLWZvcm0td3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubG9naW4tZm9ybS13cmFwcGVyIC5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG4gIGJvcmRlci1jb2xvcjogI2NjYztcbiAgZm9udC1zaXplOiAuOTVyZW07XG4gIHBhZGRpbmc6IC42cmVtIC44cmVtO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3J5c3RhbC1wcmltYXJ5KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAuMTVyZW0gcmdiYSgwLCAxNTQsIDE5NiwgLjIpO1xuICB9XG59XG5cbi5sb2dpbi1mb3JtLXdyYXBwZXIgLmJ0bi1sb2dpbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcnlzdGFsLXByaW1hcnkpO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IC45NXJlbTtcbiAgcGFkZGluZzogLjdyZW07XG4gIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycztcbiAgbWFyZ2luLXRvcDogLjVyZW07XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3J5c3RhbC1kYXJrKTtcbiAgfVxufVxuXG4ubG9naW4tZm9ybS13cmFwcGVyIC5idG4tZm9yZ290IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tY3J5c3RhbC1wcmltYXJ5KTtcbiAgZm9udC1zaXplOiAuODVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLXRvcDogLjc1cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogdmFyKC0tY3J5c3RhbC1kYXJrKTtcbiAgfVxufVxuXG4vLyDilIDilIDilIAgVVRJTElUWSBDTEFTU0VTIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4udGV4dC1jcnlzdGFsLXByaW1hcnkge1xuICBjb2xvcjogdmFyKC0tY3J5c3RhbC1wcmltYXJ5KSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxufVxuXG4udGV4dC1jcnlzdGFsLWRhcmsge1xuICBjb2xvcjogdmFyKC0tY3J5c3RhbC1kYXJrKSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxufVxuXG4uYmctY3J5c3RhbC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3J5c3RhbC1wcmltYXJ5KSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxufVxuXG4uYmctY3J5c3RhbC1saWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNyeXN0YWwtbGlnaHQpICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG59XG5cbi8vIOKUgOKUgOKUgCBGT09URVIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U4ZWFlZDtcbiAgZm9udC1zaXplOiAuOHJlbTtcbiAgY29sb3I6IHZhcigtLWNyeXN0YWwtZ3JheSk7XG59XG5cbi8vIOKUgOKUgOKUgCBNSU4tSEVJR0hUIOKAlCBldml0YXIgc2Nyb2xsIGlubmVjZXNhcmlvIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmJvZHkuZmxleC1ncm93LTEge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTIwcHgpO1xufVxuXG4vLyDilIDilIDilIAgUEFHSU5BVElPTiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLnBhZ2UtbGluayB7XG4gIGNvbG9yOiB2YXIoLS1jcnlzdGFsLXByaW1hcnkpO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jcnlzdGFsLWRhcmspO1xuICB9XG59XG5cbi5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcnlzdGFsLXByaW1hcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNyeXN0YWwtcHJpbWFyeSk7XG59XG5cbi8vIOKUgOKUgOKUgCBMSU5LUyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuYSB7XG4gIGNvbG9yOiB2YXIoLS1jcnlzdGFsLXByaW1hcnkpO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jcnlzdGFsLWRhcmspO1xuICB9XG59XG5cbi8vIOKUgOKUgOKUgCBQUk9HUkVTUyBCQVJTIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3J5c3RhbC1wcmltYXJ5KTtcbn1cblxuLy8g4pSA4pSA4pSAIERBU0hCT0FSRCBXT1cg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5kYXNoYm9hcmQta3BpLWNhcmQge1xuICBib3JkZXItcmFkaXVzOiAuNzVyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZSwgYm94LXNoYWRvdyAuMnMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjVweCByZ2JhKDAsIDAsIDAsIC4xOCk7XG4gIH1cbn1cblxuLnF1aWNrLWFjdGlvbi1jYXJkIHtcbiAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAxNTQsIDE5NiwgLjEyKTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMS4xcmVtIC41cmVtO1xuXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzAwOWFjNDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDE1NCwgMTk2LCAuMDQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMTU0LCAxOTYsIC4xMik7XG4gIH1cblxuICAuaWNvbiB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGNvbG9yOiAjMDA5YWM0O1xuICB9XG5cbiAgLmxhYmVsIHtcbiAgICBmb250LXNpemU6IC43OHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIG1hcmdpbi10b3A6IC40cmVtO1xuICB9XG59XG5cbi5pYS1mZWVkLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IC43NXJlbTtcbiAgcGFkZGluZzogLjZyZW0gMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA2KTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cblxuICAuZG90IHtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAuZG90LXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMyZWI4NWM7XG4gIH1cblxuICAuZG90LWRhbmdlciB7XG4gICAgYmFja2dyb3VuZDogI2U1NTM1MztcbiAgfVxuXG4gIC5kb3QtaW5mbyB7XG4gICAgYmFja2dyb3VuZDogIzMzOTlmZjtcbiAgfVxuXG4gIC5kb3Qtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2Y5YjExNTtcbiAgfVxufVxuXG4vLyBQZW5kaW5nIGFjdGlvbiBpY29uIGNpcmNsZSAocG9ydGFscylcbi5wZW5kaW5nLWFjdGlvbi1pY29uIHtcbiAgd2lkdGg6IDM4cHg7XG4gIGhlaWdodDogMzhweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnlzdGFsLWxpZ2h0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlLCB0cmFuc2Zvcm0gLjJzIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAxNTQsIDE5NiwgLjE1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpO1xuICB9XG59XG5cbi8vIEtQSSBudW1iZXIgYW5pbWF0aW9uIHNtb290aG5lc3Ncbi5rcGktbnVtYmVyIHtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbn1cblxuLy8g4pSA4pSA4pSAIENMQVVTRSBEQVNIQk9BUkQg4oCUIFBoYXNlIDMgSW1wcm92ZW1lbnRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vLyAzQTogU21hbGxlciwgY29uc2lzdGVudCBiYWRnZSBzaXppbmdcbi5jbGF1c2UtYmFkZ2Utc20ge1xuICBmb250LXNpemU6IC42NXJlbSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICBwYWRkaW5nOiAycHggNnB4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi8vIDNBOiBSb3cgaG92ZXIgZWZmZWN0IGZvciBjbGF1c2UgdGFibGVcbi5jbGF1c2Utcm93LWhvdmVyIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNTQsIDE5NiwgLjA2KSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICB9XG59XG5cbi8vIDNCOiBDbGF1c2UgZGV0YWlsIG1vZGFsIOKAlCBzZWN0aW9uIGNhcmRzXG4uY2xhdXNlLWRldGFpbC1zZWN0aW9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMDgpO1xuICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgLjA0KTtcblxuICAuY2FyZC10aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWNyeXN0YWwtZGFyayk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxufVxuXG4vLyAzQjogRnVsbCBjbGF1c2UgdGV4dCBkaXNwbGF5IGluIG1vZGFsXG4uY2xhdXNlLXRleHQtZGlzcGxheSB7XG4gIGZvbnQtc2l6ZTogLjg4cmVtO1xuICBsaW5lLWhlaWdodDogMS42NTtcbiAgY29sb3I6ICMyYzNlNTA7XG4gIHBhZGRpbmc6IC43NXJlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDE1NCwgMTk2LCAuMDMpO1xuICBib3JkZXItcmFkaXVzOiAuMzc1cmVtO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi8vIDNCOiBUaW1lbGluZSBkb3QgZm9yIEFJIGFjdGlvbnNcbi5jbGF1c2UtdGltZWxpbmUtZG90IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDAsIDAsIC4wNik7XG59XG5cbi8vIDNDOiBFdmlkZW5jZSB0cmVuZCBkb3QgaW5kaWNhdG9yXG4uZXZpZGVuY2UtdHJlbmQtZG90IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDAsIDAsIC4wOCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cbn1cblxuLy8gM0Q6IENoYXJ0IGZpbHRlciBhY3RpdmUgaW5kaWNhdG9yXG4uY2hhcnQtZmlsdGVyLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IC40cmVtO1xuICBwYWRkaW5nOiAuMzVyZW0gLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAuMzc1cmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDE1NCwgMTk2LCAuMDgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDE1NCwgMTk2LCAuMik7XG4gIGZvbnQtc2l6ZTogLjhyZW07XG4gIGNvbG9yOiB2YXIoLS1jcnlzdGFsLWRhcmspO1xuXG4gIC5idG4tY2xlYXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jcnlzdGFsLXByaW1hcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBwYWRkaW5nOiAwIC4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xNXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTU0LCAxOTYsIC4xNSk7XG4gICAgICBjb2xvcjogdmFyKC0tY3J5c3RhbC1kYXJrZXIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIDilIAgTU9EVUxFIENIQVJUICYgU1RBVCBDQVJEUyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLm1vZHVsZS1jaGFydC1jYXJkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAxNTQsIDE5NiwgLjEyKTtcbiAgYm9yZGVyLXJhZGl1czogLjVyZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMTVzIGVhc2UsIGJveC1zaGFkb3cgLjE1cyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgLjA4KTtcbiAgfVxuXG4gIGNhbnZhcyB7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gIH1cbn1cblxuLm1vZHVsZS1zdGF0LWNhcmQge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4wNik7XG4gIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAuNzVyZW0gMXJlbTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4xNXM7XG5cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcnlzdGFsLXByaW1hcnkpO1xuICB9XG59XG5cbi5zdGF0LXZhbHVlIHtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5zdGF0LWljb24tY2lyY2xlIHtcbiAgd2lkdGg6IDIuNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubmVnLXJvdy1ib3JkZXIge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWNyeXN0YWwtcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbiAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTVzO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNyeXN0YWwtbGlnaHQpO1xuICB9XG5cbiAgJi5ib3JkZXItc3VjY2VzcyB7IGJvcmRlci1sZWZ0LWNvbG9yOiAjMmViODVjOyB9XG4gICYuYm9yZGVyLXdhcm5pbmcgeyBib3JkZXItbGVmdC1jb2xvcjogI2Y5YjExNTsgfVxuICAmLmJvcmRlci1kYW5nZXIgIHsgYm9yZGVyLWxlZnQtY29sb3I6ICNlNTUzNTM7IH1cbiAgJi5ib3JkZXItaW5mbyAgICB7IGJvcmRlci1sZWZ0LWNvbG9yOiAjMzM5OWZmOyB9XG59XG5cbi5jbGF1c2UtdmVyc2lvbi1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IC4yNXJlbTtcbiAgZm9udC1zaXplOiAuNjVyZW07XG4gIHBhZGRpbmc6IC4xNXJlbSAuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDE1NCwgMTk2LCAuMSk7XG4gIGNvbG9yOiB2YXIoLS1jcnlzdGFsLWRhcmspO1xufVxuXG4vLyDilIDilIDilIAgQ09ORklHIERPQ1MgTUFTVEVSLURFVEFJTCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmNvbmZpZy1yb3cge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDE1NCwgMTk2LCAuMDQpICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIH1cblxuICAmLnRhYmxlLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNTQsIDE5NiwgLjA2KSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICB9XG59XG5cbi5jb25maWctZGV0YWlsLXJvdyB7XG4gIHRkIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgYmFja2dyb3VuZDogI2ZjZmRmZTtcbiAgfVxufVxuXG4uY29uZmlnLWRldGFpbC1wYW5lbCB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tY3J5c3RhbC1wcmltYXJ5KTtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICBtYXJnaW46IDA7XG4gIGFuaW1hdGlvbjogc2xpZGVEb3duIC4ycyBlYXNlO1xuXG4gIC5kZXRhaWwtZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IC42cmVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmRldGFpbC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAuNjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzg4ODtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDRlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuMXJlbTtcbiAgfVxuXG4gIC5kZXRhaWwtdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xuICAgIGNvbG9yOiAjMzMzO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVEb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uaG9sZGluZy1yZWxhdGVkLWl0ZW0ge1xuICBwYWRkaW5nOiAuNXJlbSAuNzVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA2KTtcbiAgYm9yZGVyLXJhZGl1czogLjM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLjM3NXJlbTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4xNXMsIGJhY2tncm91bmQgLjE1cztcblxuICAmOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNyeXN0YWwtcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3J5c3RhbC1saWdodCk7XG4gIH1cbn1cblxuLy8g4pSA4pSA4pSAIExBWU9VVCBTUEFDSU5HIFNhYVMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4ucm93Lmctc2FhcyB7XG4gIC0tY3VpLWd1dHRlci14OiAxLjVyZW07IC8vIDI0cHhcbiAgLS1jdWktZ3V0dGVyLXk6IDEuNXJlbTtcbn1cblxuLnNlY3Rpb24tZ2FwIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgLy8gMzJweCBlbnRyZSBzZWNjaW9uZXNcbn1cblxuLy8g4pSA4pSA4pSAIEtQSSBIRVJPIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmtwaS1oZXJvIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5cbi5rcGktc2Vjb25kYXJ5IC5zdGF0LXZhbHVlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4vLyDilIDilIDilIAgU0tFTEVUT04gTE9BREVSUyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5za2VsZXRvbiB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2YwZjBmMCAyNSUsICNlMGUwZTAgNTAlLCAjZjBmMGYwIDc1JSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICBhbmltYXRpb246IHNoaW1tZXIgMS41cyBpbmZpbml0ZTtcbiAgYm9yZGVyLXJhZGl1czogLjM3NXJlbTtcbn1cblxuQGtleWZyYW1lcyBzaGltbWVyIHtcbiAgMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIDA7IH1cbiAgMTAwJSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDAlIDA7IH1cbn1cblxuLnNrZWxldG9uLXRleHQge1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xufVxuXG4uc2tlbGV0b24tY2hhcnQge1xuICBoZWlnaHQ6IDIwMHB4O1xufVxuXG4uc2tlbGV0b24tY2FyZCB7XG4gIGhlaWdodDogODBweDtcbiAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbn1cblxuLmtwaS1za2VsZXRvbiB7XG4gIGhlaWdodDogMTIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbn1cblxuLy8g4pSA4pSA4pSAIE1JQ1JPLUFOSU1BVElPTlMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uYXV0by1mYWRlLWluIHtcbiAgYW5pbWF0aW9uOiBmYWRlSW5VcCAuM3MgZWFzZS1vdXQgYm90aDtcbn1cblxuLy8gU3RhZ2dlcmVkIGNoaWxkcmVuIChzdGF0IGNhcmRzLCBLUEkgcm93cylcbi5zdGFnZ2VyLWZhZGUgPiAqIHtcbiAgYW5pbWF0aW9uOiBmYWRlSW5VcCAuMzVzIGVhc2Utb3V0IGJvdGg7XG59XG5cbi5zdGFnZ2VyLWZhZGUgPiAqOm50aC1jaGlsZCgxKSB7IGFuaW1hdGlvbi1kZWxheTogMHM7IH1cbi5zdGFnZ2VyLWZhZGUgPiAqOm50aC1jaGlsZCgyKSB7IGFuaW1hdGlvbi1kZWxheTogLjA2czsgfVxuLnN0YWdnZXItZmFkZSA+ICo6bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAuMTJzOyB9XG4uc3RhZ2dlci1mYWRlID4gKjpudGgtY2hpbGQoNCkgeyBhbmltYXRpb24tZGVsYXk6IC4xOHM7IH1cbi5zdGFnZ2VyLWZhZGUgPiAqOm50aC1jaGlsZCg1KSB7IGFuaW1hdGlvbi1kZWxheTogLjI0czsgfVxuLnN0YWdnZXItZmFkZSA+ICo6bnRoLWNoaWxkKDYpIHsgYW5pbWF0aW9uLWRlbGF5OiAuMzBzOyB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi8vIENhcmQgaG92ZXIgbGlmdFxuLmNhcmQtbGlmdCB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZSwgYm94LXNoYWRvdyAuMnMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMjBweCByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgfVxufVxuXG4vLyBCYWRnZSBwdWxzZSBmb3IgXCJteSB0dXJuXCIgYW5kIGFsZXJ0IGl0ZW1zXG4uYmFkZ2UtcHVsc2Uge1xuICBhbmltYXRpb246IHB1bHNlIDJzIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUsXG4gIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7IG9wYWNpdHk6IC42OyB9XG59XG5cbi8vIOKUgOKUgOKUgCBBUEVYQ0hBUlRTIE9WRVJSSURFUyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5hcGV4Y2hhcnRzLXRvb2x0aXAge1xuICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICBib3JkZXItcmFkaXVzOiA4cHggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIC4xMikgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbn1cblxuLmFwZXhjaGFydHMtbGVnZW5kLXRleHQge1xuICBmb250LXNpemU6IC44cmVtICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIGNvbG9yOiAjNTU1ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG59XG5cbi5hcGV4Y2hhcnRzLWRhdGFsYWJlbC1sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5hcGV4Y2hhcnRzLXJhZGlhbGJhci10cmFjay5hcGV4Y2hhcnRzLXRyYWNrIHBhdGgge1xuICBzdHJva2U6ICNmMGYzZjU7XG59XG5cbi8vIOKUgOKUgOKUgCBHUklELkpTIE9WRVJSSURFUyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5ncmlkanMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbn1cblxuLmdyaWRqcy13cmFwcGVyIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAuNjI1cmVtO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLyDilIDilIDilIAgU1RJQ0tZIEZJUlNUIENPTFVNTiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5ncmlkanMtdGg6Zmlyc3QtY2hpbGQsXG4uZ3JpZGpzLXRkOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IHN0aWNreSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICBsZWZ0OiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIHotaW5kZXg6IDIgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMnB4IDAgNHB4IC0ycHggcmdiYSgwLCAwLCAwLCAuMSk7XG59XG5cbi5ncmlkanMtdGg6Zmlyc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnlzdGFsLWxpZ2h0KSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxufVxuXG4uZ3JpZGpzLXRkOmZpcnN0LWNoaWxkIHtcbiAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxufVxuXG4uZ3JpZGpzLXRyOmhvdmVyIC5ncmlkanMtdGQ6Zmlyc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kOiAjZjVmYmZkICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIC8vIE9wYXF1ZSBlcXVpdmFsZW50IG9mIHJnYmEoMCwxNTQsMTk2LC4wNCkg4oCUIHByZXZlbnRzIHRleHQgYmxlZWQtdGhyb3VnaCBvbiBzdGlja3kgY29sdW1uXG59XG5cbi5ncmlkanMtdGFibGUge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxufVxuXG4uZ3JpZGpzLXRoIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J5c3RhbC1saWdodCkgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgY29sb3I6IHZhcigtLWNyeXN0YWwtZGFya2VyKSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IC44cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLjA0ZW07XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYzhlOGY0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG59XG5cbi5ncmlkanMtdGQge1xuICBwYWRkaW5nOiAuNzVyZW0gMXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjA2KTtcbiAgZm9udC1zaXplOiAuODc1cmVtO1xufVxuXG4uZ3JpZGpzLXRyOmhvdmVyIC5ncmlkanMtdGQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDE1NCwgMTk2LCAuMDQpO1xufVxuXG4uZ3JpZGpzLWZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4wNik7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5ncmlkanMtcGFnaW5hdGlvbiB7XG4gIC5ncmlkanMtY3VycmVudFBhZ2Uge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNyeXN0YWwtcHJpbWFyeSkgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLmdyaWRqcy1wYWdlcyBidXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IC4zNzVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIC4xNXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNyeXN0YWwtbGlnaHQpO1xuICAgICAgY29sb3I6IHZhcigtLWNyeXN0YWwtcHJpbWFyeSk7XG4gICAgfVxuICB9XG59XG5cbi5ncmlkanMtc2VhcmNoLWlucHV0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcbiAgYm9yZGVyLXJhZGl1czogLjM3NXJlbTtcbiAgcGFkZGluZzogLjM3NXJlbSAuNzVyZW07XG4gIGZvbnQtc2l6ZTogLjg3NXJlbTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNyeXN0YWwtcHJpbWFyeSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgwLCAxNTQsIDE5NiwgLjIpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuLmdyaWRqcy1oZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjc1cmVtO1xufVxuXG4uZ3JpZGpzLW5vdGZvdW5kIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAycmVtO1xuICBjb2xvcjogIzg4ODtcbn1cblxuLy8g4pSA4pSA4pSAIFRPTSBTRUxFQ1QgT1ZFUlJJREVTIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnRzLXdyYXBwZXIge1xuICAudHMtY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2VkNGRhO1xuICAgIGJvcmRlci1yYWRpdXM6IC4zNzVyZW07XG4gICAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIC43NXJlbSArIDJweCk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4xNXMgZWFzZSwgYm94LXNoYWRvdyAuMTVzIGVhc2U7XG5cbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcnlzdGFsLXByaW1hcnkpO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgLjJyZW0gcmdiYSgwLCAxNTQsIDE5NiwgLjIpO1xuICAgIH1cbiAgfVxuXG4gICYuc2luZ2xlIC50cy1jb250cm9sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICB9XG59XG5cbi50cy1kcm9wZG93biB7XG4gIGJvcmRlci1jb2xvcjogI2NlZDRkYTtcbiAgYm9yZGVyLXJhZGl1czogLjM3NXJlbTtcbiAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgei1pbmRleDogMTA2MDtcblxuICAuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnlzdGFsLXByaW1hcnkpO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgLm9wdGlvbiB7XG4gICAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmN2ZiO1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIDilIAgU1dFRVRBTEVSVDIgT1ZFUlJJREVTIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnN3YWwtY3J5c3RhbCB7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4uc3dhbDItcG9wdXAgLnN3YWwyLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uc3dhbDItcG9wdXAgLnN3YWwyLWh0bWwtY29udGFpbmVyIHtcbiAgZm9udC1zaXplOiAuOXJlbTtcbiAgY29sb3I6ICM1NTU7XG59XG5cbi8vIOKUgOKUgOKUgCBUSVBQWS5KUyBPVkVSUklERVMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4udGlwcHktYm94W2RhdGEtdGhlbWV+PVwiY3J5c3RhbFwiXSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNyeXN0YWwtZGFya2VyKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IC44cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogLjAxZW07XG5cbiAgLnRpcHB5LWFycm93IHtcbiAgICBjb2xvcjogdmFyKC0tY3J5c3RhbC1kYXJrZXIpO1xuICB9XG5cbiAgLnRpcHB5LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IC40cmVtIC42NXJlbTtcbiAgfVxufVxuXG4vLyDilIDilIDilIAgVklTT1IgTEVHQUwgKERvY3VtZW50IFZpZXdlcikg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5kb2MtcGFyYSB7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xNXMgZWFzZTtcblxuICAmW2RhdGEtaGFzLXN1Z2dlc3Rpb25dIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmM2NkO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmYzEwNztcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZlNjljO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlLXN1Z2dlc3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTExLCA2NiwgMTkzLCAuMSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgM3B4IDAgMCAjNmY0MmMxO1xuICB9XG59XG5cbi5kb2MtaGVhZGluZyB7XG4gIGNvbG9yOiB2YXIoLS1jcnlzdGFsLWRhcmtlcik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4wOCk7XG4gIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gIG1hcmdpbi10b3A6IDEuMnJlbTtcbn1cblxuI2RvY1RvY0xpc3QgLm5hdi1saW5rIHtcbiAgZm9udC1zaXplOiAuNzZyZW07XG4gIHBhZGRpbmc6IDRweCAxMnB4O1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTU0LCAxOTYsIC4wOCk7XG4gICAgY29sb3I6IHZhcigtLWNyeXN0YWwtcHJpbWFyeSk7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWNyeXN0YWwtcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDE1NCwgMTk2LCAuMSk7XG4gIH1cbn1cblxuLmRvYy10YWJsZSB7XG4gIGZvbnQtc2l6ZTogLjg1cmVtO1xufVxuXG4ucmlzay1iYWRnZSB7XG4gIGZvbnQtc2l6ZTogLjU4cmVtO1xuICBwYWRkaW5nOiAxcHggNXB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5yaXNrLWhpZ2gge1xuICBiYWNrZ3JvdW5kOiAjZjhkN2RhO1xuICBjb2xvcjogIzg0MjAyOTtcbn1cblxuLnJpc2stbWVkaXVtIHtcbiAgYmFja2dyb3VuZDogI2ZmZjNjZDtcbiAgY29sb3I6ICM2NjRkMDM7XG59XG5cbi8vIFN1Z2dlc3Rpb24gY2FyZCBpbnNpZGUgdmlld2VyIHBhbmVsXG4udmlld2VyLXN1Zy1jYXJkIHtcbiAgcGFkZGluZzogOHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTExLCA2NiwgMTkzLCAuMTUpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDExMSwgNjYsIDE5MywgLjAzKTtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBmb250LXNpemU6IC43OHJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMTVzO1xuXG4gICYuYWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgxMTEsIDY2LCAxOTMsIC4zKTtcbiAgICBib3JkZXItY29sb3I6ICM2ZjQyYzE7XG4gIH1cbn1cblxuLy8gQmF0Y2ggYnV0dG9uIGFjdGl2ZSBzdGF0ZVxuLmJ0bi1haS1iYXRjaC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNmY0MmMxLCAjOWI1OWI2KSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxNTUsIDg5LCAxODIsIC4yNSk7XG59XG5cbi8vIOKUgOKUgOKUgCBEQVJLIE1PREUgT1ZFUlJJREUg4oCUIENyeXN0YWwgTGFnb29ucyBpcyBsaWdodC1vbmx5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gU2FmZXR5IG5ldDogaWYgZGFyayBtb2RlIGlzIGV2ZXIgYWN0aXZhdGVkLCBmb3JjZSBsaWdodC1tb2RlIHZhcmlhYmxlc1xuLy8gdG8gcHJldmVudCB3aGl0ZS1vbi13aGl0ZSB0ZXh0IGlzc3VlcyBvbiBtb2JpbGUvaVBhZC5cbi8vIGNvbG9yLW1vZGVzLmpzIGFscmVhZHkgZm9yY2VzIGxpZ2h0LCB0aGlzIGlzIGEgc2Vjb25kYXJ5IGRlZmVuc2UuXG5odG1sW2RhdGEtY29yZXVpLXRoZW1lPVwiZGFya1wiXSB7XG4gIC0tY3VpLWJvZHktYmc6ICNmNWY2ZjggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgLS1jdWktYm9keS1jb2xvcjogIzMzMyAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAtLWN1aS1jYXJkLWJnOiAjZmZmICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIC0tY3VpLWNhcmQtY29sb3I6ICMzMzMgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgLS1jdWktdGVydGlhcnktYmc6ICNmNWY2ZjggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgLS1jdWktYm9keS1iZy1yZ2I6IDI0NSwgMjQ2LCAyNDggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgLS1jdWktZW1waGFzaXMtY29sb3I6ICMzMzMgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgLS1jdWktYm9yZGVyLWNvbG9yOiAjZDhkYmUwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIC0tY3VpLXNlY29uZGFyeS1jb2xvcjogIzdjN2M3YyAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAtLWN1aS1kYXJrLWJnLXN1YnRsZTogI2Y1ZjZmOCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAtLWN1aS1zZWNvbmRhcnktYmc6ICNlOWVjZWYgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgLS1jdWktdGVydGlhcnktY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgLjUpICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgY29sb3I6ICMzMzMgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjZmOCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICBjb2xvci1zY2hlbWU6IGxpZ2h0ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjZmOCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIH1cblxuICAuY2FyZCB7XG4gICAgLS1jdWktY2FyZC1iZzogI2ZmZiAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIC0tY3VpLWNhcmQtY29sb3I6ICMzMzMgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wsXG4gIC5mb3JtLXNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgYm9yZGVyLWNvbG9yOiAjZDhkYmUwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIH1cblxuICAudGFibGUge1xuICAgIC0tY3VpLXRhYmxlLWJnOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIC0tY3VpLXRhYmxlLWNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIH1cblxuICAvLyBmdy1ib2xkIHRpdGxlcywgZm9ybSBsYWJlbHMsIGV0Yy5cbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgY29sb3I6ICMzMzMgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgfVxuXG4gIC5pbnB1dC1ncm91cC10ZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgY29sb3I6ICMzMzMgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBib3JkZXItY29sb3I6ICNkOGRiZTAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgfVxufVxuXG4vLyDilIDilIDilIAgUkVTUE9OU0lWRSDigJQgTU9CSUxFICYgU01BTEwgVEFCTEVUUyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVEFCTEVUUyAo4omkNzY4cHgpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXG4gIC8vIExvZ2luOiBzdGFjayBwYW5lbHMgdmVydGljYWxseSwgZnVsbC13aWR0aCBsZWZ0IHBhbmVsLCBoaWRlIGRlY29yYXRpdmUgaW1hZ2VcbiAgLmFwcC1sb2dpbi1wYWdlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubG9naW4tbGVmdC1wYW5lbCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAycmVtIDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmxvZ2luLXJpZ2h0LXBhbmVsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubG9naW4tbG9nby1hcmVhIGltZyB7XG4gICAgbWF4LXdpZHRoOiAyMjBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gSGVhZGVyOiBvdmVycmlkZSBpbmxpbmUgbWluLXdpZHRoOjIyMHB4LzI0MHB4IGFjcm9zcyAzMCsgSFRNTCBmaWxlc1xuICAuaGVhZGVyIC5oZWFkZXItYnJhbmQge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gRGFzaGJvYXJkIHRhYnM6IGhvcml6b250YWwgc2Nyb2xsIGluc3RlYWQgb2Ygd3JhcHBpbmdcbiAgI2Rhc2hUYWJzIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjZGFzaFRhYnMgLm5hdi1saW5rIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogLjg1cmVtO1xuICAgIHBhZGRpbmc6IC40cmVtIC43NXJlbTtcbiAgfVxuXG4gIC8vIEtQSSBudW1iZXJzXG4gIC5rcGktaGVybyB7XG4gICAgZm9udC1zaXplOiAycmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBRdWljayBhY3Rpb24gY2FyZHNcbiAgLnF1aWNrLWFjdGlvbi1jYXJkIHtcbiAgICBwYWRkaW5nOiAuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5xdWljay1hY3Rpb24tY2FyZCAuaWNvbiB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICB9XG5cbiAgLy8gR3JpZC5qcyB0YWJsZSBjZWxsc1xuICAuZ3JpZGpzLXRkIHtcbiAgICBwYWRkaW5nOiAuNXJlbSAuNjVyZW07XG4gICAgZm9udC1zaXplOiAuOHJlbTtcbiAgfVxuXG4gIC5ncmlkanMtdGgge1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICB9XG5cbiAgLy8g4pSA4pSA4pSAIEFKVVNURVMgUEFHRSDigJQgVEFCTEVUIFJFU1BPTlNJVkUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgLy8gQWp1c3RlcyB0YWJzOiBob3Jpem9udGFsIHNjcm9sbCBsaWtlIGRhc2hUYWJzXG4gICNhanVzdGVzVGFicyB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBvdmVyZmxvdy14OiBhdXRvICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgI2FqdXN0ZXNUYWJzIC5uYXYtbGluayB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IC44cmVtO1xuICAgIHBhZGRpbmc6IC4zNXJlbSAuN3JlbTtcbiAgfVxuXG4gIC8vIEZpbHRlciByb3dzOiBmb3JjZSBzdGFjayB2ZXJ0aWNhbCBvbiBtb2JpbGUgKGNvbC1hdXRvIOKGkiBmdWxsIHdpZHRoKVxuICAuY2FyZC1ib2R5IC5yb3cuZy0yID4gW2NsYXNzKj1cImNvbC1hdXRvXCJdIHtcbiAgICBmbGV4OiAwIDAgMTAwJSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICB9XG5cbiAgLy8gU2VhcmNoIGlucHV0OiByZW1vdmUgaW5saW5lIG1pbi13aWR0aCB0aGF0IGNhdXNlcyBvdmVyZmxvd1xuICAuY2FyZC1ib2R5IGlucHV0W3N0eWxlKj1cIm1pbi13aWR0aFwiXSB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgfVxuXG4gIC8vIG1zLWF1dG8gb24gc2VhcmNoIGNvbDogcmVzZXQgdG8gZmxvdyBuYXR1cmFsbHlcbiAgLmNhcmQtYm9keSAucm93LmctMiA+IC5jb2wtYXV0by5tcy1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICB9XG5cbiAgLy8gQWRtaW4gRG9jdW1lbnRvczogZmlsdGVyIHNlbGVjdHMgc3RhY2tcbiAgI3BhbmUtYWRvYyAuY2FyZC1oZWFkZXIgLmQtZmxleC5nYXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3BhbmUtYWRvYyAuY2FyZC1oZWFkZXIgLmQtZmxleC5nYXAtMiBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIH1cblxuICAvLyBOb3RpZmljYWNpb25lczogc3RhY2sgY29scyBvbiB0YWJsZXRcbiAgI3BhbmUtbm90aWYgLnJvdy5nLTQgPiBbY2xhc3MqPVwiY29sLW1kXCJdIHtcbiAgICBmbGV4OiAwIDAgMTAwJSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICB9XG5cbiAgLy8gQ2hhcnQgY29udGFpbmVyczogcmVkdWNlIG1pbi1oZWlnaHRcbiAgLm1vZHVsZS1jaGFydC1jYXJkIFtzdHlsZSo9XCJtaW4taGVpZ2h0OjIwMHB4XCJdLFxuICAubW9kdWxlLWNoYXJ0LWNhcmQgW3N0eWxlKj1cIm1pbi1oZWlnaHQ6IDIwMHB4XCJdIHtcbiAgICBtaW4taGVpZ2h0OiAxNjBweCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1PQklMRSAo4omkNTc2cHgpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuXG4gIC8vIENvbnRhaW5lciBwYWRkaW5nOiBiaWdnZXN0IG1vYmlsZSBpbXBhY3QgKHNhdmVzIDQ4cHggaG9yaXpvbnRhbClcbiAgLmNvbnRhaW5lci1sZy5weC00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IC43NXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IC43NXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmhlYWRlciA+IC5jb250YWluZXItZmx1aWQucHgtNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAuNzVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIExvZ2luOiB0aWdodGVyIHBhZGRpbmdcbiAgLmxvZ2luLWxlZnQtcGFuZWwge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubG9naW4tZm9ybS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICAubG9naW4tbG9nby1icmFuZCB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gIH1cblxuICAvLyBGb290ZXIgY29tcGFjdFxuICAuZm9vdGVyIHtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBwYWRkaW5nOiAuNXJlbTtcbiAgfVxuXG4gIC8vIOKUgOKUgOKUgCBBSlVTVEVTIFBBR0Ug4oCUIE1PQklMRSBSRVNQT05TSVZFIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIC8vIEFqdXN0ZXMgdGFiczogZXZlbiB0aWdodGVyIG9uIHNtYWxsIG1vYmlsZVxuICAjYWp1c3Rlc1RhYnMgLm5hdi1saW5rIHtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBwYWRkaW5nOiAuM3JlbSAuNnJlbTtcbiAgfVxuXG4gIC8vIE1vZHVsZSBzdGF0IGNhcmRzOiBjb21wYWN0IG9uIG1vYmlsZVxuICAubW9kdWxlLXN0YXQtY2FyZCB7XG4gICAgZ2FwOiAuNXJlbSAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICB9XG5cbiAgLm1vZHVsZS1zdGF0LWNhcmQgLnN0YXQtaWNvbi1jaXJjbGUge1xuICAgIHdpZHRoOiAzMnB4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgbWluLXdpZHRoOiAzMnB4O1xuICB9XG5cbiAgLy8gU2VsZWN0IGlucHV0cyBpbnNpZGUgZmlsdGVyIGNhcmRzOiBmdWxsIHdpZHRoXG4gIC5jYXJkLWJvZHkgc2VsZWN0W3N0eWxlKj1cIndpZHRoOmF1dG9cIl0sXG4gIC5jYXJkLWJvZHkgc2VsZWN0W3N0eWxlKj1cIm1pbi13aWR0aFwiXSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTTUFMTCBNT0JJTEUgKOKJpDM3NXB4KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogMzc1cHgpIHtcblxuICAvLyBIZWFkZXIgYnJhbmQ6IFwiUE9SVEFMIENPTlRSQUNUIE1BTkFHRU1FTlQgU1lTVEVNXCIgbmVlZHMgdG8gc2hyaW5rXG4gIC5oZWFkZXIgLmhlYWRlci1icmFuZCB7XG4gICAgZm9udC1zaXplOiAuODVyZW0gIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gTG9naW46IG1pbmltYWwgcGFkZGluZ1xuICAubG9naW4tbGVmdC1wYW5lbCB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5sb2dpbi1sb2dvLWFyZWEgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAua3BpLWhlcm8ge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiJdfQ== */