@charset "UTF-8";
/*
$btn-border-radius:                  2rem !default;
$btn-border-radius-sm:               1rem !default;
$btn-border-radius-lg:               2rem !default;
$input-border-radius:                2rem !default;
$input-border-radius-sm:             1rem !default;
$input-border-radius-lg:             2rem !default;
*/
.element-invisible {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  clip-path: inset(50%);
}

.hide,
.hidden {
  display: none;
  visibility: hidden;
}

.table-row {
  display: table-row;
}

joomla-alert {
  display: none;
}

.editor-xtd-buttons .btn, .editor-xtd-buttons .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .editor-xtd-buttons .form-check-label-text {
  margin-bottom: 5px;
}

/*
$btn-border-radius:                  2rem !default;
$btn-border-radius-sm:               1rem !default;
$btn-border-radius-lg:               2rem !default;
$input-border-radius:                2rem !default;
$input-border-radius-sm:             1rem !default;
$input-border-radius-lg:             2rem !default;
*/
/*!
 * Bootstrap  v5.3.2 (https://getbootstrap.com/)
 * Copyright 2011-2023 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,
[data-bs-theme=light] {
  --blue: hsl(240, 98%, 17%);
  --indigo: hsl(263, 90%, 51%);
  --purple: hsl(261, 51%, 51%);
  --pink: hsl(332, 79%, 58%);
  --red: hsl(3, 75%, 37%);
  --orange: hsl(27, 98%, 54%);
  --yellow: hsl(34, 100%, 34%);
  --green: hsl(120, 32%, 39%);
  --teal: hsl(194, 66%, 61%);
  --cyan: hsl(207, 49%, 37%);
  --white: hsl(0, 0%, 100%);
  --gray-100: hsl(210, 17%, 98%);
  --gray-200: hsl(210, 16%, 93%);
  --gray-300: hsl(210, 14%, 89%);
  --gray-400: hsl(210, 14%, 83%);
  --gray-500: hsl(210, 11%, 71%);
  --gray-600: hsl(210, 7%, 46%);
  --gray-700: hsl(210, 9%, 31%);
  --gray-800: hsl(210, 10%, 23%);
  --gray-900: hsl(210, 11%, 15%);
  --primary: hsl(240, 98%, 17%);
  --secondary: hsl(210, 7%, 46%);
  --success: hsl(120, 32%, 39%);
  --info: hsl(207, 49%, 37%);
  --warning: hsl(34, 100%, 34%);
  --danger: hsl(3, 75%, 37%);
  --light: hsl(210, 17%, 98%);
  --dark: hsl(210, 10%, 23%);
  --primary-rgb: 1, 1, 86;
  --secondary-rgb: 109, 117, 126;
  --success-rgb: 68, 131, 68;
  --info-rgb: 48, 99, 141;
  --warning-rgb: 173, 98, 0;
  --danger-rgb: 165, 31, 24;
  --light-rgb: 249, 250, 251;
  --dark-rgb: 53, 59, 65;
  --primary-text-emphasis: #000022;
  --secondary-text-emphasis: #2c2f32;
  --success-text-emphasis: #1b341b;
  --info-text-emphasis: #132838;
  --warning-text-emphasis: #452700;
  --danger-text-emphasis: #420c0a;
  --light-text-emphasis: hsl(210, 9%, 31%);
  --dark-text-emphasis: hsl(210, 9%, 31%);
  --primary-bg-subtle: #ccccdd;
  --secondary-bg-subtle: #e2e3e5;
  --success-bg-subtle: #dae6da;
  --info-bg-subtle: #d6e0e8;
  --warning-bg-subtle: #efe0cc;
  --danger-bg-subtle: #edd2d1;
  --light-bg-subtle: #fcfdfd;
  --dark-bg-subtle: hsl(210, 14%, 83%);
  --primary-border-subtle: #9999bb;
  --secondary-border-subtle: #c5c8cb;
  --success-border-subtle: #b4cdb4;
  --info-border-subtle: #acc1d1;
  --warning-border-subtle: #dec099;
  --danger-border-subtle: #dba5a3;
  --light-border-subtle: hsl(210, 16%, 93%);
  --dark-border-subtle: hsl(210, 11%, 71%);
  --white-rgb: 255, 255, 255;
  --black-rgb: 0, 0, 0;
  --font-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --root-font-size: 14px;
  --body-font-family: var(--neoteric-font-family-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  --body-font-size: 1rem;
  --body-font-weight: var(--neoteric-font-weight-normal, 400);
  --body-line-height: 1.5;
  --body-color: hsl(210, 11%, 15%);
  --body-color-rgb: 34, 38, 42;
  --body-bg: hsl(0, 0%, 100%);
  --body-bg-rgb: 255, 255, 255;
  --emphasis-color: hsl(0, 0%, 0%);
  --emphasis-color-rgb: 0, 0, 0;
  --secondary-color: rgba(34, 38, 42, 0.75);
  --secondary-color-rgb: 34, 38, 42;
  --secondary-bg: hsl(210, 16%, 93%);
  --secondary-bg-rgb: 234, 237, 240;
  --tertiary-color: rgba(34, 38, 42, 0.5);
  --tertiary-color-rgb: 34, 38, 42;
  --tertiary-bg: hsl(210, 17%, 98%);
  --tertiary-bg-rgb: 249, 250, 251;
  --heading-color: inherit;
  --link-color: hsl(220, 67%, 40%);
  --link-color-rgb: 34, 79, 170;
  --link-decoration: underline;
  --link-hover-color: hsl(242, 30%, 36%);
  --link-hover-color-rgb: 66, 64, 119;
  --code-color: hsl(332, 79%, 58%);
  --highlight-color: hsl(210, 11%, 15%);
  --highlight-bg: #fbeea8;
  --border-width: 1px;
  --border-style: solid;
  --border-color: hsl(210, 14%, 89%);
  --border-color-translucent: rgba(0, 0, 0, 0.175);
  --border-radius: 0.25rem;
  --border-radius-sm: 0.2rem;
  --border-radius-lg: 0.3rem;
  --border-radius-xl: 0.3rem;
  --border-radius-xxl: 2rem;
  --border-radius-2xl: var(--border-radius-xxl);
  --border-radius-pill: 50rem;
  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --focus-ring-width: 0.25rem;
  --focus-ring-opacity: 0.25;
  --focus-ring-color: rgba(1, 1, 86, 0.25);
  --form-valid-color: hsl(120, 32%, 39%);
  --form-valid-border-color: hsl(120, 32%, 39%);
  --form-invalid-color: hsl(3, 75%, 37%);
  --form-invalid-border-color: hsl(3, 75%, 37%);
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --body-color: hsl(210, 14%, 89%);
  --body-color-rgb: 223, 227, 231;
  --body-bg: hsl(210, 11%, 15%);
  --body-bg-rgb: 34, 38, 42;
  --emphasis-color: hsl(0, 0%, 100%);
  --emphasis-color-rgb: 255, 255, 255;
  --secondary-color: rgba(223, 227, 231, 0.75);
  --secondary-color-rgb: 223, 227, 231;
  --secondary-bg: hsl(210, 10%, 23%);
  --secondary-bg-rgb: 53, 59, 65;
  --tertiary-color: rgba(223, 227, 231, 0.5);
  --tertiary-color-rgb: 223, 227, 231;
  --tertiary-bg: #2c3136;
  --tertiary-bg-rgb: 44, 49, 54;
  --primary-text-emphasis: #67679a;
  --secondary-text-emphasis: #a7acb2;
  --success-text-emphasis: #8fb58f;
  --info-text-emphasis: #83a1bb;
  --warning-text-emphasis: #cea166;
  --danger-text-emphasis: #c97974;
  --light-text-emphasis: hsl(210, 17%, 98%);
  --dark-text-emphasis: hsl(210, 14%, 89%);
  --primary-bg-subtle: #000011;
  --secondary-bg-subtle: #161719;
  --success-bg-subtle: #0e1a0e;
  --info-bg-subtle: #0a141c;
  --warning-bg-subtle: #231400;
  --danger-bg-subtle: #210605;
  --light-bg-subtle: hsl(210, 10%, 23%);
  --dark-bg-subtle: #1b1e21;
  --primary-border-subtle: #010134;
  --secondary-border-subtle: #41464c;
  --success-border-subtle: #294f29;
  --info-border-subtle: #1d3b55;
  --warning-border-subtle: #683b00;
  --danger-border-subtle: #63130e;
  --light-border-subtle: hsl(210, 9%, 31%);
  --dark-border-subtle: hsl(210, 10%, 23%);
  --heading-color: inherit;
  --link-color: #67679a;
  --link-hover-color: #8585ae;
  --link-color-rgb: 103, 103, 154;
  --link-hover-color-rgb: 133, 133, 174;
  --code-color: #f28cbb;
  --highlight-color: hsl(210, 14%, 89%);
  --highlight-bg: #452700;
  --border-color: hsl(210, 9%, 31%);
  --border-color-translucent: rgba(255, 255, 255, 0.15);
  --form-valid-color: #8fb58f;
  --form-valid-border-color: #8fb58f;
  --form-invalid-color: #c97974;
  --form-invalid-border-color: #c97974;
}

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

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

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

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--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(--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-left: 2rem;
}

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

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

dt {
  font-weight: 700;
}

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

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

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

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

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

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

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

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

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

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

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

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

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

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

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

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

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

textarea {
  resize: vertical;
}

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

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

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

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

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

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

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

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

output {
  display: inline-block;
}

iframe {
  border: 0;
}

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

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

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

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

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

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

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

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

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

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

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

.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 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: hsl(210, 7%, 46%);
}
.blockquote-footer::before {
  content: "— ";
}

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

.img-thumbnail {
  padding: 0.25rem;
  background-color: var(--body-bg);
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--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(--secondary-color);
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --gutter-x: 2em;
  --gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--gutter-x) * 0.5);
  padding-left: calc(var(--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 {
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1400px;
}

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

.col {
  flex: 1 0 0%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.table-primary {
  --table-color: hsl(0, 0%, 0%);
  --table-bg: #ccccdd;
  --table-border-color: #a3a3b1;
  --table-striped-bg: #c2c2d2;
  --table-striped-color: hsl(0, 0%, 0%);
  --table-active-bg: #b8b8c7;
  --table-active-color: hsl(0, 0%, 0%);
  --table-hover-bg: #bdbdcc;
  --table-hover-color: hsl(0, 0%, 0%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-secondary {
  --table-color: hsl(0, 0%, 0%);
  --table-bg: #e2e3e5;
  --table-border-color: #b5b6b7;
  --table-striped-bg: #d7d8da;
  --table-striped-color: hsl(0, 0%, 0%);
  --table-active-bg: #cbccce;
  --table-active-color: hsl(0, 0%, 0%);
  --table-hover-bg: #d1d2d4;
  --table-hover-color: hsl(0, 0%, 0%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-success {
  --table-color: hsl(0, 0%, 0%);
  --table-bg: #dae6da;
  --table-border-color: #aeb8ae;
  --table-striped-bg: #cfdbcf;
  --table-striped-color: hsl(0, 0%, 0%);
  --table-active-bg: #c4cfc4;
  --table-active-color: hsl(0, 0%, 0%);
  --table-hover-bg: #cad5ca;
  --table-hover-color: hsl(0, 0%, 0%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-info {
  --table-color: hsl(0, 0%, 0%);
  --table-bg: #d6e0e8;
  --table-border-color: #abb3ba;
  --table-striped-bg: #cbd5dc;
  --table-striped-color: hsl(0, 0%, 0%);
  --table-active-bg: #c1cad1;
  --table-active-color: hsl(0, 0%, 0%);
  --table-hover-bg: #c6cfd7;
  --table-hover-color: hsl(0, 0%, 0%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-warning {
  --table-color: hsl(0, 0%, 0%);
  --table-bg: #efe0cc;
  --table-border-color: #bfb3a3;
  --table-striped-bg: #e3d5c2;
  --table-striped-color: hsl(0, 0%, 0%);
  --table-active-bg: #d7cab8;
  --table-active-color: hsl(0, 0%, 0%);
  --table-hover-bg: #ddcfbd;
  --table-hover-color: hsl(0, 0%, 0%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-danger {
  --table-color: hsl(0, 0%, 0%);
  --table-bg: #edd2d1;
  --table-border-color: #bea8a7;
  --table-striped-bg: #e1c8c7;
  --table-striped-color: hsl(0, 0%, 0%);
  --table-active-bg: #d5bdbc;
  --table-active-color: hsl(0, 0%, 0%);
  --table-hover-bg: #dbc2c1;
  --table-hover-color: hsl(0, 0%, 0%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-light {
  --table-color: hsl(0, 0%, 0%);
  --table-bg: hsl(210, 17%, 98%);
  --table-border-color: #c7c8c9;
  --table-striped-bg: #edeeee;
  --table-striped-color: hsl(0, 0%, 0%);
  --table-active-bg: #e0e1e2;
  --table-active-color: hsl(0, 0%, 0%);
  --table-hover-bg: #e6e7e8;
  --table-hover-color: hsl(0, 0%, 0%);
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-dark {
  --table-color: hsl(0, 0%, 100%);
  --table-bg: hsl(210, 10%, 23%);
  --table-border-color: #5d6267;
  --table-striped-bg: #3f454b;
  --table-striped-color: hsl(0, 0%, 100%);
  --table-active-bg: #494f54;
  --table-active-color: hsl(0, 0%, 100%);
  --table-hover-bg: #444a4f;
  --table-hover-color: hsl(0, 0%, 100%);
  color: var(--table-color);
  border-color: var(--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.6rem + 2px);
  padding-bottom: calc(0.6rem + 2px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.7rem + 2px);
  padding-bottom: calc(0.7rem + 2px);
  font-size: 1rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + 2px);
  padding-bottom: calc(0.25rem + 2px);
  font-size: 0.875rem;
}

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

.form-control, .cf-form-search .input-append input[type=search]:not(.form-control),
.cf-form-search .input-append input[type=text]:not(.form-control), .old-form input[type=text],
.old-form input[type=password],
.old-form input[type=email],
.old-form textarea {
  display: block;
  width: 100%;
  padding: 0.6rem 1rem;
  font-size: 1rem;
  font-weight: var(--neoteric-font-weight-normal, 400);
  line-height: 1.5;
  color: var(--body-color);
  appearance: none;
  background-color: var(--body-bg);
  background-clip: padding-box;
  border: 2px solid hsl(210, 14%, 83%);
  border-radius: var(--border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control, .cf-form-search .input-append input[type=search]:not(.form-control),
  .cf-form-search .input-append input[type=text]:not(.form-control), .old-form input[type=text],
  .old-form input[type=password],
  .old-form input[type=email],
  .old-form textarea {
    transition: none;
  }
}
.form-control[type=file], .cf-form-search .input-append input[type=file][type=search]:not(.form-control),
.cf-form-search .input-append input[type=file][type=text]:not(.form-control), .old-form input[type=file][type=text],
.old-form input[type=file][type=password],
.old-form input[type=file][type=email],
.old-form textarea[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]), .cf-form-search .input-append input[type=file][type=search]:not(:disabled):not([readonly]):not(.form-control),
.cf-form-search .input-append input[type=file][type=text]:not(:disabled):not([readonly]):not(.form-control), .old-form input[type=file][type=text]:not(:disabled):not([readonly]),
.old-form input[type=file][type=password]:not(:disabled):not([readonly]),
.old-form input[type=file][type=email]:not(:disabled):not([readonly]),
.old-form textarea[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus, .cf-form-search .input-append input[type=search]:focus:not(.form-control),
.cf-form-search .input-append input[type=text]:focus:not(.form-control), .old-form input[type=text]:focus,
.old-form input[type=password]:focus,
.old-form input[type=email]:focus,
.old-form textarea:focus {
  color: var(--body-color);
  background-color: var(--body-bg);
  border-color: #8080ab;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25);
}
.form-control::-webkit-date-and-time-value, .cf-form-search .input-append input[type=search]:not(.form-control)::-webkit-date-and-time-value,
.cf-form-search .input-append input[type=text]:not(.form-control)::-webkit-date-and-time-value, .old-form input[type=text]::-webkit-date-and-time-value,
.old-form input[type=password]::-webkit-date-and-time-value,
.old-form input[type=email]::-webkit-date-and-time-value,
.old-form textarea::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}
.form-control::-webkit-datetime-edit, .cf-form-search .input-append input[type=search]:not(.form-control)::-webkit-datetime-edit,
.cf-form-search .input-append input[type=text]:not(.form-control)::-webkit-datetime-edit, .old-form input[type=text]::-webkit-datetime-edit,
.old-form input[type=password]::-webkit-datetime-edit,
.old-form input[type=email]::-webkit-datetime-edit,
.old-form textarea::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::placeholder, .cf-form-search .input-append input[type=search]:not(.form-control)::placeholder,
.cf-form-search .input-append input[type=text]:not(.form-control)::placeholder, .old-form input[type=text]::placeholder,
.old-form input[type=password]::placeholder,
.old-form input[type=email]::placeholder,
.old-form textarea::placeholder {
  color: var(--secondary-color);
  opacity: 1;
}
.form-control:disabled, .cf-form-search .input-append input[type=search]:disabled:not(.form-control),
.cf-form-search .input-append input[type=text]:disabled:not(.form-control), .old-form input[type=text]:disabled,
.old-form input[type=password]:disabled,
.old-form input[type=email]:disabled,
.old-form textarea:disabled {
  background-color: var(--secondary-bg);
  opacity: 1;
}
.form-control::file-selector-button, .cf-form-search .input-append input[type=search]:not(.form-control)::file-selector-button,
.cf-form-search .input-append input[type=text]:not(.form-control)::file-selector-button, .old-form input[type=text]::file-selector-button,
.old-form input[type=password]::file-selector-button,
.old-form input[type=email]::file-selector-button,
.old-form textarea::file-selector-button {
  padding: 0.6rem 1rem;
  margin: -0.6rem -1rem;
  margin-inline-end: 1rem;
  color: var(--body-color);
  background-color: var(--tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: 2px;
  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, .cf-form-search .input-append input[type=search]:not(.form-control)::file-selector-button,
  .cf-form-search .input-append input[type=text]:not(.form-control)::file-selector-button, .old-form input[type=text]::file-selector-button,
  .old-form input[type=password]::file-selector-button,
  .old-form input[type=email]::file-selector-button,
  .old-form textarea::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button, .cf-form-search .input-append input[type=search]:hover:not(:disabled):not([readonly]):not(.form-control)::file-selector-button,
.cf-form-search .input-append input[type=text]:hover:not(:disabled):not([readonly]):not(.form-control)::file-selector-button, .old-form input[type=text]:hover:not(:disabled):not([readonly])::file-selector-button,
.old-form input[type=password]:hover:not(:disabled):not([readonly])::file-selector-button,
.old-form input[type=email]:hover:not(:disabled):not([readonly])::file-selector-button,
.old-form textarea:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.6rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: 2px 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(2px * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--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 + 1.4rem + calc(2px * 2));
  padding: 0.7rem 1.5rem;
  font-size: 1rem;
  border-radius: var(--border-radius-lg);
}
.form-control-lg::file-selector-button {
  padding: 0.7rem 1.5rem;
  margin: -0.7rem -1.5rem;
  margin-inline-end: 1.5rem;
}

textarea.form-control,
.old-form textarea {
  min-height: calc(1.5em + 1.2rem + calc(2px * 2));
}
textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(2px * 2));
}
textarea.form-control-lg {
  min-height: calc(1.5em + 1.4rem + calc(2px * 2));
}

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

.form-select, .custom-select, .old-form select {
  --form-select-bg-img: url("../images/select-bg.svg");
  display: block;
  width: 100%;
  padding: 0.6rem 3rem 0.6rem 1rem;
  font-size: 1rem;
  font-weight: var(--neoteric-font-weight-normal, 400);
  line-height: 1.5;
  color: var(--body-color);
  appearance: none;
  background-color: hsl(210, 16%, 93%);
  background-image: var(--form-select-bg-img), var(--form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 116rem;
  border: 2px solid hsl(210, 14%, 83%);
  border-radius: var(--border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select, .custom-select, .old-form select {
    transition: none;
  }
}
.form-select:focus, .custom-select:focus, .old-form select:focus {
  border-color: #8080ab;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25);
}
.form-select[multiple], [multiple].custom-select, .old-form select[multiple], .form-select[size]:not([size="1"]), [size].custom-select:not([size="1"]), .old-form select[size]:not([size="1"]) {
  padding-right: 1rem;
  background-image: none;
}
.form-select:disabled, .custom-select:disabled, .old-form select:disabled {
  background-color: var(--secondary-bg);
}
.form-select:-moz-focusring, .custom-select:-moz-focusring, .old-form select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--body-color);
}

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

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

[data-bs-theme=dark] .form-select, [data-bs-theme=dark] .custom-select, [data-bs-theme=dark] .old-form select, .old-form [data-bs-theme=dark] select {
  --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='hsl%28210, 14%, 89%%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-left: 1.5em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input, .form-check-vm.form-check input[type=radio],
.form-check-vm.form-check input[type=checkbox] {
  float: left;
  margin-left: -1.5em;
}

.form-check-reverse {
  padding-right: 1.5em;
  padding-left: 0;
  text-align: right;
}
.form-check-reverse .form-check-input, .form-check-reverse .form-check-vm.form-check input[type=radio], .form-check-vm.form-check .form-check-reverse input[type=radio],
.form-check-reverse .form-check-vm.form-check input[type=checkbox],
.form-check-vm.form-check .form-check-reverse input[type=checkbox] {
  float: right;
  margin-right: -1.5em;
  margin-left: 0;
}

.form-check-input, .form-check-vm.form-check input[type=radio],
.form-check-vm.form-check input[type=checkbox] {
  --form-check-bg: var(--body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  appearance: none;
  background-color: var(--form-check-bg);
  background-image: var(--form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--border-width) solid var(--border-color);
  print-color-adjust: exact;
}
.form-check-input[type=checkbox],
.form-check-vm.form-check input[type=checkbox] {
  border-radius: 0.25em;
}
.form-check-input[type=radio], .form-check-vm.form-check input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active, .form-check-vm.form-check input[type=radio]:active,
.form-check-vm.form-check input[type=checkbox]:active {
  filter: brightness(90%);
}
.form-check-input:focus, .form-check-vm.form-check input[type=radio]:focus,
.form-check-vm.form-check input[type=checkbox]:focus {
  border-color: #8080ab;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25);
}
.form-check-input:checked, .form-check-vm.form-check input[type=radio]:checked,
.form-check-vm.form-check input[type=checkbox]:checked {
  background-color: hsl(240, 98%, 17%);
  border-color: hsl(240, 98%, 17%);
}
.form-check-input:checked[type=checkbox],
.form-check-vm.form-check input:checked[type=checkbox] {
  --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='hsl%280, 0%, 100%%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], .form-check-vm.form-check input:checked[type=radio] {
  --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='hsl%280, 0%, 100%%29'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate,
.form-check-vm.form-check input[type=checkbox]:indeterminate {
  background-color: hsl(240, 98%, 17%);
  border-color: hsl(240, 98%, 17%);
  --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='hsl%280, 0%, 100%%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled, .form-check-vm.form-check input[type=radio]:disabled,
.form-check-vm.form-check input[type=checkbox]:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-vm.form-check .form-check-input[disabled] ~ label, .form-check-vm.form-check input[disabled][type=radio] ~ .form-check-label, .form-check-vm.form-check input[disabled][type=radio] ~ label,
.form-check-vm.form-check input[disabled][type=checkbox] ~ .form-check-label,
.form-check-vm.form-check input[disabled][type=checkbox] ~ label, .form-check-input:disabled ~ .form-check-label, .form-check-vm.form-check .form-check-input:disabled ~ label, .form-check-vm.form-check input[type=radio]:disabled ~ .form-check-label, .form-check-vm.form-check input[type=radio]:disabled ~ label,
.form-check-vm.form-check input[type=checkbox]:disabled ~ .form-check-label,
.form-check-vm.form-check input[type=checkbox]:disabled ~ label {
  cursor: default;
  opacity: 0.5;
}

.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input, .form-switch .form-check-vm.form-check input[type=radio], .form-check-vm.form-check .form-switch input[type=radio],
.form-switch .form-check-vm.form-check input[type=checkbox],
.form-check-vm.form-check .form-switch input[type=checkbox] {
  --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%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
  width: 2em;
  margin-left: -2.5em;
  background-image: var(--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, .form-switch .form-check-vm.form-check input[type=radio], .form-check-vm.form-check .form-switch input[type=radio],
  .form-switch .form-check-vm.form-check input[type=checkbox],
  .form-check-vm.form-check .form-switch input[type=checkbox] {
    transition: none;
  }
}
.form-switch .form-check-input:focus, .form-switch .form-check-vm.form-check input[type=radio]:focus, .form-check-vm.form-check .form-switch input[type=radio]:focus,
.form-switch .form-check-vm.form-check input[type=checkbox]:focus,
.form-check-vm.form-check .form-switch input[type=checkbox]:focus {
  --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='%238080ab'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked, .form-switch .form-check-vm.form-check input[type=radio]:checked, .form-check-vm.form-check .form-switch input[type=radio]:checked,
.form-switch .form-check-vm.form-check input[type=checkbox]:checked,
.form-check-vm.form-check .form-switch input[type=checkbox]:checked {
  background-position: right center;
  --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='hsl%280, 0%, 100%%29'/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 2.5em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input, .form-switch.form-check-reverse .form-check-vm.form-check input[type=radio], .form-check-vm.form-check .form-switch.form-check-reverse input[type=radio],
.form-switch.form-check-reverse .form-check-vm.form-check input[type=checkbox],
.form-check-vm.form-check .form-switch.form-check-reverse input[type=checkbox] {
  margin-right: -2.5em;
  margin-left: 0;
}

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

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

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus), [data-bs-theme=dark] .form-switch .form-check-vm.form-check input[type=radio]:not(:checked):not(:focus), .form-check-vm.form-check [data-bs-theme=dark] .form-switch input[type=radio]:not(:checked):not(:focus),
[data-bs-theme=dark] .form-switch .form-check-vm.form-check input[type=checkbox]:not(:checked):not(:focus),
.form-check-vm.form-check [data-bs-theme=dark] .form-switch input[type=checkbox]:not(:checked):not(:focus) {
  --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 hsl(0, 0%, 100%), 0 0 0 0.25rem rgba(1, 1, 86, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px hsl(0, 0%, 100%), 0 0 0 0.25rem rgba(1, 1, 86, 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: hsl(240, 98%, 17%);
  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: #b3b3cc;
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  appearance: none;
  background-color: hsl(240, 98%, 17%);
  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: #b3b3cc;
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--secondary-color);
}

.form-floating {
  position: relative;
}
.form-floating > .form-control, .cf-form-search .input-append .form-floating > input[type=search]:not(.form-control),
.cf-form-search .input-append .form-floating > input[type=text]:not(.form-control), .old-form .form-floating > input[type=text],
.old-form .form-floating > input[type=password],
.old-form .form-floating > input[type=email],
.old-form .form-floating > textarea,
.form-floating > .form-control-plaintext,
.form-floating > .form-select,
.form-floating > .custom-select,
.old-form .form-floating > select {
  height: calc(3.5rem + calc(2px * 2));
  min-height: calc(3.5rem + calc(2px * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  height: 100%;
  padding: 1rem 1rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: 2px 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, .cf-form-search .input-append .form-floating > input[type=search]:not(.form-control),
.cf-form-search .input-append .form-floating > input[type=text]:not(.form-control), .old-form .form-floating > input[type=text],
.old-form .form-floating > input[type=password],
.old-form .form-floating > input[type=email],
.old-form .form-floating > textarea,
.form-floating > .form-control-plaintext {
  padding: 1rem 1rem;
}
.form-floating > .form-control::placeholder, .cf-form-search .input-append .form-floating > input[type=search]:not(.form-control)::placeholder,
.cf-form-search .input-append .form-floating > input[type=text]:not(.form-control)::placeholder, .old-form .form-floating > input[type=text]::placeholder,
.old-form .form-floating > input[type=password]::placeholder,
.old-form .form-floating > input[type=email]::placeholder,
.old-form .form-floating > textarea::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:focus, .cf-form-search .input-append .form-floating > input[type=search]:focus:not(.form-control),
.cf-form-search .input-append .form-floating > input[type=text]:focus:not(.form-control), .old-form .form-floating > input[type=text]:focus,
.old-form .form-floating > input[type=password]:focus,
.old-form .form-floating > input[type=email]:focus,
.old-form .form-floating > textarea:focus, .form-floating > .form-control:not(:placeholder-shown), .cf-form-search .input-append .form-floating > input[type=search]:not(:placeholder-shown):not(.form-control),
.cf-form-search .input-append .form-floating > input[type=text]:not(:placeholder-shown):not(.form-control), .old-form .form-floating > input[type=text]:not(:placeholder-shown),
.old-form .form-floating > input[type=password]:not(:placeholder-shown),
.old-form .form-floating > input[type=email]:not(:placeholder-shown),
.old-form .form-floating > textarea: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, .cf-form-search .input-append .form-floating > input[type=search]:-webkit-autofill:not(.form-control),
.cf-form-search .input-append .form-floating > input[type=text]:-webkit-autofill:not(.form-control), .old-form .form-floating > input[type=text]:-webkit-autofill,
.old-form .form-floating > input[type=password]:-webkit-autofill,
.old-form .form-floating > input[type=email]:-webkit-autofill,
.old-form .form-floating > textarea:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select, .form-floating > .custom-select, .old-form .form-floating > select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus ~ label, .cf-form-search .input-append .form-floating > input[type=search]:focus:not(.form-control) ~ label,
.cf-form-search .input-append .form-floating > input[type=text]:focus:not(.form-control) ~ label, .old-form .form-floating > input[type=text]:focus ~ label,
.old-form .form-floating > input[type=password]:focus ~ label,
.old-form .form-floating > input[type=email]:focus ~ label,
.old-form .form-floating > textarea:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.cf-form-search .input-append .form-floating > input[type=search]:not(:placeholder-shown):not(.form-control) ~ label,
.cf-form-search .input-append .form-floating > input[type=text]:not(:placeholder-shown):not(.form-control) ~ label,
.old-form .form-floating > input[type=text]:not(:placeholder-shown) ~ label,
.old-form .form-floating > input[type=password]:not(:placeholder-shown) ~ label,
.old-form .form-floating > input[type=email]:not(:placeholder-shown) ~ label,
.old-form .form-floating > textarea:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label,
.form-floating > .custom-select ~ label,
.old-form .form-floating > select ~ label {
  color: rgba(var(--body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:focus ~ label::after, .cf-form-search .input-append .form-floating > input[type=search]:focus:not(.form-control) ~ label::after,
.cf-form-search .input-append .form-floating > input[type=text]:focus:not(.form-control) ~ label::after, .old-form .form-floating > input[type=text]:focus ~ label::after,
.old-form .form-floating > input[type=password]:focus ~ label::after,
.old-form .form-floating > input[type=email]:focus ~ label::after,
.old-form .form-floating > textarea:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.cf-form-search .input-append .form-floating > input[type=search]:not(:placeholder-shown):not(.form-control) ~ label::after,
.cf-form-search .input-append .form-floating > input[type=text]:not(:placeholder-shown):not(.form-control) ~ label::after,
.old-form .form-floating > input[type=text]:not(:placeholder-shown) ~ label::after,
.old-form .form-floating > input[type=password]:not(:placeholder-shown) ~ label::after,
.old-form .form-floating > input[type=email]:not(:placeholder-shown) ~ label::after,
.old-form .form-floating > textarea:not(:placeholder-shown) ~ label::after,
.form-floating > .form-control-plaintext ~ label::after,
.form-floating > .form-select ~ label::after,
.form-floating > .custom-select ~ label::after,
.old-form .form-floating > select ~ label::after {
  position: absolute;
  inset: 1rem 0.5rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--body-bg);
  border-radius: var(--border-radius);
}
.form-floating > .form-control:-webkit-autofill ~ label, .cf-form-search .input-append .form-floating > input[type=search]:-webkit-autofill:not(.form-control) ~ label,
.cf-form-search .input-append .form-floating > input[type=text]:-webkit-autofill:not(.form-control) ~ label, .old-form .form-floating > input[type=text]:-webkit-autofill ~ label,
.old-form .form-floating > input[type=password]:-webkit-autofill ~ label,
.old-form .form-floating > input[type=email]:-webkit-autofill ~ label,
.old-form .form-floating > textarea:-webkit-autofill ~ label {
  color: rgba(var(--body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: 2px 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label,
.cf-form-search .input-append .form-floating > input[type=search]:disabled:not(.form-control) ~ label,
.cf-form-search .input-append .form-floating > input[type=text]:disabled:not(.form-control) ~ label {
  color: hsl(210, 7%, 46%);
}
.form-floating > :disabled ~ label::after,
.form-floating > .form-control:disabled ~ label::after,
.cf-form-search .input-append .form-floating > input[type=search]:disabled:not(.form-control) ~ label::after,
.cf-form-search .input-append .form-floating > input[type=text]:disabled:not(.form-control) ~ label::after {
  background-color: var(--secondary-bg);
}

.input-group, .cf-form-search .input-append {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control, .cf-form-search .input-append .input-group > input[type=search]:not(.form-control),
.cf-form-search .input-append .input-group > input[type=text]:not(.form-control), .cf-form-search .input-append > .form-control, .cf-form-search .input-append > input[type=search]:not(.form-control),
.cf-form-search .input-append > input[type=text]:not(.form-control), .old-form .input-group > input[type=text], .old-form .cf-form-search .input-append > input[type=text], .cf-form-search .old-form .input-append > input[type=text],
.old-form .input-group > input[type=password],
.old-form .cf-form-search .input-append > input[type=password],
.cf-form-search .old-form .input-append > input[type=password],
.old-form .input-group > input[type=email],
.old-form .cf-form-search .input-append > input[type=email],
.cf-form-search .old-form .input-append > input[type=email],
.old-form .input-group > textarea,
.old-form .cf-form-search .input-append > textarea,
.cf-form-search .old-form .input-append > textarea,
.input-group > .form-select,
.input-group > .custom-select,
.cf-form-search .input-append > .form-select,
.cf-form-search .input-append > .custom-select,
.old-form .input-group > select,
.old-form .cf-form-search .input-append > select,
.cf-form-search .old-form .input-append > select,
.input-group > .form-floating,
.cf-form-search .input-append > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus, .cf-form-search .input-append .input-group > input[type=search]:focus:not(.form-control),
.cf-form-search .input-append .input-group > input[type=text]:focus:not(.form-control), .cf-form-search .input-append > .form-control:focus, .cf-form-search .input-append > input[type=search]:focus:not(.form-control),
.cf-form-search .input-append > input[type=text]:focus:not(.form-control), .old-form .input-group > input[type=text]:focus, .old-form .cf-form-search .input-append > input[type=text]:focus, .cf-form-search .old-form .input-append > input[type=text]:focus,
.old-form .input-group > input[type=password]:focus,
.old-form .cf-form-search .input-append > input[type=password]:focus,
.cf-form-search .old-form .input-append > input[type=password]:focus,
.old-form .input-group > input[type=email]:focus,
.old-form .cf-form-search .input-append > input[type=email]:focus,
.cf-form-search .old-form .input-append > input[type=email]:focus,
.old-form .input-group > textarea:focus,
.old-form .cf-form-search .input-append > textarea:focus,
.cf-form-search .old-form .input-append > textarea:focus,
.input-group > .form-select:focus,
.input-group > .custom-select:focus,
.cf-form-search .input-append > .form-select:focus,
.cf-form-search .input-append > .custom-select:focus,
.old-form .input-group > select:focus,
.old-form .cf-form-search .input-append > select:focus,
.cf-form-search .old-form .input-append > select:focus,
.input-group > .form-floating:focus-within,
.cf-form-search .input-append > .form-floating:focus-within {
  z-index: 5;
}
.input-group .btn, .cf-form-search .input-append .btn, .input-group .btn-vm-customfield .form-check-label-text, .cf-form-search .input-append .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .input-group .form-check-label-text, .btn-vm-customfield .cf-form-search .input-append .form-check-label-text, .cf-form-search .btn-vm-customfield .input-append .form-check-label-text {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus, .cf-form-search .input-append .btn:focus, .input-group .btn-vm-customfield .form-check-label-text:focus, .cf-form-search .input-append .btn-vm-customfield .form-check-label-text:focus, .btn-vm-customfield .input-group .form-check-label-text:focus, .btn-vm-customfield .cf-form-search .input-append .form-check-label-text:focus, .cf-form-search .btn-vm-customfield .input-append .form-check-label-text:focus {
  z-index: 5;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.6rem 1rem;
  font-size: 1rem;
  font-weight: var(--neoteric-font-weight-normal, 400);
  line-height: 1.5;
  color: var(--body-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--tertiary-bg);
  border: 2px solid hsl(210, 14%, 83%);
  border-radius: var(--border-radius);
}

.input-group-lg > .form-control, .cf-form-search .input-append .input-group-lg > input[type=search]:not(.form-control),
.cf-form-search .input-append .input-group-lg > input[type=text]:not(.form-control), .old-form .input-group-lg > input[type=text],
.old-form .input-group-lg > input[type=password],
.old-form .input-group-lg > input[type=email],
.old-form .input-group-lg > textarea,
.input-group-lg > .form-select,
.input-group-lg > .custom-select,
.old-form .input-group-lg > select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn,
.btn-vm-customfield .input-group-lg > .form-check-label-text {
  padding: 0.7rem 1.5rem;
  font-size: 1rem;
  border-radius: var(--border-radius-lg);
}

.input-group-sm > .form-control, .cf-form-search .input-append .input-group-sm > input[type=search]:not(.form-control),
.cf-form-search .input-append .input-group-sm > input[type=text]:not(.form-control), .old-form .input-group-sm > input[type=text],
.old-form .input-group-sm > input[type=password],
.old-form .input-group-sm > input[type=email],
.old-form .input-group-sm > textarea,
.input-group-sm > .form-select,
.input-group-sm > .custom-select,
.old-form .input-group-sm > select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn,
.btn-vm-customfield .input-group-sm > .form-check-label-text {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--border-radius-sm);
}

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

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), .cf-form-search .input-append: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),
.cf-form-search .input-append:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.cf-form-search .input-append .input-group:not(.has-validation) > .form-floating:not(:last-child) > input[type=search]:not(.form-control),
.cf-form-search .input-append .input-group:not(.has-validation) > .form-floating:not(:last-child) > input[type=text]:not(.form-control),
.cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=search]:not(.form-control),
.cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=text]:not(.form-control),
.old-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > input[type=text],
.old-form .cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=text],
.cf-form-search .old-form .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=text],
.old-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > input[type=password],
.old-form .cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=password],
.cf-form-search .old-form .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=password],
.old-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > input[type=email],
.old-form .cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=email],
.cf-form-search .old-form .input-append:not(.has-validation) > .form-floating:not(:last-child) > input[type=email],
.old-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > textarea,
.old-form .cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > textarea,
.cf-form-search .old-form .input-append:not(.has-validation) > .form-floating:not(:last-child) > textarea,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .custom-select,
.cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > .form-select,
.cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > .custom-select,
.old-form .input-group:not(.has-validation) > .form-floating:not(:last-child) > select,
.old-form .cf-form-search .input-append:not(.has-validation) > .form-floating:not(:last-child) > select,
.cf-form-search .old-form .input-append:not(.has-validation) > .form-floating:not(:last-child) > select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), .cf-form-search .has-validation.input-append > :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),
.cf-form-search .has-validation.input-append > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.cf-form-search .input-append .input-group.has-validation > .form-floating:nth-last-child(n+3) > input[type=search]:not(.form-control),
.cf-form-search .input-append .input-group.has-validation > .form-floating:nth-last-child(n+3) > input[type=text]:not(.form-control),
.cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > .form-control,
.cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=search]:not(.form-control),
.cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=text]:not(.form-control),
.old-form .input-group.has-validation > .form-floating:nth-last-child(n+3) > input[type=text],
.old-form .cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=text],
.cf-form-search .old-form .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=text],
.old-form .input-group.has-validation > .form-floating:nth-last-child(n+3) > input[type=password],
.old-form .cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=password],
.cf-form-search .old-form .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=password],
.old-form .input-group.has-validation > .form-floating:nth-last-child(n+3) > input[type=email],
.old-form .cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=email],
.cf-form-search .old-form .has-validation.input-append > .form-floating:nth-last-child(n+3) > input[type=email],
.old-form .input-group.has-validation > .form-floating:nth-last-child(n+3) > textarea,
.old-form .cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > textarea,
.cf-form-search .old-form .has-validation.input-append > .form-floating:nth-last-child(n+3) > textarea,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .custom-select,
.cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > .form-select,
.cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > .custom-select,
.old-form .input-group.has-validation > .form-floating:nth-last-child(n+3) > select,
.old-form .cf-form-search .has-validation.input-append > .form-floating:nth-last-child(n+3) > select,
.cf-form-search .old-form .has-validation.input-append > .form-floating:nth-last-child(n+3) > select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback), .cf-form-search .input-append > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(2px * -1);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control, .cf-form-search .input-append .input-group > .form-floating:not(:first-child) > input[type=search]:not(.form-control),
.cf-form-search .input-append .input-group > .form-floating:not(:first-child) > input[type=text]:not(.form-control), .cf-form-search .input-append > .form-floating:not(:first-child) > .form-control, .cf-form-search .input-append > .form-floating:not(:first-child) > input[type=search]:not(.form-control),
.cf-form-search .input-append > .form-floating:not(:first-child) > input[type=text]:not(.form-control), .old-form .input-group > .form-floating:not(:first-child) > input[type=text], .old-form .cf-form-search .input-append > .form-floating:not(:first-child) > input[type=text], .cf-form-search .old-form .input-append > .form-floating:not(:first-child) > input[type=text],
.old-form .input-group > .form-floating:not(:first-child) > input[type=password],
.old-form .cf-form-search .input-append > .form-floating:not(:first-child) > input[type=password],
.cf-form-search .old-form .input-append > .form-floating:not(:first-child) > input[type=password],
.old-form .input-group > .form-floating:not(:first-child) > input[type=email],
.old-form .cf-form-search .input-append > .form-floating:not(:first-child) > input[type=email],
.cf-form-search .old-form .input-append > .form-floating:not(:first-child) > input[type=email],
.old-form .input-group > .form-floating:not(:first-child) > textarea,
.old-form .cf-form-search .input-append > .form-floating:not(:first-child) > textarea,
.cf-form-search .old-form .input-append > .form-floating:not(:first-child) > textarea,
.input-group > .form-floating:not(:first-child) > .form-select,
.input-group > .form-floating:not(:first-child) > .custom-select,
.cf-form-search .input-append > .form-floating:not(:first-child) > .form-select,
.cf-form-search .input-append > .form-floating:not(:first-child) > .custom-select,
.old-form .input-group > .form-floating:not(:first-child) > select,
.old-form .cf-form-search .input-append > .form-floating:not(:first-child) > select,
.cf-form-search .old-form .input-append > .form-floating:not(:first-child) > select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--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(--success);
  border-radius: var(--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, .was-validated .cf-form-search .input-append input[type=search]:valid:not(.form-control), .cf-form-search .input-append .was-validated input[type=search]:valid:not(.form-control),
.was-validated .cf-form-search .input-append input[type=text]:valid:not(.form-control),
.cf-form-search .input-append .was-validated input[type=text]:valid:not(.form-control), .was-validated .old-form input[type=text]:valid, .old-form .was-validated input[type=text]:valid,
.was-validated .old-form input[type=password]:valid,
.old-form .was-validated input[type=password]:valid,
.was-validated .old-form input[type=email]:valid,
.old-form .was-validated input[type=email]:valid,
.was-validated .old-form textarea:valid,
.old-form .was-validated textarea:valid, .form-control.is-valid, .cf-form-search .input-append input.is-valid[type=search]:not(.form-control),
.cf-form-search .input-append input.is-valid[type=text]:not(.form-control), .old-form input.is-valid[type=text],
.old-form input.is-valid[type=password],
.old-form input.is-valid[type=email],
.old-form textarea.is-valid {
  border-color: var(--form-valid-border-color);
  padding-right: calc(1.5em + 1.2rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='hsl%28120, 32%, 39%%29' 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.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.3rem) center;
  background-size: calc(0.75em + 0.6rem) calc(0.75em + 0.6rem);
}
.was-validated .form-control:valid:focus, .was-validated .cf-form-search .input-append input[type=search]:valid:focus:not(.form-control), .cf-form-search .input-append .was-validated input[type=search]:valid:focus:not(.form-control),
.was-validated .cf-form-search .input-append input[type=text]:valid:focus:not(.form-control),
.cf-form-search .input-append .was-validated input[type=text]:valid:focus:not(.form-control), .was-validated .old-form input[type=text]:valid:focus, .old-form .was-validated input[type=text]:valid:focus,
.was-validated .old-form input[type=password]:valid:focus,
.old-form .was-validated input[type=password]:valid:focus,
.was-validated .old-form input[type=email]:valid:focus,
.old-form .was-validated input[type=email]:valid:focus,
.was-validated .old-form textarea:valid:focus,
.old-form .was-validated textarea:valid:focus, .form-control.is-valid:focus, .cf-form-search .input-append input.is-valid[type=search]:focus:not(.form-control),
.cf-form-search .input-append input.is-valid[type=text]:focus:not(.form-control), .old-form input.is-valid[type=text]:focus,
.old-form input.is-valid[type=password]:focus,
.old-form input.is-valid[type=email]:focus,
.old-form textarea.is-valid:focus {
  border-color: var(--form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--success-rgb), 0.25);
}

.was-validated textarea.form-control:valid,
.was-validated .old-form textarea:valid,
.old-form .was-validated textarea:valid, textarea.form-control.is-valid,
.old-form textarea.is-valid {
  padding-right: calc(1.5em + 1.2rem);
  background-position: top calc(0.375em + 0.3rem) right calc(0.375em + 0.3rem);
}

.was-validated .form-select:valid, .was-validated .custom-select:valid, .was-validated .old-form select:valid, .old-form .was-validated select:valid, .form-select.is-valid, .is-valid.custom-select, .old-form select.is-valid {
  border-color: var(--form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .custom-select:valid:not([multiple]):not([size]), .was-validated .old-form select:valid:not([multiple]):not([size]), .old-form .was-validated select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .was-validated .custom-select:valid:not([multiple])[size="1"], .was-validated .old-form select:valid:not([multiple])[size="1"], .old-form .was-validated select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .is-valid.custom-select:not([multiple]):not([size]), .old-form select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"], .is-valid.custom-select:not([multiple])[size="1"], .old-form select.is-valid:not([multiple])[size="1"] {
  --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='hsl%28120, 32%, 39%%29' 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.1z'/%3e%3c/svg%3e");
  padding-right: 5.5rem;
  background-position: right 1rem center, center right 3rem;
  background-size: 116rem, calc(0.75em + 0.6rem) calc(0.75em + 0.6rem);
}
.was-validated .form-select:valid:focus, .was-validated .custom-select:valid:focus, .was-validated .old-form select:valid:focus, .old-form .was-validated select:valid:focus, .form-select.is-valid:focus, .is-valid.custom-select:focus, .old-form select.is-valid:focus {
  border-color: var(--form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--success-rgb), 0.25);
}

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

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

.form-check-inline .form-check-input ~ .valid-feedback, .form-check-inline .form-check-vm.form-check input[type=radio] ~ .valid-feedback, .form-check-vm.form-check .form-check-inline input[type=radio] ~ .valid-feedback,
.form-check-inline .form-check-vm.form-check input[type=checkbox] ~ .valid-feedback,
.form-check-vm.form-check .form-check-inline input[type=checkbox] ~ .valid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):valid, .was-validated .cf-form-search .input-append .input-group > input[type=search]:not(:focus):valid:not(.form-control), .cf-form-search .input-append .was-validated .input-group > input[type=search]:not(:focus):valid:not(.form-control),
.was-validated .cf-form-search .input-append .input-group > input[type=text]:not(:focus):valid:not(.form-control),
.cf-form-search .input-append .was-validated .input-group > input[type=text]:not(:focus):valid:not(.form-control), .was-validated .cf-form-search .input-append > .form-control:not(:focus):valid, .was-validated .cf-form-search .input-append > input[type=search]:not(:focus):valid:not(.form-control),
.was-validated .cf-form-search .input-append > input[type=text]:not(:focus):valid:not(.form-control), .cf-form-search .was-validated .input-append > .form-control:not(:focus):valid, .cf-form-search .was-validated .input-append > input[type=search]:not(:focus):valid:not(.form-control),
.cf-form-search .was-validated .input-append > input[type=text]:not(:focus):valid:not(.form-control), .was-validated .old-form .input-group > input[type=text]:not(:focus):valid, .was-validated .old-form .cf-form-search .input-append > input[type=text]:not(:focus):valid, .cf-form-search .was-validated .old-form .input-append > input[type=text]:not(:focus):valid, .old-form .was-validated .input-group > input[type=text]:not(:focus):valid, .old-form .was-validated .cf-form-search .input-append > input[type=text]:not(:focus):valid, .cf-form-search .old-form .was-validated .input-append > input[type=text]:not(:focus):valid,
.was-validated .old-form .input-group > input[type=password]:not(:focus):valid,
.was-validated .old-form .cf-form-search .input-append > input[type=password]:not(:focus):valid,
.cf-form-search .was-validated .old-form .input-append > input[type=password]:not(:focus):valid,
.old-form .was-validated .input-group > input[type=password]:not(:focus):valid,
.old-form .was-validated .cf-form-search .input-append > input[type=password]:not(:focus):valid,
.cf-form-search .old-form .was-validated .input-append > input[type=password]:not(:focus):valid,
.was-validated .old-form .input-group > input[type=email]:not(:focus):valid,
.was-validated .old-form .cf-form-search .input-append > input[type=email]:not(:focus):valid,
.cf-form-search .was-validated .old-form .input-append > input[type=email]:not(:focus):valid,
.old-form .was-validated .input-group > input[type=email]:not(:focus):valid,
.old-form .was-validated .cf-form-search .input-append > input[type=email]:not(:focus):valid,
.cf-form-search .old-form .was-validated .input-append > input[type=email]:not(:focus):valid,
.was-validated .old-form .input-group > textarea:not(:focus):valid,
.was-validated .old-form .cf-form-search .input-append > textarea:not(:focus):valid,
.cf-form-search .was-validated .old-form .input-append > textarea:not(:focus):valid,
.old-form .was-validated .input-group > textarea:not(:focus):valid,
.old-form .was-validated .cf-form-search .input-append > textarea:not(:focus):valid,
.cf-form-search .old-form .was-validated .input-append > textarea:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, .cf-form-search .input-append .input-group > input[type=search]:not(:focus).is-valid:not(.form-control),
.cf-form-search .input-append .input-group > input[type=text]:not(:focus).is-valid:not(.form-control), .cf-form-search .input-append > .form-control:not(:focus).is-valid, .cf-form-search .input-append > input[type=search]:not(:focus).is-valid:not(.form-control),
.cf-form-search .input-append > input[type=text]:not(:focus).is-valid:not(.form-control), .old-form .input-group > input[type=text]:not(:focus).is-valid, .old-form .cf-form-search .input-append > input[type=text]:not(:focus).is-valid, .cf-form-search .old-form .input-append > input[type=text]:not(:focus).is-valid,
.old-form .input-group > input[type=password]:not(:focus).is-valid,
.old-form .cf-form-search .input-append > input[type=password]:not(:focus).is-valid,
.cf-form-search .old-form .input-append > input[type=password]:not(:focus).is-valid,
.old-form .input-group > input[type=email]:not(:focus).is-valid,
.old-form .cf-form-search .input-append > input[type=email]:not(:focus).is-valid,
.cf-form-search .old-form .input-append > input[type=email]:not(:focus).is-valid,
.old-form .input-group > textarea:not(:focus).is-valid,
.old-form .cf-form-search .input-append > textarea:not(:focus).is-valid,
.cf-form-search .old-form .input-append > textarea:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.was-validated .input-group > .custom-select:not(:focus):valid,
.was-validated .cf-form-search .input-append > .form-select:not(:focus):valid,
.was-validated .cf-form-search .input-append > .custom-select:not(:focus):valid,
.cf-form-search .was-validated .input-append > .form-select:not(:focus):valid,
.cf-form-search .was-validated .input-append > .custom-select:not(:focus):valid,
.was-validated .old-form .input-group > select:not(:focus):valid,
.was-validated .old-form .cf-form-search .input-append > select:not(:focus):valid,
.cf-form-search .was-validated .old-form .input-append > select:not(:focus):valid,
.old-form .was-validated .input-group > select:not(:focus):valid,
.old-form .was-validated .cf-form-search .input-append > select:not(:focus):valid,
.cf-form-search .old-form .was-validated .input-append > select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.input-group > .custom-select:not(:focus).is-valid,
.cf-form-search .input-append > .form-select:not(:focus).is-valid,
.cf-form-search .input-append > .custom-select:not(:focus).is-valid,
.old-form .input-group > select:not(:focus).is-valid,
.old-form .cf-form-search .input-append > select:not(:focus).is-valid,
.cf-form-search .old-form .input-append > select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.was-validated .cf-form-search .input-append > .form-floating:not(:focus-within):valid,
.cf-form-search .was-validated .input-append > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid,
.cf-form-search .input-append > .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(--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(--danger);
  border-radius: var(--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, .was-validated .cf-form-search .input-append input[type=search]:invalid:not(.form-control), .cf-form-search .input-append .was-validated input[type=search]:invalid:not(.form-control),
.was-validated .cf-form-search .input-append input[type=text]:invalid:not(.form-control),
.cf-form-search .input-append .was-validated input[type=text]:invalid:not(.form-control), .was-validated .old-form input[type=text]:invalid, .old-form .was-validated input[type=text]:invalid,
.was-validated .old-form input[type=password]:invalid,
.old-form .was-validated input[type=password]:invalid,
.was-validated .old-form input[type=email]:invalid,
.old-form .was-validated input[type=email]:invalid,
.was-validated .old-form textarea:invalid,
.old-form .was-validated textarea:invalid, .form-control.is-invalid, .cf-form-search .input-append input.is-invalid[type=search]:not(.form-control),
.cf-form-search .input-append input.is-invalid[type=text]:not(.form-control), .old-form input.is-invalid[type=text],
.old-form input.is-invalid[type=password],
.old-form input.is-invalid[type=email],
.old-form textarea.is-invalid {
  border-color: var(--form-invalid-border-color);
  padding-right: calc(1.5em + 1.2rem);
  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='hsl%283, 75%, 37%%29'%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='hsl%283, 75%, 37%%29' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.3rem) center;
  background-size: calc(0.75em + 0.6rem) calc(0.75em + 0.6rem);
}
.was-validated .form-control:invalid:focus, .was-validated .cf-form-search .input-append input[type=search]:invalid:focus:not(.form-control), .cf-form-search .input-append .was-validated input[type=search]:invalid:focus:not(.form-control),
.was-validated .cf-form-search .input-append input[type=text]:invalid:focus:not(.form-control),
.cf-form-search .input-append .was-validated input[type=text]:invalid:focus:not(.form-control), .was-validated .old-form input[type=text]:invalid:focus, .old-form .was-validated input[type=text]:invalid:focus,
.was-validated .old-form input[type=password]:invalid:focus,
.old-form .was-validated input[type=password]:invalid:focus,
.was-validated .old-form input[type=email]:invalid:focus,
.old-form .was-validated input[type=email]:invalid:focus,
.was-validated .old-form textarea:invalid:focus,
.old-form .was-validated textarea:invalid:focus, .form-control.is-invalid:focus, .cf-form-search .input-append input.is-invalid[type=search]:focus:not(.form-control),
.cf-form-search .input-append input.is-invalid[type=text]:focus:not(.form-control), .old-form input.is-invalid[type=text]:focus,
.old-form input.is-invalid[type=password]:focus,
.old-form input.is-invalid[type=email]:focus,
.old-form textarea.is-invalid:focus {
  border-color: var(--form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--danger-rgb), 0.25);
}

.was-validated textarea.form-control:invalid,
.was-validated .old-form textarea:invalid,
.old-form .was-validated textarea:invalid, textarea.form-control.is-invalid,
.old-form textarea.is-invalid {
  padding-right: calc(1.5em + 1.2rem);
  background-position: top calc(0.375em + 0.3rem) right calc(0.375em + 0.3rem);
}

.was-validated .form-select:invalid, .was-validated .custom-select:invalid, .was-validated .old-form select:invalid, .old-form .was-validated select:invalid, .form-select.is-invalid, .is-invalid.custom-select, .old-form select.is-invalid {
  border-color: var(--form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .custom-select:invalid:not([multiple]):not([size]), .was-validated .old-form select:invalid:not([multiple]):not([size]), .old-form .was-validated select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .was-validated .custom-select:invalid:not([multiple])[size="1"], .was-validated .old-form select:invalid:not([multiple])[size="1"], .old-form .was-validated select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .is-invalid.custom-select:not([multiple]):not([size]), .old-form select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"], .is-invalid.custom-select:not([multiple])[size="1"], .old-form select.is-invalid:not([multiple])[size="1"] {
  --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='hsl%283, 75%, 37%%29'%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='hsl%283, 75%, 37%%29' stroke='none'/%3e%3c/svg%3e");
  padding-right: 5.5rem;
  background-position: right 1rem center, center right 3rem;
  background-size: 116rem, calc(0.75em + 0.6rem) calc(0.75em + 0.6rem);
}
.was-validated .form-select:invalid:focus, .was-validated .custom-select:invalid:focus, .was-validated .old-form select:invalid:focus, .old-form .was-validated select:invalid:focus, .form-select.is-invalid:focus, .is-invalid.custom-select:focus, .old-form select.is-invalid:focus {
  border-color: var(--form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--danger-rgb), 0.25);
}

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

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

.form-check-inline .form-check-input ~ .invalid-feedback, .form-check-inline .form-check-vm.form-check input[type=radio] ~ .invalid-feedback, .form-check-vm.form-check .form-check-inline input[type=radio] ~ .invalid-feedback,
.form-check-inline .form-check-vm.form-check input[type=checkbox] ~ .invalid-feedback,
.form-check-vm.form-check .form-check-inline input[type=checkbox] ~ .invalid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):invalid, .was-validated .cf-form-search .input-append .input-group > input[type=search]:not(:focus):invalid:not(.form-control), .cf-form-search .input-append .was-validated .input-group > input[type=search]:not(:focus):invalid:not(.form-control),
.was-validated .cf-form-search .input-append .input-group > input[type=text]:not(:focus):invalid:not(.form-control),
.cf-form-search .input-append .was-validated .input-group > input[type=text]:not(:focus):invalid:not(.form-control), .was-validated .cf-form-search .input-append > .form-control:not(:focus):invalid, .was-validated .cf-form-search .input-append > input[type=search]:not(:focus):invalid:not(.form-control),
.was-validated .cf-form-search .input-append > input[type=text]:not(:focus):invalid:not(.form-control), .cf-form-search .was-validated .input-append > .form-control:not(:focus):invalid, .cf-form-search .was-validated .input-append > input[type=search]:not(:focus):invalid:not(.form-control),
.cf-form-search .was-validated .input-append > input[type=text]:not(:focus):invalid:not(.form-control), .was-validated .old-form .input-group > input[type=text]:not(:focus):invalid, .was-validated .old-form .cf-form-search .input-append > input[type=text]:not(:focus):invalid, .cf-form-search .was-validated .old-form .input-append > input[type=text]:not(:focus):invalid, .old-form .was-validated .input-group > input[type=text]:not(:focus):invalid, .old-form .was-validated .cf-form-search .input-append > input[type=text]:not(:focus):invalid, .cf-form-search .old-form .was-validated .input-append > input[type=text]:not(:focus):invalid,
.was-validated .old-form .input-group > input[type=password]:not(:focus):invalid,
.was-validated .old-form .cf-form-search .input-append > input[type=password]:not(:focus):invalid,
.cf-form-search .was-validated .old-form .input-append > input[type=password]:not(:focus):invalid,
.old-form .was-validated .input-group > input[type=password]:not(:focus):invalid,
.old-form .was-validated .cf-form-search .input-append > input[type=password]:not(:focus):invalid,
.cf-form-search .old-form .was-validated .input-append > input[type=password]:not(:focus):invalid,
.was-validated .old-form .input-group > input[type=email]:not(:focus):invalid,
.was-validated .old-form .cf-form-search .input-append > input[type=email]:not(:focus):invalid,
.cf-form-search .was-validated .old-form .input-append > input[type=email]:not(:focus):invalid,
.old-form .was-validated .input-group > input[type=email]:not(:focus):invalid,
.old-form .was-validated .cf-form-search .input-append > input[type=email]:not(:focus):invalid,
.cf-form-search .old-form .was-validated .input-append > input[type=email]:not(:focus):invalid,
.was-validated .old-form .input-group > textarea:not(:focus):invalid,
.was-validated .old-form .cf-form-search .input-append > textarea:not(:focus):invalid,
.cf-form-search .was-validated .old-form .input-append > textarea:not(:focus):invalid,
.old-form .was-validated .input-group > textarea:not(:focus):invalid,
.old-form .was-validated .cf-form-search .input-append > textarea:not(:focus):invalid,
.cf-form-search .old-form .was-validated .input-append > textarea:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, .cf-form-search .input-append .input-group > input[type=search]:not(:focus).is-invalid:not(.form-control),
.cf-form-search .input-append .input-group > input[type=text]:not(:focus).is-invalid:not(.form-control), .cf-form-search .input-append > .form-control:not(:focus).is-invalid, .cf-form-search .input-append > input[type=search]:not(:focus).is-invalid:not(.form-control),
.cf-form-search .input-append > input[type=text]:not(:focus).is-invalid:not(.form-control), .old-form .input-group > input[type=text]:not(:focus).is-invalid, .old-form .cf-form-search .input-append > input[type=text]:not(:focus).is-invalid, .cf-form-search .old-form .input-append > input[type=text]:not(:focus).is-invalid,
.old-form .input-group > input[type=password]:not(:focus).is-invalid,
.old-form .cf-form-search .input-append > input[type=password]:not(:focus).is-invalid,
.cf-form-search .old-form .input-append > input[type=password]:not(:focus).is-invalid,
.old-form .input-group > input[type=email]:not(:focus).is-invalid,
.old-form .cf-form-search .input-append > input[type=email]:not(:focus).is-invalid,
.cf-form-search .old-form .input-append > input[type=email]:not(:focus).is-invalid,
.old-form .input-group > textarea:not(:focus).is-invalid,
.old-form .cf-form-search .input-append > textarea:not(:focus).is-invalid,
.cf-form-search .old-form .input-append > textarea:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.was-validated .input-group > .custom-select:not(:focus):invalid,
.was-validated .cf-form-search .input-append > .form-select:not(:focus):invalid,
.was-validated .cf-form-search .input-append > .custom-select:not(:focus):invalid,
.cf-form-search .was-validated .input-append > .form-select:not(:focus):invalid,
.cf-form-search .was-validated .input-append > .custom-select:not(:focus):invalid,
.was-validated .old-form .input-group > select:not(:focus):invalid,
.was-validated .old-form .cf-form-search .input-append > select:not(:focus):invalid,
.cf-form-search .was-validated .old-form .input-append > select:not(:focus):invalid,
.old-form .was-validated .input-group > select:not(:focus):invalid,
.old-form .was-validated .cf-form-search .input-append > select:not(:focus):invalid,
.cf-form-search .old-form .was-validated .input-append > select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.input-group > .custom-select:not(:focus).is-invalid,
.cf-form-search .input-append > .form-select:not(:focus).is-invalid,
.cf-form-search .input-append > .custom-select:not(:focus).is-invalid,
.old-form .input-group > select:not(:focus).is-invalid,
.old-form .cf-form-search .input-append > select:not(:focus).is-invalid,
.cf-form-search .old-form .input-append > select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.was-validated .cf-form-search .input-append > .form-floating:not(:focus-within):invalid,
.cf-form-search .was-validated .input-append > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid,
.cf-form-search .input-append > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}

.btn, .btn-vm-customfield .form-check-label-text {
  --btn-padding-x: 1rem;
  --btn-padding-y: 0.6rem;
  --btn-font-family: ;
  --btn-font-size: 1rem;
  --btn-font-weight: 400;
  --btn-line-height: 1.5;
  --btn-color: var(--body-color);
  --btn-bg: transparent;
  --btn-border-width: 2px;
  --btn-border-color: transparent;
  --btn-border-radius: var(--border-radius);
  --btn-hover-border-color: transparent;
  --btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --btn-disabled-opacity: 0.65;
  --btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--btn-padding-y) var(--btn-padding-x);
  font-family: var(--btn-font-family);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  line-height: var(--btn-line-height);
  color: var(--btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--btn-border-width) solid var(--btn-border-color);
  border-radius: var(--btn-border-radius);
  background-color: var(--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, .btn-vm-customfield .form-check-label-text {
    transition: none;
  }
}
.btn:hover, .btn-vm-customfield .form-check-label-text:hover {
  color: var(--btn-hover-color);
  background-color: var(--btn-hover-bg);
  border-color: var(--btn-hover-border-color);
}
.btn-check + .btn:hover, .btn-vm-customfield .btn-check + .form-check-label-text:hover {
  color: var(--btn-color);
  background-color: var(--btn-bg);
  border-color: var(--btn-border-color);
}
.btn:focus-visible, .btn-vm-customfield .form-check-label-text:focus-visible {
  color: var(--btn-hover-color);
  background-color: var(--btn-hover-bg);
  border-color: var(--btn-hover-border-color);
  outline: 0;
  box-shadow: var(--btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn, .btn-vm-customfield .btn-check:focus-visible + .form-check-label-text {
  border-color: var(--btn-hover-border-color);
  outline: 0;
  box-shadow: var(--btn-focus-box-shadow);
}
.btn-check:checked + .btn, .btn-vm-customfield .btn-check:checked + .form-check-label-text, :not(.btn-check) + .btn:active, .btn-vm-customfield :not(.btn-check) + .form-check-label-text:active, .btn:first-child:active, .btn-vm-customfield .form-check-label-text:first-child:active, .btn.active, .btn-vm-customfield .active.form-check-label-text, .btn-vm-customfield .form-check-input:checked + .form-check-label .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn), .btn.show, .btn-vm-customfield .show.form-check-label-text {
  color: var(--btn-active-color);
  background-color: var(--btn-active-bg);
  border-color: var(--btn-active-border-color);
}
.btn-check:checked + .btn:focus-visible, .btn-vm-customfield .btn-check:checked + .form-check-label-text:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn-vm-customfield :not(.btn-check) + .form-check-label-text:active:focus-visible, .btn:first-child:active:focus-visible, .btn-vm-customfield .form-check-label-text:first-child:active:focus-visible, .btn.active:focus-visible, .btn-vm-customfield .active.form-check-label-text:focus-visible, .btn-vm-customfield .form-check-input:checked + .form-check-label .form-check-label-text:focus-visible:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .form-check-label-text:focus-visible:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .form-check-label-text:focus-visible:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .form-check-label-text:focus-visible:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .form-check-label-text:focus-visible:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .form-check-label-text:focus-visible:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .form-check-label-text:focus-visible:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .form-check-label-text:focus-visible:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .form-check-label-text:focus-visible:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .form-check-label-text:focus-visible:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .form-check-label-text:focus-visible:not(.is-color-btn), .btn.show:focus-visible, .btn-vm-customfield .show.form-check-label-text:focus-visible {
  box-shadow: var(--btn-focus-box-shadow);
}
.btn:disabled, .btn-vm-customfield .form-check-label-text:disabled, .btn.disabled, .btn-vm-customfield .disabled.form-check-label-text, fieldset:disabled .btn, fieldset:disabled .btn-vm-customfield .form-check-label-text, .btn-vm-customfield fieldset:disabled .form-check-label-text {
  color: var(--btn-disabled-color);
  pointer-events: none;
  background-color: var(--btn-disabled-bg);
  border-color: var(--btn-disabled-border-color);
  opacity: var(--btn-disabled-opacity);
}

.btn-primary {
  --btn-color: hsl(0, 0%, 100%);
  --btn-bg: hsl(240, 98%, 17%);
  --btn-border-color: hsl(240, 98%, 17%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: #010149;
  --btn-hover-border-color: #010145;
  --btn-focus-shadow-rgb: 39, 39, 111;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: #010145;
  --btn-active-border-color: #010141;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 100%);
  --btn-disabled-bg: hsl(240, 98%, 17%);
  --btn-disabled-border-color: hsl(240, 98%, 17%);
}

.btn-secondary, .btn-vm-customfield .form-check-label-text {
  --btn-color: hsl(0, 0%, 100%);
  --btn-bg: hsl(210, 7%, 46%);
  --btn-border-color: hsl(210, 7%, 46%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: #5d636b;
  --btn-hover-border-color: #575e65;
  --btn-focus-shadow-rgb: 131, 138, 145;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: #575e65;
  --btn-active-border-color: #52585f;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 100%);
  --btn-disabled-bg: hsl(210, 7%, 46%);
  --btn-disabled-border-color: hsl(210, 7%, 46%);
}

.btn-success {
  --btn-color: hsl(0, 0%, 100%);
  --btn-bg: hsl(120, 32%, 39%);
  --btn-border-color: hsl(120, 32%, 39%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: #3a6f3a;
  --btn-hover-border-color: #366936;
  --btn-focus-shadow-rgb: 96, 150, 96;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: #366936;
  --btn-active-border-color: #336233;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 100%);
  --btn-disabled-bg: hsl(120, 32%, 39%);
  --btn-disabled-border-color: hsl(120, 32%, 39%);
}

.btn-info {
  --btn-color: hsl(0, 0%, 100%);
  --btn-bg: hsl(207, 49%, 37%);
  --btn-border-color: hsl(207, 49%, 37%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: #295478;
  --btn-hover-border-color: #264f71;
  --btn-focus-shadow-rgb: 79, 122, 158;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: #264f71;
  --btn-active-border-color: #244a6a;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 100%);
  --btn-disabled-bg: hsl(207, 49%, 37%);
  --btn-disabled-border-color: hsl(207, 49%, 37%);
}

.btn-warning {
  --btn-color: hsl(0, 0%, 100%);
  --btn-bg: hsl(34, 100%, 34%);
  --btn-border-color: hsl(34, 100%, 34%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: #935300;
  --btn-hover-border-color: #8a4e00;
  --btn-focus-shadow-rgb: 185, 122, 38;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: #8a4e00;
  --btn-active-border-color: #824a00;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 100%);
  --btn-disabled-bg: hsl(34, 100%, 34%);
  --btn-disabled-border-color: hsl(34, 100%, 34%);
}

.btn-danger {
  --btn-color: hsl(0, 0%, 100%);
  --btn-bg: hsl(3, 75%, 37%);
  --btn-border-color: hsl(3, 75%, 37%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: #8c1a14;
  --btn-hover-border-color: #841913;
  --btn-focus-shadow-rgb: 179, 65, 59;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: #841913;
  --btn-active-border-color: #7c1712;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 100%);
  --btn-disabled-bg: hsl(3, 75%, 37%);
  --btn-disabled-border-color: hsl(3, 75%, 37%);
}

.btn-light, .product-image-gallery__thumbnails-controls .btn-nobg {
  --btn-color: hsl(0, 0%, 0%);
  --btn-bg: hsl(210, 17%, 98%);
  --btn-border-color: hsl(210, 17%, 98%);
  --btn-hover-color: hsl(0, 0%, 0%);
  --btn-hover-bg: #d4d5d5;
  --btn-hover-border-color: #c7c8c9;
  --btn-focus-shadow-rgb: 212, 213, 213;
  --btn-active-color: hsl(0, 0%, 0%);
  --btn-active-bg: #c7c8c9;
  --btn-active-border-color: #bbbcbc;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 0%);
  --btn-disabled-bg: hsl(210, 17%, 98%);
  --btn-disabled-border-color: hsl(210, 17%, 98%);
}

.btn-dark {
  --btn-color: hsl(0, 0%, 100%);
  --btn-bg: hsl(210, 10%, 23%);
  --btn-border-color: hsl(210, 10%, 23%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: #53585e;
  --btn-hover-border-color: #494f54;
  --btn-focus-shadow-rgb: 83, 88, 94;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: #5d6267;
  --btn-active-border-color: #494f54;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(0, 0%, 100%);
  --btn-disabled-bg: hsl(210, 10%, 23%);
  --btn-disabled-border-color: hsl(210, 10%, 23%);
}

.btn-outline-primary {
  --btn-color: hsl(240, 98%, 17%);
  --btn-border-color: hsl(240, 98%, 17%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: hsl(240, 98%, 17%);
  --btn-hover-border-color: hsl(240, 98%, 17%);
  --btn-focus-shadow-rgb: 1, 1, 86;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: hsl(240, 98%, 17%);
  --btn-active-border-color: hsl(240, 98%, 17%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(240, 98%, 17%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(240, 98%, 17%);
  --gradient: none;
}

.btn-outline-secondary {
  --btn-color: hsl(210, 7%, 46%);
  --btn-border-color: hsl(210, 7%, 46%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: hsl(210, 7%, 46%);
  --btn-hover-border-color: hsl(210, 7%, 46%);
  --btn-focus-shadow-rgb: 109, 117, 126;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: hsl(210, 7%, 46%);
  --btn-active-border-color: hsl(210, 7%, 46%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(210, 7%, 46%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(210, 7%, 46%);
  --gradient: none;
}

.btn-outline-success {
  --btn-color: hsl(120, 32%, 39%);
  --btn-border-color: hsl(120, 32%, 39%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: hsl(120, 32%, 39%);
  --btn-hover-border-color: hsl(120, 32%, 39%);
  --btn-focus-shadow-rgb: 68, 131, 68;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: hsl(120, 32%, 39%);
  --btn-active-border-color: hsl(120, 32%, 39%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(120, 32%, 39%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(120, 32%, 39%);
  --gradient: none;
}

.btn-outline-info {
  --btn-color: hsl(207, 49%, 37%);
  --btn-border-color: hsl(207, 49%, 37%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: hsl(207, 49%, 37%);
  --btn-hover-border-color: hsl(207, 49%, 37%);
  --btn-focus-shadow-rgb: 48, 99, 141;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: hsl(207, 49%, 37%);
  --btn-active-border-color: hsl(207, 49%, 37%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(207, 49%, 37%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(207, 49%, 37%);
  --gradient: none;
}

.btn-outline-warning {
  --btn-color: hsl(34, 100%, 34%);
  --btn-border-color: hsl(34, 100%, 34%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: hsl(34, 100%, 34%);
  --btn-hover-border-color: hsl(34, 100%, 34%);
  --btn-focus-shadow-rgb: 173, 98, 0;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: hsl(34, 100%, 34%);
  --btn-active-border-color: hsl(34, 100%, 34%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(34, 100%, 34%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(34, 100%, 34%);
  --gradient: none;
}

.btn-outline-danger {
  --btn-color: hsl(3, 75%, 37%);
  --btn-border-color: hsl(3, 75%, 37%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: hsl(3, 75%, 37%);
  --btn-hover-border-color: hsl(3, 75%, 37%);
  --btn-focus-shadow-rgb: 165, 31, 24;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: hsl(3, 75%, 37%);
  --btn-active-border-color: hsl(3, 75%, 37%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(3, 75%, 37%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(3, 75%, 37%);
  --gradient: none;
}

.btn-outline-light {
  --btn-color: hsl(210, 17%, 98%);
  --btn-border-color: hsl(210, 17%, 98%);
  --btn-hover-color: hsl(0, 0%, 0%);
  --btn-hover-bg: hsl(210, 17%, 98%);
  --btn-hover-border-color: hsl(210, 17%, 98%);
  --btn-focus-shadow-rgb: 249, 250, 251;
  --btn-active-color: hsl(0, 0%, 0%);
  --btn-active-bg: hsl(210, 17%, 98%);
  --btn-active-border-color: hsl(210, 17%, 98%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(210, 17%, 98%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(210, 17%, 98%);
  --gradient: none;
}

.btn-outline-dark {
  --btn-color: hsl(210, 10%, 23%);
  --btn-border-color: hsl(210, 10%, 23%);
  --btn-hover-color: hsl(0, 0%, 100%);
  --btn-hover-bg: hsl(210, 10%, 23%);
  --btn-hover-border-color: hsl(210, 10%, 23%);
  --btn-focus-shadow-rgb: 53, 59, 65;
  --btn-active-color: hsl(0, 0%, 100%);
  --btn-active-bg: hsl(210, 10%, 23%);
  --btn-active-border-color: hsl(210, 10%, 23%);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: hsl(210, 10%, 23%);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: hsl(210, 10%, 23%);
  --gradient: none;
}

.btn-link {
  --btn-font-weight: 400;
  --btn-color: var(--link-color);
  --btn-bg: transparent;
  --btn-border-color: transparent;
  --btn-hover-color: var(--link-hover-color);
  --btn-hover-border-color: transparent;
  --btn-active-color: var(--link-hover-color);
  --btn-active-border-color: transparent;
  --btn-disabled-color: hsl(210, 7%, 46%);
  --btn-disabled-border-color: transparent;
  --btn-box-shadow: 0 0 0 #000;
  --btn-focus-shadow-rgb: 67, 105, 183;
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--btn-color);
}
.btn-link:hover {
  color: var(--btn-hover-color);
}

.btn-lg, .btn-group-lg > .btn, .btn-vm-customfield .btn-group-lg > .form-check-label-text {
  --btn-padding-y: 0.7rem;
  --btn-padding-x: 1.5rem;
  --btn-font-size: 1rem;
  --btn-border-radius: var(--border-radius-lg);
}

.btn-sm, .btn-vm-customfield .form-check-label-text, .btn-group-sm > .btn {
  --btn-padding-y: 0.25rem;
  --btn-padding-x: 0.5rem;
  --btn-font-size: 0.875rem;
  --btn-border-radius: var(--border-radius-sm);
}

.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-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  --dropdown-zindex: 1000;
  --dropdown-min-width: 10rem;
  --dropdown-padding-x: 0;
  --dropdown-padding-y: 0.5rem;
  --dropdown-spacer: 0.125rem;
  --dropdown-font-size: 1rem;
  --dropdown-color: var(--body-color);
  --dropdown-bg: var(--body-bg);
  --dropdown-border-color: var(--border-color-translucent);
  --dropdown-border-radius: var(--border-radius);
  --dropdown-border-width: var(--border-width);
  --dropdown-inner-border-radius: calc(var(--border-radius) - var(--border-width));
  --dropdown-divider-bg: var(--border-color-translucent);
  --dropdown-divider-margin-y: 0.5rem;
  --dropdown-box-shadow: var(--box-shadow);
  --dropdown-link-color: var(--gray-900);
  --dropdown-link-hover-color: var(--gray-800);
  --dropdown-link-hover-bg: var(--gray-200);
  --dropdown-link-active-color: var(--template-primary-contrast-color);
  --dropdown-link-active-bg: var(--template-primary-color);
  --dropdown-link-disabled-color: var(--tertiary-color);
  --dropdown-item-padding-x: 1rem;
  --dropdown-item-padding-y: 0.25rem;
  --dropdown-header-color: hsl(210, 7%, 46%);
  --dropdown-header-padding-x: 1rem;
  --dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--dropdown-zindex);
  display: none;
  min-width: var(--dropdown-min-width);
  padding: var(--dropdown-padding-y) var(--dropdown-padding-x);
  margin: 0;
  font-size: var(--dropdown-font-size);
  color: var(--dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--dropdown-bg);
  background-clip: padding-box;
  border: var(--dropdown-border-width) solid var(--dropdown-border-color);
  border-radius: var(--dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--dropdown-spacer);
}

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

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

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

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

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

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

.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--dropdown-link-color);
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--dropdown-link-hover-color);
  background-color: var(--dropdown-link-hover-bg);
}
.dropdown-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .dropdown-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .dropdown-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .dropdown-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .dropdown-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .dropdown-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .dropdown-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .dropdown-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .dropdown-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .dropdown-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .dropdown-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .dropdown-item.form-check-label-text:not(.is-color-btn), .dropdown-item:active {
  color: var(--dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

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

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

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

.dropdown-menu-dark {
  --dropdown-color: hsl(210, 14%, 89%);
  --dropdown-bg: hsl(210, 10%, 23%);
  --dropdown-border-color: var(--border-color-translucent);
  --dropdown-box-shadow: ;
  --dropdown-link-color: hsl(210, 14%, 89%);
  --dropdown-link-hover-color: hsl(0, 0%, 100%);
  --dropdown-divider-bg: var(--border-color-translucent);
  --dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --dropdown-link-active-color: var(--template-primary-contrast-color);
  --dropdown-link-active-bg: var(--template-primary-color);
  --dropdown-link-disabled-color: hsl(210, 11%, 71%);
  --dropdown-header-color: hsl(210, 11%, 71%);
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn, .btn-vm-customfield .btn-group > .form-check-label-text,
.btn-group-vertical > .btn,
.btn-vm-customfield .btn-group-vertical > .form-check-label-text {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn, .btn-vm-customfield .btn-group > .btn-check:checked + .form-check-label-text,
.btn-group > .btn-check:focus + .btn,
.btn-vm-customfield .btn-group > .btn-check:focus + .form-check-label-text,
.btn-group > .btn:hover,
.btn-vm-customfield .btn-group > .form-check-label-text:hover,
.btn-group > .btn:focus,
.btn-vm-customfield .btn-group > .form-check-label-text:focus,
.btn-group > .btn:active,
.btn-vm-customfield .btn-group > .form-check-label-text:active,
.btn-group > .btn.active,
.btn-vm-customfield .btn-group > .active.form-check-label-text,
.btn-vm-customfield .form-check-input:checked + .form-check-label .btn-group > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .btn-group > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .btn-group > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .btn-group > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .btn-group > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .btn-group > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .btn-group > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .btn-group > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .btn-group > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .btn-group > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .btn-group > .form-check-label-text:not(.is-color-btn),
.btn-group-vertical > .btn-check:checked + .btn,
.btn-vm-customfield .btn-group-vertical > .btn-check:checked + .form-check-label-text,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-vm-customfield .btn-group-vertical > .btn-check:focus + .form-check-label-text,
.btn-group-vertical > .btn:hover,
.btn-vm-customfield .btn-group-vertical > .form-check-label-text:hover,
.btn-group-vertical > .btn:focus,
.btn-vm-customfield .btn-group-vertical > .form-check-label-text:focus,
.btn-group-vertical > .btn:active,
.btn-vm-customfield .btn-group-vertical > .form-check-label-text:active,
.btn-group-vertical > .btn.active,
.btn-vm-customfield .btn-group-vertical > .active.form-check-label-text,
.btn-vm-customfield .form-check-input:checked + .form-check-label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .btn-group-vertical > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .btn-group-vertical > .form-check-label-text:not(.is-color-btn) {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group, .btn-toolbar .cf-form-search .input-append, .cf-form-search .btn-toolbar .input-append {
  width: auto;
}

.btn-group {
  border-radius: var(--border-radius);
}
.btn-group > :not(.btn-check:first-child) + .btn, .btn-vm-customfield .btn-group > :not(.btn-check:first-child) + .form-check-label-text,
.btn-group > .btn-group:not(:first-child) {
  margin-left: calc(2px * -1);
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-vm-customfield .btn-group > .form-check-label-text:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.btn-vm-customfield .btn-group > .dropdown-toggle-split.form-check-label-text:first-child,
.btn-group > .btn-group:not(:last-child) > .btn,
.btn-vm-customfield .btn-group > .btn-group:not(:last-child) > .form-check-label-text {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:nth-child(n+3), .btn-vm-customfield .btn-group > .form-check-label-text:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-vm-customfield .btn-group > :not(.btn-check) + .form-check-label-text,
.btn-group > .btn-group:not(:first-child) > .btn,
.btn-vm-customfield .btn-group > .btn-group:not(:first-child) > .form-check-label-text {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

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

.btn-sm + .dropdown-toggle-split, .btn-vm-customfield .form-check-label-text + .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, .btn-vm-customfield .btn-group-lg > .form-check-label-text + .dropdown-toggle-split {
  padding-right: 1.125rem;
  padding-left: 1.125rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn, .btn-vm-customfield .btn-group-vertical > .form-check-label-text,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child), .btn-vm-customfield .btn-group-vertical > .form-check-label-text:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: calc(2px * -1);
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .btn-vm-customfield .btn-group-vertical > .form-check-label-text:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn,
.btn-vm-customfield .btn-group-vertical > .btn-group:not(:last-child) > .form-check-label-text {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn ~ .btn, .btn-vm-customfield .btn-group-vertical > .form-check-label-text ~ .btn, .btn-vm-customfield .btn-group-vertical > .btn ~ .form-check-label-text, .btn-vm-customfield .btn-group-vertical > .form-check-label-text ~ .form-check-label-text,
.btn-group-vertical > .btn-group:not(:first-child) > .btn,
.btn-vm-customfield .btn-group-vertical > .btn-group:not(:first-child) > .form-check-label-text {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

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

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

.nav-tabs {
  --nav-tabs-border-width: var(--border-width);
  --nav-tabs-border-color: var(--border-color);
  --nav-tabs-border-radius: var(--border-radius);
  --nav-tabs-link-hover-border-color: var(--secondary-bg) var(--secondary-bg) var(--border-color);
  --nav-tabs-link-active-color: var(--emphasis-color);
  --nav-tabs-link-active-bg: var(--body-bg);
  --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--body-bg);
  border-bottom: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--nav-tabs-border-width));
  border: var(--nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--nav-tabs-border-radius);
  border-top-right-radius: var(--nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active, .nav-tabs .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-tabs .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-tabs .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-tabs .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .nav-tabs .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .nav-tabs .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs .nav-item.show .nav-link {
  color: var(--nav-tabs-link-active-color);
  background-color: var(--nav-tabs-link-active-bg);
  border-color: var(--nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --nav-pills-border-radius: var(--border-radius);
  --nav-pills-link-active-color: hsl(0, 0%, 100%);
  --nav-pills-link-active-bg: hsl(240, 98%, 17%);
}
.nav-pills .nav-link {
  border-radius: var(--nav-pills-border-radius);
}
.nav-pills .nav-link.active, .nav-pills .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .nav-pills .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-pills .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .nav-pills .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .nav-pills .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-pills .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-pills .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.nav-pills .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.nav-pills .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .nav-pills .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .nav-pills .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-pills .nav-link.form-check-label-text:not(.is-color-btn),
.nav-pills .show > .nav-link {
  color: var(--nav-pills-link-active-color);
  background-color: var(--nav-pills-link-active-bg);
}

.nav-underline {
  --nav-underline-gap: 1rem;
  --nav-underline-border-width: 0.125rem;
  --nav-underline-link-active-color: var(--emphasis-color);
  gap: var(--nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--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 .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .nav-underline .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-underline .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .nav-underline .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .nav-underline .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-underline .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .nav-underline .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.nav-underline .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.nav-underline .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .nav-underline .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .nav-underline .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-underline .nav-link.form-check-label-text:not(.is-color-btn),
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

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

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

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

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active, .btn-vm-customfield .form-check-input:checked + .form-check-label .tab-content > .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .tab-content > .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .tab-content > .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .tab-content > .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .tab-content > .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .tab-content > .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .tab-content > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .tab-content > .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .tab-content > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .tab-content > .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .tab-content > .form-check-label-text:not(.is-color-btn) {
  display: block;
}

.navbar {
  --navbar-padding-x: 0;
  --navbar-padding-y: 0.5rem;
  --navbar-color: rgba(var(--emphasis-color-rgb), 0.65);
  --navbar-hover-color: rgba(var(--emphasis-color-rgb), 0.8);
  --navbar-disabled-color: rgba(var(--emphasis-color-rgb), 0.3);
  --navbar-active-color: rgba(var(--emphasis-color-rgb), 1);
  --navbar-brand-padding-y: 0.3125rem;
  --navbar-brand-margin-end: 1rem;
  --navbar-brand-font-size: 1.25rem;
  --navbar-brand-color: rgba(var(--emphasis-color-rgb), 1);
  --navbar-brand-hover-color: rgba(var(--emphasis-color-rgb), 1);
  --navbar-nav-link-padding-x: 0.5rem;
  --navbar-toggler-padding-y: 0.25rem;
  --navbar-toggler-padding-x: 0.75rem;
  --navbar-toggler-font-size: 1.25rem;
  --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%2834, 38, 42, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --navbar-toggler-border-color: rgba(var(--emphasis-color-rgb), 0.15);
  --navbar-toggler-border-radius: var(--border-radius);
  --navbar-toggler-focus-width: 0.25rem;
  --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(--navbar-padding-y) var(--navbar-padding-x);
}
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: var(--navbar-brand-padding-y);
  padding-bottom: var(--navbar-brand-padding-y);
  margin-right: var(--navbar-brand-margin-end);
  font-size: var(--navbar-brand-font-size);
  color: var(--navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--navbar-brand-hover-color);
}

.navbar-nav {
  --nav-link-padding-x: 0;
  --nav-link-padding-y: 0.5rem;
  --nav-link-font-weight: ;
  --nav-link-color: var(--navbar-color);
  --nav-link-hover-color: var(--navbar-hover-color);
  --nav-link-disabled-color: var(--navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link.active, .navbar-nav .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .navbar-nav .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .navbar-nav .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .navbar-nav .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .navbar-nav .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .navbar-nav .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .navbar-nav .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.navbar-nav .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.navbar-nav .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .navbar-nav .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .navbar-nav .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .navbar-nav .nav-link.form-check-label-text:not(.is-color-btn), .navbar-nav .nav-link.show {
  color: var(--navbar-active-color);
}
.navbar-nav .dropdown-menu {
  position: static;
}

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

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

.navbar-toggler {
  padding: var(--navbar-toggler-padding-y) var(--navbar-toggler-padding-x);
  font-size: var(--navbar-toggler-font-size);
  line-height: 1;
  color: var(--navbar-color);
  background-color: transparent;
  border: var(--border-width) solid var(--navbar-toggler-border-color);
  border-radius: var(--navbar-toggler-border-radius);
  transition: var(--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(--navbar-toggler-focus-width);
}

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

.navbar-nav-scroll {
  max-height: var(--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(--navbar-nav-link-padding-x);
    padding-left: var(--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(--navbar-nav-link-padding-x);
    padding-left: var(--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(--navbar-nav-link-padding-x);
    padding-left: var(--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(--navbar-nav-link-padding-x);
    padding-left: var(--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(--navbar-nav-link-padding-x);
    padding-left: var(--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(--navbar-nav-link-padding-x);
  padding-left: var(--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-bs-theme=dark] {
  --navbar-color: rgba(255, 255, 255, 0.55);
  --navbar-hover-color: rgba(255, 255, 255, 0.75);
  --navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --navbar-active-color: hsl(0, 0%, 100%);
  --navbar-brand-color: hsl(0, 0%, 100%);
  --navbar-brand-hover-color: hsl(0, 0%, 100%);
  --navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
  --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-bs-theme=dark] .navbar-toggler-icon {
  --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 {
  --card-spacer-y: 1rem;
  --card-spacer-x: 1rem;
  --card-title-spacer-y: 0.5rem;
  --card-title-color: ;
  --card-subtitle-color: ;
  --card-border-width: var(--border-width);
  --card-border-color: hsl(210, 14%, 89%);
  --card-border-radius: var(--border-radius);
  --card-box-shadow: ;
  --card-inner-border-radius: calc(var(--border-radius) - (var(--border-width)));
  --card-cap-padding-y: 0.5rem;
  --card-cap-padding-x: 1rem;
  --card-cap-bg: rgba(var(--body-color-rgb), 0.03);
  --card-cap-color: ;
  --card-height: ;
  --card-color: ;
  --card-bg: var(--body-bg);
  --card-img-overlay-padding: 1rem;
  --card-group-margin: 1em;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--card-height);
  color: var(--body-color);
  word-wrap: break-word;
  background-color: var(--card-bg);
  background-clip: border-box;
  border: var(--card-border-width) solid var(--card-border-color);
  border-radius: var(--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(--card-inner-border-radius);
  border-top-right-radius: var(--card-inner-border-radius);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--card-inner-border-radius);
  border-bottom-left-radius: var(--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(--card-spacer-y) var(--card-spacer-x);
  color: var(--card-color);
}

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

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

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

.card-link + .card-link {
  margin-left: var(--card-spacer-x);
}

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

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

.card-header-tabs {
  margin-right: calc(-0.5 * var(--card-cap-padding-x));
  margin-bottom: calc(-1 * var(--card-cap-padding-y));
  margin-left: calc(-0.5 * var(--card-cap-padding-x));
  border-bottom: 0;
}
.card-header-tabs .nav-link.active, .card-header-tabs .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .card-header-tabs .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .card-header-tabs .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .card-header-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .card-header-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .card-header-tabs .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .card-header-tabs .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.card-header-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.card-header-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .card-header-tabs .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .card-header-tabs .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .card-header-tabs .nav-link.form-check-label-text:not(.is-color-btn) {
  background-color: var(--card-bg);
  border-bottom-color: var(--card-bg);
}

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

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

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

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

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

.card-group > .card {
  margin-bottom: var(--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-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-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-top-left-radius: 0;
    border-bottom-left-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 {
  --accordion-color: var(--body-color);
  --accordion-bg: var(--body-bg);
  --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;
  --accordion-border-color: var(--border-color);
  --accordion-border-width: var(--border-width);
  --accordion-border-radius: var(--border-radius);
  --accordion-inner-border-radius: calc(var(--border-radius) - (var(--border-width)));
  --accordion-btn-padding-x: 1.25rem;
  --accordion-btn-padding-y: 1rem;
  --accordion-btn-color: var(--body-color);
  --accordion-btn-bg: var(--accordion-bg);
  --accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='hsl%28210, 11%, 15%%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-.708z'/%3e%3c/svg%3e");
  --accordion-btn-icon-width: 1.25rem;
  --accordion-btn-icon-transform: rotate(-180deg);
  --accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000022'%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-.708z'/%3e%3c/svg%3e");
  --accordion-btn-focus-border-color: #8080ab;
  --accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25);
  --accordion-body-padding-x: 1.25rem;
  --accordion-body-padding-y: 1rem;
  --accordion-active-color: var(--primary-text-emphasis);
  --accordion-active-bg: var(--primary-bg-subtle);
}

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

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

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

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

.accordion-flush .accordion-collapse {
  border-width: 0;
}
.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-button, .accordion-flush .accordion-item .accordion-button.collapsed {
  border-radius: 0;
}

[data-bs-theme=dark] .accordion-button::after {
  --accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2367679a'%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-.708z'/%3e%3c/svg%3e");
  --accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2367679a'%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-.708z'/%3e%3c/svg%3e");
}

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

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--breadcrumb-item-padding-x);
  color: var(--breadcrumb-divider-color);
  content: var(--breadcrumb-divider, "/") /* rtl: var(--breadcrumb-divider, "/") */;
}
.breadcrumb-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .breadcrumb-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .breadcrumb-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .breadcrumb-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .breadcrumb-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .breadcrumb-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .breadcrumb-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .breadcrumb-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .breadcrumb-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .breadcrumb-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .breadcrumb-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .breadcrumb-item.form-check-label-text:not(.is-color-btn) {
  color: var(--breadcrumb-item-active-color);
}

.pagination {
  --pagination-padding-x: 0.75rem;
  --pagination-padding-y: 0.375rem;
  --pagination-font-size: 1rem;
  --pagination-color: var(--link-color);
  --pagination-bg: var(--body-bg);
  --pagination-border-width: var(--border-width);
  --pagination-border-color: var(--border-color);
  --pagination-border-radius: var(--border-radius);
  --pagination-hover-color: var(--link-hover-color);
  --pagination-hover-bg: var(--tertiary-bg);
  --pagination-hover-border-color: var(--border-color);
  --pagination-focus-color: var(--link-hover-color);
  --pagination-focus-bg: var(--secondary-bg);
  --pagination-focus-box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25);
  --pagination-active-color: hsl(0, 0%, 100%);
  --pagination-active-bg: hsl(240, 98%, 17%);
  --pagination-active-border-color: hsl(240, 98%, 17%);
  --pagination-disabled-color: var(--secondary-color);
  --pagination-disabled-bg: var(--secondary-bg);
  --pagination-disabled-border-color: var(--border-color);
  display: flex;
  padding-left: 0;
  list-style: none;
}

.page-link {
  position: relative;
  display: block;
  padding: var(--pagination-padding-y) var(--pagination-padding-x);
  font-size: var(--pagination-font-size);
  color: var(--pagination-color);
  text-decoration: none;
  background-color: var(--pagination-bg);
  border: var(--pagination-border-width) solid var(--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(--pagination-hover-color);
  background-color: var(--pagination-hover-bg);
  border-color: var(--pagination-hover-border-color);
}
.page-link:focus {
  z-index: 3;
  color: var(--pagination-focus-color);
  background-color: var(--pagination-focus-bg);
  outline: 0;
  box-shadow: var(--pagination-focus-box-shadow);
}
.page-link.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .page-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .page-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .page-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .page-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .page-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .page-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .page-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .page-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .page-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .page-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .page-link.form-check-label-text:not(.is-color-btn), .active > .page-link, .btn-vm-customfield .form-check-input:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .form-check-label-text:not(.is-color-btn) > .page-link, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .form-check-label-text:not(.is-color-btn) > .page-link, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link {
  z-index: 3;
  color: var(--pagination-active-color);
  background-color: var(--pagination-active-bg);
  border-color: var(--pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
  color: var(--pagination-disabled-color);
  pointer-events: none;
  background-color: var(--pagination-disabled-bg);
  border-color: var(--pagination-disabled-border-color);
}

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

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

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

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

.btn .badge, .btn-vm-customfield .form-check-label-text .badge {
  position: relative;
  top: -1px;
}

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

.alert-heading {
  color: inherit;
}

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

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

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

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

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

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

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

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

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

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

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

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--progress-bar-bg);
  transition: var(--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(--progress-height) var(--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;
  }
}

.list-group {
  --list-group-color: var(--body-color);
  --list-group-bg: var(--body-bg);
  --list-group-border-color: var(--border-color);
  --list-group-border-width: var(--border-width);
  --list-group-border-radius: var(--border-radius);
  --list-group-item-padding-x: 1rem;
  --list-group-item-padding-y: 0.5rem;
  --list-group-action-color: var(--secondary-color);
  --list-group-action-hover-color: var(--emphasis-color);
  --list-group-action-hover-bg: var(--tertiary-bg);
  --list-group-action-active-color: var(--body-color);
  --list-group-action-active-bg: var(--secondary-bg);
  --list-group-disabled-color: var(--secondary-color);
  --list-group-disabled-bg: var(--body-bg);
  --list-group-active-color: hsl(0, 0%, 100%);
  --list-group-active-bg: hsl(240, 98%, 17%);
  --list-group-active-border-color: hsl(240, 98%, 17%);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--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-action {
  width: 100%;
  color: var(--list-group-action-color);
  text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: var(--list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--list-group-action-hover-bg);
}
.list-group-item-action:active {
  color: var(--list-group-action-active-color);
  background-color: var(--list-group-action-active-bg);
}

.list-group-item {
  position: relative;
  display: block;
  padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);
  color: var(--list-group-color);
  text-decoration: none;
  background-color: var(--list-group-bg);
  border: var(--list-group-border-width) solid var(--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(--list-group-disabled-color);
  pointer-events: none;
  background-color: var(--list-group-disabled-bg);
}
.list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-item.form-check-label-text:not(.is-color-btn) {
  z-index: 2;
  color: var(--list-group-active-color);
  background-color: var(--list-group-active-bg);
  border-color: var(--list-group-active-border-color);
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn) {
  margin-top: calc(-1 * var(--list-group-border-width));
  border-top-width: var(--list-group-border-width);
}

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-bottom-left-radius: var(--list-group-border-radius);
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-top-right-radius: var(--list-group-border-radius);
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal > .list-group-item.form-check-label-text:not(.is-color-btn) {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: var(--list-group-border-width);
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn) {
  margin-left: calc(-1 * var(--list-group-border-width));
  border-left-width: var(--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-bottom-left-radius: var(--list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-sm > .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-sm > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--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-bottom-left-radius: var(--list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-md > .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-md > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--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-bottom-left-radius: var(--list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-lg > .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-lg > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--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-bottom-left-radius: var(--list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-xl > .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-xl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--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-bottom-left-radius: var(--list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-xxl > .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .list-group-horizontal-xxl > .list-group-item + .list-group-item.form-check-label-text:not(.is-color-btn) {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--list-group-border-width);
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 var(--list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

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

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

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

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

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

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

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

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

.btn-close {
  --btn-close-color: hsl(0, 0%, 0%);
  --btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='hsl%280, 0%, 0%%29'%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.414z'/%3e%3c/svg%3e");
  --btn-close-opacity: 0.5;
  --btn-close-hover-opacity: 0.75;
  --btn-close-focus-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25);
  --btn-close-focus-opacity: 1;
  --btn-close-disabled-opacity: 0.25;
  --btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--btn-close-color);
  background: transparent var(--btn-close-bg) center/1em auto no-repeat;
  border: 0;
  border-radius: 0.25rem;
  opacity: var(--btn-close-opacity);
}
.btn-close:hover {
  color: var(--btn-close-color);
  text-decoration: none;
  opacity: var(--btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--btn-close-focus-shadow);
  opacity: var(--btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  user-select: none;
  opacity: var(--btn-close-disabled-opacity);
}

.btn-close-white {
  filter: var(--btn-close-white-filter);
}

[data-bs-theme=dark] .btn-close {
  filter: var(--btn-close-white-filter);
}

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

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

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

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

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

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

.modal-dialog-scrollable {
  height: calc(100% - var(--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(--modal-margin) * 2);
}

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

.modal-backdrop {
  --backdrop-zindex: 1040;
  --backdrop-bg: hsl(0, 0%, 0%);
  --backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--backdrop-opacity);
}

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

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

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

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

@media (min-width: 576px) {
  .modal {
    --modal-margin: 1.75rem;
    --modal-box-shadow: var(--box-shadow);
  }
  .modal-dialog {
    max-width: var(--modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --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 {
  --tooltip-zindex: 1070;
  --tooltip-max-width: 200px;
  --tooltip-padding-x: 0.5rem;
  --tooltip-padding-y: 0.25rem;
  --tooltip-margin: ;
  --tooltip-font-size: 0.875rem;
  --tooltip-color: var(--body-bg);
  --tooltip-bg: var(--emphasis-color);
  --tooltip-border-radius: var(--border-radius);
  --tooltip-opacity: 0.9;
  --tooltip-arrow-width: 0.8rem;
  --tooltip-arrow-height: 0.4rem;
  z-index: var(--tooltip-zindex);
  display: block;
  margin: var(--tooltip-margin);
  font-family: var(--neoteric-font-family-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  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(--tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: var(--tooltip-opacity);
}
.tooltip .tooltip-arrow {
  display: block;
  width: var(--tooltip-arrow-width);
  height: var(--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(--tooltip-arrow-height));
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;
  border-top-color: var(--tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
  left: calc(-1 * var(--tooltip-arrow-height));
  width: var(--tooltip-arrow-height);
  height: var(--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(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;
  border-right-color: var(--tooltip-bg);
}

/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: calc(-1 * var(--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(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);
  border-bottom-color: var(--tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
  right: calc(-1 * var(--tooltip-arrow-height));
  width: var(--tooltip-arrow-height);
  height: var(--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(--tooltip-arrow-width) * 0.5) 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);
  border-left-color: var(--tooltip-bg);
}

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

.popover {
  --popover-zindex: 1060;
  --popover-max-width: 276px;
  --popover-font-size: 0.875rem;
  --popover-bg: var(--body-bg);
  --popover-border-width: var(--border-width);
  --popover-border-color: var(--border-color-translucent);
  --popover-border-radius: var(--border-radius-lg);
  --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));
  --popover-box-shadow: var(--box-shadow);
  --popover-header-padding-x: 1rem;
  --popover-header-padding-y: 0.5rem;
  --popover-header-font-size: 1rem;
  --popover-header-color: inherit;
  --popover-header-bg: var(--secondary-bg);
  --popover-body-padding-x: 1rem;
  --popover-body-padding-y: 1rem;
  --popover-body-color: var(--body-color);
  --popover-arrow-width: 1rem;
  --popover-arrow-height: 0.5rem;
  --popover-arrow-border: var(--popover-border-color);
  z-index: var(--popover-zindex);
  display: block;
  max-width: var(--popover-max-width);
  font-family: var(--neoteric-font-family-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  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(--popover-font-size);
  word-wrap: break-word;
  background-color: var(--popover-bg);
  background-clip: padding-box;
  border: var(--popover-border-width) solid var(--popover-border-color);
  border-radius: var(--popover-border-radius);
}
.popover .popover-arrow {
  display: block;
  width: var(--popover-arrow-width);
  height: var(--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(--popover-arrow-height)) - var(--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(--popover-arrow-height) calc(var(--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(--popover-arrow-border);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  bottom: var(--popover-border-width);
  border-top-color: var(--popover-bg);
}

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

/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
  top: calc(-1 * (var(--popover-arrow-height)) - var(--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(--popover-arrow-width) * 0.5) var(--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(--popover-arrow-border);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  top: var(--popover-border-width);
  border-bottom-color: var(--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(--popover-arrow-width);
  margin-left: calc(-0.5 * var(--popover-arrow-width));
  content: "";
  border-bottom: var(--popover-border-width) solid var(--popover-header-bg);
}

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

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

.popover-body {
  padding: var(--popover-body-padding-y) var(--popover-body-padding-x);
  color: var(--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, .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn),
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end,
.btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn) {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start,
.btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn) {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active, .carousel-fade .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield .form-check-input:checked + label .carousel-item.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-fade .carousel-item.form-check-label-text:not(.is-color-btn),
.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 .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield .form-check-input:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
.carousel-fade .active.carousel-item-end,
.carousel-fade .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield .form-check-input:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn) {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start, .carousel-fade .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield .form-check-input:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn), .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-fade .carousel-item-start.form-check-label-text:not(.is-color-btn),
  .carousel-fade .active.carousel-item-end,
  .carousel-fade .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .carousel-fade .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .carousel-fade .btn-vm-customfield .form-check-input:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=radio]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .carousel-fade .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .carousel-fade .btn-vm-customfield input[type=checkbox]:checked + label .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn),
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-fade .carousel-item-end.form-check-label-text:not(.is-color-btn) {
    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: hsl(0, 0%, 100%);
  text-align: center;
  background: none;
  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: hsl(0, 0%, 100%);
  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%;
}

/* rtl:options: {
  "autoRename": true,
  "stringMap":[ {
    "name"    : "prev-next",
    "search"  : "prev",
    "replace" : "next"
  } ]
} */
.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='hsl%280, 0%, 100%%29'%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 0z'/%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='hsl%280, 0%, 100%%29'%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-.708z'/%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-bs-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: hsl(0, 0%, 100%);
  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-bs-target] {
    transition: none;
  }
}
.carousel-indicators .active, .carousel-indicators .btn-vm-customfield .form-check-input:checked + .form-check-label .form-check-label-text:not(.is-color-btn), .carousel-indicators .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-indicators .btn-vm-customfield .form-check-input:checked + label .form-check-label-text:not(.is-color-btn), .carousel-indicators .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn), .carousel-indicators .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-indicators .btn-vm-customfield input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .carousel-indicators .btn-vm-customfield input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn),
.carousel-indicators .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn),
.carousel-indicators .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-indicators .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .carousel-indicators .btn-vm-customfield input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .carousel-indicators .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .carousel-indicators .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .carousel-indicators .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .carousel-indicators .form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .carousel-indicators .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .carousel-indicators .form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .carousel-indicators .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .carousel-indicators .form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .carousel-indicators .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .carousel-indicators .form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .carousel-indicators .form-check-label-text:not(.is-color-btn) {
  opacity: 1;
}

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

.carousel-dark .carousel-control-prev-icon,
.carousel-dark .carousel-control-next-icon {
  filter: invert(1) grayscale(100);
}
.carousel-dark .carousel-indicators [data-bs-target] {
  background-color: hsl(0, 0%, 0%);
}
.carousel-dark .carousel-caption {
  color: hsl(0, 0%, 0%);
}

[data-bs-theme=dark] .carousel .carousel-control-prev-icon,
[data-bs-theme=dark] .carousel .carousel-control-next-icon, [data-bs-theme=dark].carousel .carousel-control-prev-icon,
[data-bs-theme=dark].carousel .carousel-control-next-icon {
  filter: invert(1) grayscale(100);
}
[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] {
  background-color: hsl(0, 0%, 0%);
}
[data-bs-theme=dark] .carousel .carousel-caption, [data-bs-theme=dark].carousel .carousel-caption {
  color: hsl(0, 0%, 0%);
}

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

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

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

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

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

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

@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--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 {
    top: 0;
    left: 0;
    width: var(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
    visibility: visible;
  }
}
@media (min-width: 576px) {
  .offcanvas-sm {
    --offcanvas-height: auto;
    --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(--offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--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 {
    top: 0;
    left: 0;
    width: var(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
    visibility: visible;
  }
}
@media (min-width: 768px) {
  .offcanvas-md {
    --offcanvas-height: auto;
    --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(--offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--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 {
    top: 0;
    left: 0;
    width: var(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
    visibility: visible;
  }
}
@media (min-width: 992px) {
  .offcanvas-lg {
    --offcanvas-height: auto;
    --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(--offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--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 {
    top: 0;
    left: 0;
    width: var(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
    visibility: visible;
  }
}
@media (min-width: 1200px) {
  .offcanvas-xl {
    --offcanvas-height: auto;
    --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(--offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--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 {
    top: 0;
    left: 0;
    width: var(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
    visibility: visible;
  }
}
@media (min-width: 1400px) {
  .offcanvas-xxl {
    --offcanvas-height: auto;
    --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(--offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--offcanvas-color);
  visibility: hidden;
  background-color: var(--offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--offcanvas-width);
  border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--offcanvas-width);
  border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--offcanvas-height);
  max-height: 100%;
  border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--offcanvas-height);
  max-height: 100%;
  border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
  transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none;
}
.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: hsl(0, 0%, 0%);
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.5;
}

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

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

.offcanvas-body {
  flex-grow: 1;
  padding: var(--offcanvas-padding-y) var(--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, .btn-vm-customfield .placeholder.form-check-label-text::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, hsl(0, 0%, 0%) 55%, rgba(0, 0, 0, 0.8) 75%, hsl(0, 0%, 0%) 95%);
  mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}

@keyframes placeholder-wave {
  100% {
    mask-position: -200% 0%;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.text-bg-primary {
  color: hsl(0, 0%, 100%) !important;
  background-color: RGBA(var(--primary-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: hsl(0, 0%, 100%) !important;
  background-color: RGBA(var(--secondary-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-success {
  color: hsl(0, 0%, 100%) !important;
  background-color: RGBA(var(--success-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-info {
  color: hsl(0, 0%, 100%) !important;
  background-color: RGBA(var(--info-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: hsl(0, 0%, 100%) !important;
  background-color: RGBA(var(--warning-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: hsl(0, 0%, 100%) !important;
  background-color: RGBA(var(--danger-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-light {
  color: hsl(0, 0%, 0%) !important;
  background-color: RGBA(var(--light-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: hsl(0, 0%, 100%) !important;
  background-color: RGBA(var(--dark-rgb), var(--bg-opacity, 1)) !important;
}

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

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

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

.link-info {
  color: RGBA(var(--info-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--info-rgb), var(--link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(38, 79, 113, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(38, 79, 113, var(--link-underline-opacity, 1)) !important;
}

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

.link-danger {
  color: RGBA(var(--danger-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--danger-rgb), var(--link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(132, 25, 19, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(132, 25, 19, var(--link-underline-opacity, 1)) !important;
}

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

.link-dark {
  color: RGBA(var(--dark-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--dark-rgb), var(--link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(42, 47, 52, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(42, 47, 52, var(--link-underline-opacity, 1)) !important;
}

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

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

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

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

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

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

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

.ratio-21x9 {
  --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, .vm-img-desc, dt.article-info-term, .sr-only,
.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), .vm-img-desc:not(caption), dt.article-info-term:not(caption), .sr-only:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.border-opacity-100 {
  --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-right: 0 !important;
}

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

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

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

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

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

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

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

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

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

.mb-3, .form-group {
  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-left: 0 !important;
}

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

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

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

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

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

.ms-auto {
  margin-left: 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-right: 0 !important;
}

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

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

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

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

.pe-5 {
  padding-right: 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-left: 0 !important;
}

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

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

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

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

.ps-5 {
  padding-left: 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(--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: left !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bg-transparent {
  --bg-opacity: 1;
  background-color: transparent !important;
}

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

.bg-body-tertiary {
  --bg-opacity: 1;
  background-color: rgba(var(--tertiary-bg-rgb), var(--bg-opacity)) !important;
}

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

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

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

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

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

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

.bg-secondary-subtle {
  background-color: var(--secondary-bg-subtle) !important;
}

.bg-success-subtle {
  background-color: var(--success-bg-subtle) !important;
}

.bg-info-subtle {
  background-color: var(--info-bg-subtle) !important;
}

.bg-warning-subtle {
  background-color: var(--warning-bg-subtle) !important;
}

.bg-danger-subtle {
  background-color: var(--danger-bg-subtle) !important;
}

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

.bg-dark-subtle {
  background-color: var(--dark-bg-subtle) !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.rounded-end {
  border-top-right-radius: var(--border-radius) !important;
  border-bottom-right-radius: var(--border-radius) !important;
}

.rounded-end-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.rounded-end-1 {
  border-top-right-radius: var(--border-radius-sm) !important;
  border-bottom-right-radius: var(--border-radius-sm) !important;
}

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

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

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

.rounded-end-5 {
  border-top-right-radius: var(--border-radius-xxl) !important;
  border-bottom-right-radius: var(--border-radius-xxl) !important;
}

.rounded-end-circle {
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

.rounded-end-pill {
  border-top-right-radius: var(--border-radius-pill) !important;
  border-bottom-right-radius: var(--border-radius-pill) !important;
}

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

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

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

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

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

.rounded-start {
  border-bottom-left-radius: var(--border-radius) !important;
  border-top-left-radius: var(--border-radius) !important;
}

.rounded-start-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}

.rounded-start-1 {
  border-bottom-left-radius: var(--border-radius-sm) !important;
  border-top-left-radius: var(--border-radius-sm) !important;
}

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

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

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

.rounded-start-5 {
  border-bottom-left-radius: var(--border-radius-xxl) !important;
  border-top-left-radius: var(--border-radius-xxl) !important;
}

.rounded-start-circle {
  border-bottom-left-radius: 50% !important;
  border-top-left-radius: 50% !important;
}

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    object-fit: contain !important;
  }
  .object-fit-sm-cover {
    object-fit: cover !important;
  }
  .object-fit-sm-fill {
    object-fit: fill !important;
  }
  .object-fit-sm-scale {
    object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    object-fit: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 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-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 1rem !important;
  }
  .me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .me-sm-5 {
    margin-right: 3rem !important;
  }
  .me-sm-auto {
    margin-right: 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-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: 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-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 1rem !important;
  }
  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-right: 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-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 1rem !important;
  }
  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-left: 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: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
  .inset-sm-0 {
    inset: 0 !important;
  }
  .inset-sm-1 {
    inset: 0.25rem !important;
  }
  .inset-sm-2 {
    inset: 0.5rem !important;
  }
  .inset-sm-3 {
    inset: 1rem !important;
  }
  .inset-sm-4 {
    inset: 1.5rem !important;
  }
  .inset-sm-5 {
    inset: 3rem !important;
  }
  .inset-sm-auto {
    inset: auto !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    object-fit: contain !important;
  }
  .object-fit-md-cover {
    object-fit: cover !important;
  }
  .object-fit-md-fill {
    object-fit: fill !important;
  }
  .object-fit-md-scale {
    object-fit: scale-down !important;
  }
  .object-fit-md-none {
    object-fit: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 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-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 1rem !important;
  }
  .me-md-4 {
    margin-right: 1.5rem !important;
  }
  .me-md-5 {
    margin-right: 3rem !important;
  }
  .me-md-auto {
    margin-right: 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-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: 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-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 1rem !important;
  }
  .pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .pe-md-5 {
    padding-right: 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-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 1rem !important;
  }
  .ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .ps-md-5 {
    padding-left: 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: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
  .inset-md-0 {
    inset: 0 !important;
  }
  .inset-md-1 {
    inset: 0.25rem !important;
  }
  .inset-md-2 {
    inset: 0.5rem !important;
  }
  .inset-md-3 {
    inset: 1rem !important;
  }
  .inset-md-4 {
    inset: 1.5rem !important;
  }
  .inset-md-5 {
    inset: 3rem !important;
  }
  .inset-md-auto {
    inset: auto !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    object-fit: contain !important;
  }
  .object-fit-lg-cover {
    object-fit: cover !important;
  }
  .object-fit-lg-fill {
    object-fit: fill !important;
  }
  .object-fit-lg-scale {
    object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    object-fit: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 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-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 1rem !important;
  }
  .me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .me-lg-5 {
    margin-right: 3rem !important;
  }
  .me-lg-auto {
    margin-right: 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-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: 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-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 1rem !important;
  }
  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-right: 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-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 1rem !important;
  }
  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-left: 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: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
  .inset-lg-0 {
    inset: 0 !important;
  }
  .inset-lg-1 {
    inset: 0.25rem !important;
  }
  .inset-lg-2 {
    inset: 0.5rem !important;
  }
  .inset-lg-3 {
    inset: 1rem !important;
  }
  .inset-lg-4 {
    inset: 1.5rem !important;
  }
  .inset-lg-5 {
    inset: 3rem !important;
  }
  .inset-lg-auto {
    inset: auto !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    object-fit: contain !important;
  }
  .object-fit-xl-cover {
    object-fit: cover !important;
  }
  .object-fit-xl-fill {
    object-fit: fill !important;
  }
  .object-fit-xl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    object-fit: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 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-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 1rem !important;
  }
  .me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xl-5 {
    margin-right: 3rem !important;
  }
  .me-xl-auto {
    margin-right: 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-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: 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-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 1rem !important;
  }
  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-right: 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-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 1rem !important;
  }
  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-left: 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: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
  .inset-xl-0 {
    inset: 0 !important;
  }
  .inset-xl-1 {
    inset: 0.25rem !important;
  }
  .inset-xl-2 {
    inset: 0.5rem !important;
  }
  .inset-xl-3 {
    inset: 1rem !important;
  }
  .inset-xl-4 {
    inset: 1.5rem !important;
  }
  .inset-xl-5 {
    inset: 3rem !important;
  }
  .inset-xl-auto {
    inset: auto !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    object-fit: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 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-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 1rem !important;
  }
  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-right: 3rem !important;
  }
  .me-xxl-auto {
    margin-right: 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-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: 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-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-right: 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-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-left: 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: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
  .inset-xxl-0 {
    inset: 0 !important;
  }
  .inset-xxl-1 {
    inset: 0.25rem !important;
  }
  .inset-xxl-2 {
    inset: 0.5rem !important;
  }
  .inset-xxl-3 {
    inset: 1rem !important;
  }
  .inset-xxl-4 {
    inset: 1.5rem !important;
  }
  .inset-xxl-5 {
    inset: 3rem !important;
  }
  .inset-xxl-auto {
    inset: auto !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;
  }
}
.minicolors-theme-bootstrap .minicolors-swatch {
  width: 36px;
  height: 36px;
}
.minicolors-theme-bootstrap .minicolors-swatch > .minicolors-sprite {
  top: 50%;
  left: 8px;
  border-radius: 0;
  transform: translateY(-50%);
}

span.minicolors-swatch-color {
  cursor: pointer;
}

:root {
  scroll-behavior: smooth;
  font-size: 14px;
}
@media screen and (prefers-reduced-motion: reduce) {
  :root {
    scroll-behavior: auto;
  }
}

::-ms-reveal {
  display: none;
}

::selection {
  background-color: var(--template-primary-color);
  color: var(--template-primary-contrast-color);
}

html {
  background-color: hsl(0, 0%, 100%);
  scroll-behavior: smooth;
}

body {
  position: relative;
  min-height: 100vh;
  font-style: var(--neoteric-font-style-normal, normal);
}
body.tmpl-component {
  min-height: 0;
}

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

h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1 {
  font-family: var(--neoteric-font-family-headings, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  font-weight: var(--neoteric-font-weight-headings, 700);
  font-style: var(--neoteric-font-style-normal, );
  margin-bottom: 1rem;
}

p {
  margin-bottom: 2rem;
}

.display-1 {
  font-size: clamp(2.7rem, 8vw, 5.5rem);
}

.display-2 {
  font-size: clamp(2.3rem, 7vw, 4.5rem);
}

.display-3 {
  font-size: clamp(1.9rem, 6vw, 3.5rem);
}

.display-4 {
  font-size: clamp(1.5rem, 5vw, 2.5rem);
}

.lead {
  font-size: clamp(1.1rem, 3vw, 1.25rem);
}

.text-color-body {
  color: var(--body-color);
}

.text-color-primary {
  color: var(--template-primary-color);
}

.text-color-secondary {
  color: var(--secondary);
}

a {
  color: var(--template-link-color);
  text-decoration: none;
}
a:not(.btn) {
  transition: color 0.15s ease-in-out, opacity 0.15s ease-in-out, transform 0.15s ease-in-out;
}
a:not([class]):hover, a:not([class]):focus {
  color: var(--template-link-hover-color);
}
a.navbar-brand {
  color: var(--neoteric-color-brand);
}

.com-content-article ol,
.com-content-article ul {
  overflow: hidden;
}

.com-content-category__pagination {
  margin-bottom: 2em;
}

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

dd {
  padding: 0;
  word-wrap: break-word;
}

th dd {
  font-weight: var(--neoteric-font-weight-normal, 400);
}

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

@media (min-width: 1200px) {
  dl.dl-horizontal {
    display: grid;
    grid-template-columns: auto 1fr;
  }
  dl.dl-horizontal dt {
    grid-column-start: 1;
    grid-column-end: 2;
  }
  dl.dl-horizontal dd {
    grid-column-start: 2;
    grid-column-end: 3;
    padding: 0 0 0 2em;
    margin-bottom: 0;
  }
  .com-contact__container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(4, auto);
    grid-gap: 1rem;
    margin-bottom: 2em;
  }
  .com-contact__container h3, .com-contact__container .h3 {
    grid-column: 1/5;
  }
  .com-contact__container .com-contact__thumbnail {
    grid-column: 3/5;
    grid-row: 2/5;
    margin-bottom: 2em;
    text-align: right;
  }
  .com-contact__container .com-contact__position {
    grid-column: 1/3;
    grid-row: 2/3;
  }
  .com-contact__container .com-contact__info {
    grid-column: 1/3;
    grid-row: 3/4;
  }
  .com-users-profile dt {
    min-width: 180px;
  }
}
figure {
  margin: 0 0 2em;
}
figure.float-start {
  margin-right: 2em;
}
figure.float-end {
  margin-left: 2em;
}

figcaption {
  font-size: 0.9em;
  color: hsl(210, 7%, 46%);
}

.mod-menu {
  flex-direction: column;
}

meter {
  width: 100%;
}

.pagenavigation,
.pager {
  clear: both;
}
.pagenavigation .pagination,
.pager .pagination {
  justify-content: space-between;
  padding: 0;
  margin: 2em 0;
}
.pagenavigation .pagination .next:only-child,
.pager .pagination .next:only-child {
  margin-left: auto;
}

.page-link {
  color: var(--template-link-color);
}
.page-link:hover {
  color: var(--template-link-color);
}

.active > .page-link, .btn-vm-customfield .form-check-input:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .form-check-label-text:not(.is-color-btn) > .page-link, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .form-check-label-text:not(.is-color-btn) > .page-link, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link {
  color: var(--pagination-active-color);
}
.active > .page-link:hover, .btn-vm-customfield .form-check-input:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link:hover, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .form-check-label-text:not(.is-color-btn) > .page-link:hover, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .form-check-label-text:not(.is-color-btn) > .page-link:hover, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link:hover, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link:hover, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link:hover, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link:hover,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link:hover,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link:hover,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .form-check-label-text:not(.is-color-btn) > .page-link:hover,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .form-check-label-text:not(.is-color-btn) > .page-link:hover {
  color: var(--pagination-active-hover-color, var(--pagination-active-color));
}

.pager .pagination {
  justify-content: center;
}

[dir=rtl] li.next .page-link {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0.25rem;
}

[dir=rtl] li.previous .page-link {
  border-top-left-radius: 0;
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0;
}

.article-index .toclink.active, .article-index .btn-vm-customfield .form-check-input:checked + .form-check-label .toclink.form-check-label-text:not(.is-color-btn), .article-index .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .toclink.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .article-index .btn-vm-customfield .form-check-input:checked + label .toclink.form-check-label-text:not(.is-color-btn), .article-index .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .toclink.form-check-label-text:not(.is-color-btn), .article-index .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .toclink.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .article-index .btn-vm-customfield input[type=radio]:checked + .form-check-label .toclink.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .article-index .btn-vm-customfield input[type=radio]:checked + label .toclink.form-check-label-text:not(.is-color-btn),
.article-index .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .toclink.form-check-label-text:not(.is-color-btn),
.article-index .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .toclink.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .article-index .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .toclink.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .article-index .btn-vm-customfield input[type=checkbox]:checked + label .toclink.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .article-index .toclink.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .article-index .toclink.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .article-index .toclink.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .article-index .toclink.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .article-index .toclink.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .article-index .toclink.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .article-index .toclink.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .article-index .toclink.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .article-index .toclink.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .article-index .toclink.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .article-index .toclink.form-check-label-text:not(.is-color-btn) {
  color: currentColor;
}

.top-bar-content {
  background-color: var(--template-topbar-bg);
  color: var(--template-topbar-color);
  border-bottom-color: var(--template-topbar-border-color);
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.top-bar-content a.text-color-inherit,
.top-bar-content .mod-list a {
  color: var(--template-topbar-color);
  opacity: 1;
}
.top-bar-content a.text-color-inherit:hover, .top-bar-content a.text-color-inherit:focus, .top-bar-content a.text-color-inherit:active,
.top-bar-content .mod-list a:hover,
.top-bar-content .mod-list a:focus,
.top-bar-content .mod-list a:active {
  color: var(--template-topbar-color);
}
.top-bar-content a.text-color-inherit:hover,
.top-bar-content .mod-list a:hover {
  opacity: 0.9;
}
.top-bar-content .mod-inline {
  padding: 0.4rem 0;
}

@media (min-width: 768px) {
  .top-bar-content .top-right .mod-inline:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, 0.6);
    padding-right: 1rem;
  }
  .top-bar-content .top-left .mod-inline:not(:first-child) {
    border-left: 1px solid rgba(255, 255, 255, 0.6);
    padding-left: 1rem;
  }
}
.offcanvas-header {
  border-bottom: 1px solid var(--gray-300);
}

.block-offcanvas .offcanvas-header {
  background-color: var(--template-offcanvas-header-bg, #092143);
  color: var(--template-offcanvas-header-color, #fff);
  border-bottom: none;
  position: relative;
  box-shadow: rgba(0, 0, 0, 0.17) -3px 3px 9px 0px;
}
.block-offcanvas .offcanvas-body {
  padding: 0;
}

.header-content {
  background-color: var(--white, hsl(0, 0%, 100%));
}

.header-is-sticky .header-content {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.header-main {
  background-color: var(--template-header-bg, #092143);
  color: var(--template-header-color, #fff);
}
.header-main .container-inner {
  position: relative;
  padding: 1.2rem 0;
  transition: padding 0.2s ease;
}

.header-search-container .awesomplete {
  display: block;
  flex-grow: 1;
}
.header-search-container .awesomplete > input {
  max-width: none;
}

@media (max-width: 991.98px) {
  .header-search-container {
    position: absolute;
    left: auto;
    right: 0;
    top: 0;
    bottom: 0;
    width: 50%;
    background-color: var(--template-header-bg, #092143);
    color: var(--template-header-color, #fff);
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    z-index: 380;
    transition: opacity 0.1s linear, visibility 0.1s linear, width 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  .header-search-container .header-search-inner {
    height: 100%;
  }
  .header-search-open .header-search-container {
    visibility: visible;
    pointer-events: unset;
    opacity: 1;
    width: 100%;
  }
}
.link-inherit-color {
  color: currentColor;
}
.link-inherit-color:hover, .link-inherit-color:focus, .link-inherit-color:active {
  color: currentColor;
}

@media (min-width: 992px) {
  .header-main .container-inner {
    padding: 2rem 0;
  }
  .header-is-sticky .header-main .container-inner {
    padding: 1.2rem 0;
  }
}
select.vm-customfield-choice,
select.normal-choice,
.normal-choice-wrapper > select {
  display: none;
}

input[type=number].quantity-input {
  -moz-appearance: textfield;
  appearance: textfield;
}
input[type=number].quantity-input::-webkit-outer-spin-button, input[type=number].quantity-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.main-content-area {
  background-color: var(--template-main-content-area-bg, transparent);
}

.main-section {
  padding-top: 3rem;
}

.mega-menu-container {
  --megamenu-border-color: var(--template-megamenu-border-color, #ddd);
  --megamenu-bg: var(--template-megamenu-bg, #fff);
  border-top: 1px solid var(--megamenu-border-color);
  border-bottom: 1px solid var(--megamenu-border-color);
  background-color: var(--megamenu-bg);
}
.mega-menu-container .mod-vmcategory-dropdown + .mod-megamenu {
  padding-left: 0.9rem;
}

.breadcrumbs-section {
  background-color: var(--breadcrumb-section-bg);
  color: var(--breadcrumb-section-color);
  border-bottom: 1px solid var(--breadcrumb-section-border-color);
}
.breadcrumbs-section .mod-breadcrumbs {
  margin: 0;
  background-color: transparent;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.breadcrumbs-section a {
  text-decoration: none;
  color: var(--breadcrumb-section-link-color, inherit);
}
.breadcrumbs-section a:hover {
  text-decoration: none;
  color: var(--breadcrumb-section-link-hover-color, var(--template-link-color));
}
.breadcrumbs-section .mod-breadcrumbs__item + .breadcrumb-item:before {
  font-family: "VP-Prime", "Roboto", sans-serif !important;
  content: "\e923";
  color: var(--breadcrumb-section-separator-color);
}
.breadcrumbs-section .mod-breadcrumbs__item.active, .breadcrumbs-section .btn-vm-customfield .form-check-input:checked + .form-check-label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .breadcrumbs-section .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .breadcrumbs-section .btn-vm-customfield .form-check-input:checked + label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .breadcrumbs-section .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .breadcrumbs-section .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .breadcrumbs-section .btn-vm-customfield input[type=radio]:checked + .form-check-label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .breadcrumbs-section .btn-vm-customfield input[type=radio]:checked + label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.breadcrumbs-section .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.breadcrumbs-section .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .breadcrumbs-section .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .breadcrumbs-section .btn-vm-customfield input[type=checkbox]:checked + label .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .breadcrumbs-section .mod-breadcrumbs__item.form-check-label-text:not(.is-color-btn) {
  color: var(--breadcrumb-section-item-active-color, inherit);
}

@media (max-width: 575.98px) {
  .breadcrumbs-section .breadcrumbs-inner.d-flex .mod-position-breadcrumbs {
    flex-shrink: 1;
    overflow: hidden;
  }
  .breadcrumbs-section .mod-breadcrumbs__wrapper {
    overflow-x: auto;
  }
  .breadcrumbs-section .breadcrumb {
    flex-wrap: unset;
    white-space: nowrap;
  }
  .breadcrumbs-section .breadcrumb .breadcrumb-item:not(:first-child):not(:last-child) {
    overflow: hidden;
    text-overflow: ellipsis;
    visibility: hidden;
    width: 0;
    padding: 0;
  }
  .breadcrumbs-section .breadcrumb .mod-breadcrumbs__divider + .breadcrumb-item,
  .breadcrumbs-section .breadcrumb .mod-breadcrumbs__here + .breadcrumb-item {
    overflow: unset !important;
    text-overflow: unset !important;
    visibility: unset !important;
    width: unset !important;
    padding: unset !important;
  }
  .breadcrumbs-section .breadcrumb .breadcrumb-item:last-child:not(:first-child) {
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .breadcrumbs-section .breadcrumb .breadcrumb-item:last-child:not(:first-child):before {
    font-family: "VP-Prime", "Roboto", sans-serif !important;
    content: "\e923 ... \e923";
    color: var(--breadcrumb-section-separator-color);
  }
  .breadcrumbs-section .breadcrumb .mod-breadcrumbs__here + .breadcrumb-item:last-child:before {
    content: none;
  }
}
@media (max-width: 991.98px) {
  .breadcrumbs-section {
    border-top: 1px solid var(--breadcrumb-section-border-color);
  }
}
.separator-line {
  height: 1px;
  border-bottom: 1px solid var(--gray-200);
}

.separator-line-offcanvas {
  border-bottom-color: var(--gray-300);
}

.tmpl-component {
  padding: 2rem;
}
.tmpl-component.com-vmessentials.view-quickview {
  padding: 0;
}

.glightbox-clean.modal-link .gslide-external {
  border-radius: 0;
  position: relative;
}
.glightbox-clean.modal-link .iframe-loader {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(255, 255, 255, 0.6);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: all 0.3s ease-in;
  will-change: opacity;
}
.glightbox-clean.modal-link .iframe-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 25px;
  width: 25px;
  -webkit-animation: loaderSpin 0.8s infinite linear;
  animation: loaderSpin 0.8s infinite linear;
  border: 2px solid #333;
  border-right-color: transparent;
  border-radius: 50%;
}
.glightbox-clean.modal-link .iframe-loading .iframe-loader {
  opacity: 1;
  visibility: visible;
  pointer-events: initial;
}

@-webkit-keyframes loaderSpin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes loaderSpin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@media (min-width: 769px) {
  .glightbox-clean.modal-link .goverlay {
    background: #000 !important;
    opacity: 0.5 !important;
  }
}
.link-body, .product-name a,
.category-name a,
.manufacturer-name a {
  text-decoration: none;
  color: var(--body-color, inherit);
}
.link-body:hover, .product-name a:hover,
.category-name a:hover,
.manufacturer-name a:hover {
  text-decoration: none;
}
.link-body:hover, .product-name a:hover,
.category-name a:hover,
.manufacturer-name a:hover, .link-body:active, .product-name a:active,
.category-name a:active,
.manufacturer-name a:active, .link-body:focus, .product-name a:focus,
.category-name a:focus,
.manufacturer-name a:focus {
  color: var(--gray-600);
}

.link-body-invert, .social-share-list-item > .social-share-link {
  text-decoration: none;
  color: var(--gray-600);
}
.link-body-invert:hover, .social-share-list-item > .social-share-link:hover {
  text-decoration: none;
}
.link-body-invert:hover, .social-share-list-item > .social-share-link:hover, .link-body-invert:active, .social-share-list-item > .social-share-link:active, .link-body-invert:focus, .social-share-list-item > .social-share-link:focus {
  color: var(--body-color);
}

.tns-initial-container {
  display: none;
}
.tns-initial-container.tns-slider {
  display: block;
}

.page-header h1, .page-header .h1 {
  position: relative;
  padding-bottom: 0.8rem;
  margin-bottom: 2.5rem;
  text-transform: uppercase;
  font-size: 2rem;
}
.page-header h1:after, .page-header .h1:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  transform: translate(0, -100%);
  height: 3px;
  background-color: var(--template-primary-color);
  width: 3rem;
}
.page-header h2, .page-header .h2 {
  margin-bottom: 1rem;
}
.page-header.page-header-center h1:after, .page-header.page-header-center .h1:after {
  left: 50%;
  transform: translate(-50%, -100%);
  width: 4rem;
}
.page-header.page-header-no-decoration h1, .page-header.page-header-no-decoration .h1 {
  padding-bottom: 0;
}
.page-header.page-header-no-decoration h1:after, .page-header.page-header-no-decoration .h1:after {
  display: none;
}
.page-header a {
  color: inherit;
}
.page-header a:hover, .page-header a:focus, .page-header a:active {
  color: inherit;
}

.sub-heading {
  text-transform: uppercase;
  margin-bottom: 1.2rem;
  font-size: 1.5rem;
}

#system-message-container > * {
  margin-bottom: 2rem;
}

@media (min-width: 768px) {
  .page-container-box,
  .com-users-registration,
  .com-users-login,
  .com-users-remind,
  .com-users-reset {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
    border: 1px solid var(--gray-200);
    padding: 1.5rem 2rem;
  }
}
.mod-login__options .icon-register {
  display: none;
}

.red,
.star,
.asterisk {
  color: #ff4c0e;
}

.offcanvas-registration i,
.offcanvas-logout i {
  color: var(--gray-200);
  font-size: 6rem;
  margin-bottom: 1.5rem;
}

.btn-remove {
  display: inline-block;
  --webkit-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
  padding: 0.1rem 0.3rem;
  font-weight: normal;
  text-align: center;
  opacity: 0.6;
  font-size: 1.5rem;
  line-height: 1;
  transition: opacity 0.15s ease-in;
}
.btn-remove:hover {
  opacity: 1;
}

.jewel-group {
  display: inline-block;
  position: relative;
}

.jewel {
  position: absolute;
  top: -0.4rem;
  right: -0.8rem;
  background-color: var(--template-primary-color);
  color: var(--white);
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  font-size: 0.7rem;
  line-height: 1.1rem;
  text-align: center;
}

@media (max-width: 991.98px) {
  .footer-toolbar {
    background-color: var(--gray-100);
    border-top: 1px solid var(--gray-200);
    z-index: 500;
    color: var(--body-color);
    height: fit-content;
  }
  .footer-toolbar > * {
    margin: 0.4rem 0;
  }
  .is-ios .footer-toolbar {
    padding-bottom: env(safe-area-inset-bottom);
  }
}
@media (min-width: 992px) {
  .header-right-lg.fixed-bottom {
    position: static !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
    gap: 1rem;
    z-index: inherit;
  }
  .header-right-lg.fixed-bottom > :last-child .btn-icon {
    padding-right: 0;
  }
  .header-right-lg.fixed-bottom .jewel-group .vpi-lg {
    font-size: 2rem;
  }
}
.mod-inline {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: start;
  gap: 0.8rem;
}

.mod-inline-title {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
  line-height: inherit;
}

.top-bar .dropdown-toggle::after {
  border: none;
  margin: 0;
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  content: "\f078";
  margin: 0;
  vertical-align: middle;
  font-size: 0.8rem;
  color: inherit;
}
.top-bar .dropdown-menu,
.top-bar ul.lang-block.dropdown-menu {
  --dropdown-border-radius: 0;
}
.top-bar .dropdown-menu > li,
.top-bar ul.lang-block.dropdown-menu > li {
  padding-top: 0;
  padding-bottom: 0;
}

.mod-badge {
  --mod-badge-bg: #ff0000;
  --mod-badge-color: #ffffff display: inline-block;
  padding: 0.5rem 0.7rem;
  background-color: var(--mod-badge-bg);
  color: var(--mod-badge-color);
  text-align: center;
  line-height: 1;
  font-size: 0.9rem;
}

.main-top-vertical-section,
.main-top-horizontal-section,
.main-bottom-vertical-section,
.main-bottom-horizontal-section {
  margin: 4rem 0 1rem;
}

.content-top-vertical-section,
.content-top-horizontal-section,
.content-bottom-vertical-section,
.content-bottom-horizontal-section {
  margin: 3rem 0 0;
}

.header-group,
.mod-header-group {
  margin-bottom: 2.5rem;
}
.header-group:after,
.mod-header-group:after {
  content: "";
  display: table;
  clear: both;
}

.mod-header {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: start;
  gap: 0.6rem;
  margin-bottom: 1rem;
}
.mod-header .mod-title {
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  font-size: 2rem;
}

.mod-header-group > .mod-header:last-child {
  margin-bottom: 0;
}

.mod-subtitle {
  color: var(--gray-600);
  margin-bottom: 1rem;
  font-size: 1.2rem;
  line-height: 1.2;
}

.vertical-module-section .mod-header-group {
  text-align: center;
}

aside .mod-header-group,
.bottom-section .mod-header-group {
  margin-bottom: 1.5rem;
}
aside .mod-header,
.bottom-section .mod-header {
  margin-bottom: 1rem;
}
aside .mod-header .mod-title,
.bottom-section .mod-header .mod-title {
  font-size: 1.2rem;
}
aside .mod-subtitle,
.bottom-section .mod-subtitle {
  font-size: 1rem;
}

.utility-wide-section {
  background-color: var(--template-utility-wide-section-bg, transparent);
  border-top: 1px solid var(--template-utility-wide-section-border-top-color, transparent);
  border-bottom: 1px solid var(--template-utility-wide-section-border-bottom-color, transparent);
}

.utility-vertical-section {
  background-color: var(--template-utility-vertical-section-bg, transparent);
  border-top: 1px solid var(--template-utility-vertical-section-border-top-color, transparent);
  border-bottom: 1px solid var(--template-utility-vertical-section-border-bottom-color, transparent);
}

.utility-horizontal-section {
  background-color: var(--template-utility-horizontal-section-bg, transparent);
  border-top: 1px solid var(--template-utility-horizontal-section-border-top-color, transparent);
  border-bottom: 1px solid var(--template-utility-horizontal-section-border-bottom-color, transparent);
}
.utility-horizontal-section .container-inner {
  padding: 5rem 0;
}
.utility-horizontal-section .mod-title {
  font-size: 1.5rem;
}

.bottom-slider-section {
  background-color: var(--template-bottom-slider-section-bg, transparent);
  border-top: 1px solid var(--template-bottom-slider-section-border-top-color, transparent);
  border-bottom: 1px solid var(--template-bottom-slider-section-border-bottom-color, transparent);
  padding: 1rem 0;
}

.bottom-section {
  color: var(--template-bottom-section-color);
  background-color: var(--template-bottom-section-bg, transparent);
  border-top: 1px solid var(--template-bottom-section-border-top-color, transparent);
  border-bottom: 1px solid var(--template-bottom-section-border-bottom-color, transparent);
}
.bottom-section .container-inner {
  padding: 3.5rem 0 0.5rem;
}
.bottom-section .mod-header {
  margin-bottom: 1.5rem;
}
.bottom-section .mod-title {
  color: var(--template-bottom-section-title-color);
}
.bottom-section a {
  color: var(--template-bottom-section-link-color);
}
.bottom-section a:active {
  color: var(--template-bottom-section-link-color);
}
.bottom-section a:hover, .bottom-section a:focus {
  text-decoration: none;
  color: var(--template-bottom-section-link-hover-color);
}

.mod-block-header .mod-title {
  flex-grow: 1;
}

div.mod-languages ul.lang-block > li {
  padding: 0.25rem 0 !important;
}

.top-bar-content .top-left .mod-inline:first-child .dropdown-toggle {
  padding-left: 0;
}

dl.article-info {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0 1rem;
}

@media (max-width: 991.98px) {
  body {
    padding-bottom: 3rem;
  }
}
.mod-megamenu {
  flex-grow: 1;
}

.utility-wide-section .mod-custom,
.utility-vertical-section .mod-custom,
.utility-horizontal-section .mod-custom {
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.utility-wide-section .mod-custom {
  background-size: cover;
  background-attachment: fixed;
}

.banner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5rem;
}

.banner-body {
  display: inline-block;
}

.banner-contents {
  position: relative;
  display: inline-block;
  padding: 4rem 5rem;
  background-color: var(--template-banner-bg, rgba(255, 255, 255, 0.9));
  color: var(--template-banner-color, var(--body-color));
  text-align: center;
  border-radius: 0.3rem;
}

.banner-title {
  font-size: 2.5rem;
  line-height: 1.3;
  margin-bottom: 2rem;
  text-transform: uppercase;
}

.banner-subtitle {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--template-primary-color);
}

.zoom-on-hover {
  transition: transform 1s cubic-bezier(0, 0, 0.44, 1.18);
}
.zoom-on-hover:hover {
  transform: scale(1.09);
}

.promo-banner {
  position: relative;
  background-color: var(--promo-banner-bg);
  aspect-ratio: var(--promo-banner-aspect-ratio);
  overflow: hidden;
  margin-bottom: 3rem;
}

.promo-banner-body {
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  align-items: center;
  justify-content: start;
}

.promo-banner-image {
  width: 100%;
  height: auto;
  transition: transform 1s cubic-bezier(0, 0, 0.44, 1.18);
}

.promo-banner-content {
  padding: 3rem;
}

.promo-banner-subtitle {
  color: var(--template-primary-color);
  font-weight: 600;
  margin-bottom: 0.8rem;
  font-size: 1.2rem;
}

.promo-banner-title {
  font-size: 1.6rem;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.promo-banner-text {
  color: var(--secondary);
  margin-bottom: 1.4rem;
}

.promo-banner:hover .promo-banner-image {
  transform: scale(1.09);
}

.plg_system_webauthn_login_button svg {
  width: 20px;
  margin: 3px;
}

@media (max-width: 991.98px) {
  .promo-banner-title {
    font-size: 4vw;
  }
  .promo-banner-subtitle {
    font-size: 2.5vw;
  }
}
.j-main-container .alert {
  margin: 0.75rem;
}

.alert-heading {
  font-size: 1.5rem;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/**
* Back to Top
*/
.back-to-top-link {
  position: fixed;
  right: 1.2rem;
  bottom: 4.2rem;
  z-index: 350;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: var(--white, hsl(0, 0%, 100%));
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.17);
  color: var(--gray-800);
  font-size: 1rem;
  opacity: 0;
  text-decoration: none;
  pointer-events: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateX(100%);
  transition: all 0.25s ease;
}
.back-to-top-link.visible {
  opacity: 0.9;
  transform: none;
  pointer-events: visible;
}
.back-to-top-link:hover, .back-to-top-link:focus {
  color: var(--gray-800);
  background-color: var(--white, hsl(0, 0%, 100%));
}
.back-to-top-link:hover {
  opacity: 1;
}

@media (min-width: 992px) {
  .back-to-top-link {
    width: 4.2rem;
    height: 4.2rem;
    bottom: 1.2rem;
    font-size: 1.2rem;
  }
}
.container-banner img {
  display: block;
  margin: auto;
}
.container-banner .banner-overlay {
  height: 70vh;
  color: hsl(0, 0%, 100%);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: top, center;
  background-size: cover;
}
.container-banner .banner-overlay .overlay {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 2em;
  text-align: center;
  background-color: hsla(0, 0%, 0%, 0.5);
}
.container-banner .banner-overlay .overlay .text-thin {
  font-weight: lighter;
}
.container-banner .banner-overlay .overlay .text-thin::after {
  display: block;
  width: 30%;
  height: 4px;
  margin: 1rem auto 2rem;
  content: "";
  background: hsl(0, 0%, 100%);
}
.container-banner .banner-overlay .overlay .text-thin .lead {
  font-size: 150vh;
}
@media screen and (max-height: 740px) {
  .container-banner .banner-overlay {
    height: 100vh;
  }
}

.footer-area {
  color: var(--template-footer-area-color);
  background-color: var(--template-footer-area-bg, transparent);
  border-top: 1px solid var(--template-footer-area-border-top-color, transparent);
}
.footer-area .container-inner {
  padding: 1.7rem 0;
}
.footer-area a {
  color: var(--template-footer-area-link-color);
}
.footer-area a:hover {
  color: var(--template-footer-area-link-hover-color);
}

.form-control, .cf-form-search .input-append input[type=search]:not(.form-control),
.cf-form-search .input-append input[type=text]:not(.form-control), .old-form input[type=text],
.old-form input[type=password],
.old-form input[type=email],
.old-form textarea {
  max-width: 100%;
  background-color: hsl(0, 0%, 100%);
}
.form-control.input-xlarge, .cf-form-search .input-append input.input-xlarge[type=search]:not(.form-control),
.cf-form-search .input-append input.input-xlarge[type=text]:not(.form-control), .old-form input.input-xlarge[type=text],
.old-form input.input-xlarge[type=password],
.old-form input.input-xlarge[type=email],
.old-form textarea.input-xlarge {
  max-width: 21.875rem;
}
.form-control.input-xxlarge, .cf-form-search .input-append input.input-xxlarge[type=search]:not(.form-control),
.cf-form-search .input-append input.input-xxlarge[type=text]:not(.form-control), .old-form input.input-xxlarge[type=text],
.old-form input.input-xxlarge[type=password],
.old-form input.input-xxlarge[type=email],
.old-form textarea.input-xxlarge {
  max-width: 34.375rem;
}
.form-control.input-full, .cf-form-search .input-append input.input-full[type=search]:not(.form-control),
.cf-form-search .input-append input.input-full[type=text]:not(.form-control), .old-form input.input-full[type=text],
.old-form input.input-full[type=password],
.old-form input.input-full[type=email],
.old-form textarea.input-full {
  max-width: 100%;
}
.form-control:focus, .cf-form-search .input-append input[type=search]:focus:not(.form-control),
.cf-form-search .input-append input[type=text]:focus:not(.form-control), .old-form input[type=text]:focus,
.old-form input[type=password]:focus,
.old-form input[type=email]:focus,
.old-form textarea:focus {
  color: var(--body-color);
  background-color: var(--body-bg);
  border-color: var(--template-input-focus-border-color, hsl(210, 14%, 83%));
  box-shadow: none;
}

.form-check-input:checked, .form-check-vm.form-check input[type=radio]:checked,
.form-check-vm.form-check input[type=checkbox]:checked {
  background-color: var(--template-primary-color);
  border-color: var(--template-primary-color);
}
.form-check-input:focus, .form-check-vm.form-check input[type=radio]:focus,
.form-check-vm.form-check input[type=checkbox]:focus {
  box-shadow: none;
}

.spacer hr {
  width: 23.75rem;
}

.form-select, .custom-select, .old-form select {
  max-width: 100%;
}

.form-inline .form-select, .form-inline .custom-select, .form-inline .old-form select, .old-form .form-inline select {
  display: inline-block;
  width: auto;
}

@media (max-width: 991.98px) {
  .form-inline .form-select, .form-inline .custom-select, .form-inline .old-form select, .old-form .form-inline select {
    width: 100%;
  }
}
td .form-control, td .cf-form-search .input-append input[type=search]:not(.form-control), .cf-form-search .input-append td input[type=search]:not(.form-control),
td .cf-form-search .input-append input[type=text]:not(.form-control),
.cf-form-search .input-append td input[type=text]:not(.form-control), td .old-form input[type=text], .old-form td input[type=text],
td .old-form input[type=password],
.old-form td input[type=password],
td .old-form input[type=email],
.old-form td input[type=email],
td .old-form textarea,
.old-form td textarea {
  display: inline-block;
  width: auto;
}

.checkboxes {
  padding-top: 5px;
}
.checkboxes .checkbox input {
  position: static;
  margin-left: 0;
}

.modal label {
  width: 100%;
}

.invalid, .old-form select.invalid, .old-form input[type=text].invalid,
.old-form input[type=password].invalid,
.old-form input[type=email].invalid,
.old-form textarea.invalid, .has-danger .chosen-container.chosen-container-single .chosen-single {
  color: hsl(3, 75%, 37%);
  border-color: hsl(3, 75%, 37%);
}

.valid, .old-form select.valid, .old-form input[type=text].valid,
.old-form input[type=password].valid,
.old-form input[type=email].valid,
.old-form textarea.valid {
  border-color: hsl(120, 32%, 39%);
}

.form-control-feedback {
  display: block;
}

[role=tooltip]:not(.show) {
  right: 5em;
  z-index: 1070;
  display: none;
  max-width: 100%;
  padding: 0.5em;
  margin: 0.5em;
  color: hsl(0, 0%, 0%);
  text-align: start;
  background: hsl(0, 0%, 100%);
  border: 1px solid hsl(210, 7%, 46%);
  border-radius: 0.25rem;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.8);
}
[role=tooltip]:not(.show)[id^=editarticle-] {
  right: auto;
  margin-inline-start: -10em;
}
[role=tooltip]:not(.show)[id^=editcontact-] {
  right: auto;
  margin-inline-start: -10em;
}
[role=tooltip]:not(.show)[id^=id-skip-] {
  right: auto;
}
[role=tooltip]:not(.show)[id^=cbunpublish] {
  right: auto;
}

:focus + [role=tooltip],
:hover + [role=tooltip] {
  position: absolute;
  display: block;
}

.filter-search-bar__description {
  bottom: 100%;
}

fieldset {
  margin-bottom: 1em;
}
fieldset + fieldset {
  margin-top: 1em;
}
fieldset > * {
  margin-bottom: 0;
}
fieldset legend {
  margin-bottom: 1rem;
  font-size: 1.2rem;
}

.control-group {
  margin-bottom: 1.6em;
}

.container-popup .filter-search-bar__description {
  top: 100%;
  bottom: auto;
}

.com-users-login__options {
  margin-top: 1.6em;
}

.com-users-profile__edit #jform_privacyconsent_privacy .radio,
.com-users-profile__edit #jform_profile_tos .radio,
.com-users-profile__edit #jform_terms_terms .radio,
.com-users-registration #jform_privacyconsent_privacy .radio,
.com-users-registration #jform_profile_tos .radio,
.com-users-registration #jform_terms_terms .radio {
  display: inline-flex;
  gap: 1rem;
}

.old-form select {
  width: 100% !important;
}
.com-users-login__remember {
  margin-bottom: 1.6rem;
}

.com-users-registration__submit .btn, .com-users-registration__submit .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .com-users-registration__submit .form-check-label-text,
.com-users-login__submit .btn,
.com-users-login__submit .btn-vm-customfield .form-check-label-text,
.btn-vm-customfield .com-users-login__submit .form-check-label-text,
.com-users-reset__submit .btn,
.com-users-reset__submit .btn-vm-customfield .form-check-label-text,
.btn-vm-customfield .com-users-reset__submit .form-check-label-text,
.com-users-remind__submit .btn,
.com-users-remind__submit .btn-vm-customfield .form-check-label-text,
.btn-vm-customfield .com-users-remind__submit .form-check-label-text {
  display: block;
  width: 100%;
}

.btn.jmodedit, .btn-vm-customfield .jmodedit.form-check-label-text {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  z-index: 900;
  color: var(--neoteric-color-link);
  background-color: rgba(255, 255, 255, 0.5);
  border: 1px solid #58595a;
  border-radius: 0.25rem;
}

.container-header {
  position: relative;
  z-index: 10;
  background-color: var(--neoteric-color-primary);
  background-image: linear-gradient(135deg, var(--neoteric-color-primary) 0%, var(--template-link-hover-color) 100%);
  box-shadow: 0 5px 5px hsla(0, 0%, 0%, 0.03) inset;
}
@media (max-width: 991.98px) {
  .container-header {
    position: relative !important;
  }
}
.container-header .grid-child {
  padding: 1em;
}
.container-header nav {
  padding: 0;
  margin-top: 1em;
}
.container-header .site-description {
  font-size: 1rem;
  color: hsl(0, 0%, 100%);
  white-space: normal;
}
.container-header .navbar-brand {
  position: relative;
  display: inline-block;
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  font-size: 2rem;
  color: hsl(0, 0%, 100%);
  margin-inline-end: auto;
}
.container-header .navbar-brand a {
  color: hsl(0, 0%, 100%);
}
.container-header .navbar-brand:hover, .container-header .navbar-brand:focus {
  color: #f0f0f0;
}
.container-header .container-nav {
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 2em;
}
@media (max-width: 767.98px) {
  .container-header .container-nav .container-search,
  .container-header .container-nav nav {
    margin-top: 2em;
  }
}
.container-header .container-nav .container-search:only-child {
  margin-left: auto;
}
.container-header .navbar-collapse.show {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.container-header .mod-menu {
  flex: 1 0 100%;
  padding: 0;
  margin: 0;
  color: hsl(0, 0%, 100%);
  list-style: none;
}
@media (min-width: 992px) {
  .container-header .mod-menu {
    display: flex;
    flex: 1 1 0%;
    flex-direction: row;
  }
}
.container-header .mod-menu > li {
  position: relative;
}
@media (min-width: 992px) {
  .container-header .mod-menu > li + li {
    margin-left: 1.55em;
  }
}
.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span {
  position: relative;
  color: currentColor;
  text-decoration: none;
}
@media (min-width: 992px) {
  .container-header .mod-menu > li::after {
    position: absolute;
    right: 50%;
    bottom: 0;
    left: 50%;
    display: block;
    height: 2px;
    margin: auto;
    content: "";
    background: transparent;
    opacity: 0.2;
    transition: all 0.2s ease, background-color 0.2s ease;
  }
}
.container-header .mod-menu > li.active::after, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn)::after, .container-header .mod-menu > li:hover::after {
  right: 2px;
  left: 0;
  background: hsl(0, 0%, 100%);
}
@media (max-width: 991.98px) {
  .container-header .mod-menu > li.active > a, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > a, .container-header .mod-menu > li.active > span, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .mod-menu > li.form-check-label-text:not(.is-color-btn) > span,
  .container-header .mod-menu > li > a:hover {
    text-decoration: underline;
  }
}
.container-header .mod-menu .parent > ul {
  display: none;
  color: hsl(210, 11%, 15%);
}
.container-header .metismenu > li + li {
  margin-left: 0;
}
@media (min-width: 992px) {
  .container-header .metismenu > li > a::after,
  .container-header .metismenu > li > button::before {
    position: absolute;
    right: 50%;
    bottom: 0;
    left: 50%;
    display: block;
    height: 2px;
    margin: auto;
    content: "";
    background: transparent;
    opacity: 0.2;
    transition: all 0.2s ease, background-color 0.2s ease;
  }
}
.container-header .metismenu > li > a:hover::after,
.container-header .metismenu > li > button:hover::before, .container-header .metismenu > li.active > a::after, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > a::after, .container-header .metismenu > li.active > button::before, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button::before {
  right: 0;
  left: 0;
  background: hsl(0, 0%, 100%);
}
.container-header .metismenu > li > button.mm-toggler-link:hover::before, .container-header .metismenu > li.active > button.mm-toggler-link::before, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .metismenu > li.form-check-label-text:not(.is-color-btn) > button.mm-toggler-link::before {
  right: 0;
  left: 0.5em;
}
@media (min-width: 992px) {
  .container-header .metismenu > li.level-1.active > a, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > a, .container-header .metismenu > li.level-1.active > button, .container-header .btn-vm-customfield .form-check-input:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .container-header .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .form-check-vm.form-check .container-header .btn-vm-customfield .form-check-input:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .container-header .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .form-check-vm.form-check .container-header .btn-vm-customfield input[type=radio]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .container-header .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .form-check-vm.form-check .container-header .btn-vm-customfield input[type=checkbox]:checked + label .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .metismenu > li.level-1.form-check-label-text:not(.is-color-btn) > button,
  .container-header .metismenu > li.level-1 > a:hover,
  .container-header .metismenu > li.level-1 > button:hover {
    text-decoration: none;
  }
}
.container-header .metismenu > li.level-1 > ul {
  min-width: 12rem;
}
.container-header .navbar-toggler {
  color: hsl(0, 0%, 100%);
  cursor: pointer;
  border: 1px solid hsl(0, 0%, 100%);
}
.container-header .navbar-toggler .fas {
  font-size: 1.5rem;
}
.container-header .container-search {
  margin-top: 1em;
}
.container-header .mod-finder {
  color: hsl(0, 0%, 100%);
}
.container-header .mod-finder a {
  color: hsl(0, 0%, 100%);
}
.container-header .mod-finder a:hover, .container-header .mod-finder a:focus {
  color: #e6e6e6;
}
.container-header .mod-finder .awesomplete {
  color: var(--body-color);
}
.container-header .mod-finder .awesomplete > ul {
  background: linear-gradient(to bottom right, hsl(0, 0%, 100%), hsla(0, 0%, 100%, 0.9));
}

.icon-white {
  color: hsl(0, 0%, 100%);
}

.input-group-text::before {
  min-width: 16px;
}

.tbody-icon {
  padding: 0 3px;
  text-align: center;
  background-color: transparent;
  border: 0;
}
.tbody-icon [class^=icon-],
.tbody-icon [class*=" icon-"],
.tbody-icon [class^=fa-],
.tbody-icon [class*=" fa-"] {
  width: 26px;
  height: 26px;
  font-size: 1.1rem;
  line-height: 22px;
  color: hsl(210, 14%, 83%);
  border: 2px solid var(--border);
  border-radius: 50%;
}
.tbody-icon .icon-publish,
.tbody-icon .icon-check,
.tbody-icon .fa-check {
  color: hsl(120, 32%, 39%);
  border-color: hsl(120, 32%, 39%);
}
.tbody-icon .icon-checkedout,
.tbody-icon .icon-lock,
.tbody-icon .fa-lock {
  width: auto;
  height: auto;
  font-size: 1.2rem;
  line-height: 1rem;
  color: hsl(210, 9%, 31%);
  border: 0;
}
.tbody-icon.home-disabled, .tbody-icon.featured-disabled, .tbody-icon.color-featured-disabled, .tbody-icon.icon-star-disabled, .tbody-icon.fa-star-disabled {
  cursor: not-allowed;
  opacity: 1;
}

.tbody-icon .icon-delete,
.tbody-icon .fa-delete,
.tbody-icon .icon-times,
.tbody-icon .fa-times {
  color: hsl(3, 75%, 37%);
  border-color: hsl(3, 75%, 37%);
}

.plg_system_webauthn_login_button svg {
  margin-inline-end: 2px;
}

.plg_system_webauthn_login_button svg path {
  fill: var(--black);
}

iframe {
  border: 0;
}

.modal iframe {
  width: 100%;
}

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

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

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

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

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

.object-fit-unset {
  object-fit: unset;
}

.object-position-left-top {
  object-position: left top;
}

.object-position-right-top {
  object-position: right top;
}

.object-position-right-bottom {
  object-position: right bottom;
}

.object-position-left-bottom {
  object-position: left bottom;
}

.object-position-left-center {
  object-position: left center;
}

.object-position-right-center {
  object-position: right center;
}

.object-position-center-top {
  object-position: center top;
}

.object-position-center-bottom {
  object-position: center-bottom;
}

.object-position-center {
  object-position: center center;
}

.object-position-unset {
  object-position: unset;
}

.object-position-custom {
  --object-position: 0 0;
  object-position: var(--object-position);
}

.grid-child {
  display: flex;
  width: 100%;
  max-width: 1320px;
  margin-right: auto;
  margin-left: auto;
}

.mod-custom {
  position: relative;
}

.container-topbar,
.container-below-top {
  color: hsl(0, 0%, 100%);
}
.container-topbar a,
.container-below-top a {
  color: currentColor;
}

.container-banner {
  display: block;
  margin: 0 0 2rem;
}

.container-top-a,
.container-top-b,
.container-bottom-a,
.container-bottom-b {
  position: relative;
}
.container-top-a > *,
.container-top-b > *,
.container-bottom-a > *,
.container-bottom-b > * {
  flex: 1;
  margin: 1em 0;
}
@media (max-width: 991.98px) {
  .container-top-a,
  .container-top-b,
  .container-bottom-a,
  .container-bottom-b {
    flex-direction: column;
  }
  .container-top-a > *,
  .container-top-b > *,
  .container-bottom-a > *,
  .container-bottom-b > * {
    flex: 0 1 auto;
  }
}

.container-component nav {
  position: relative;
}

.container-component,
.container-sidebar-left,
.container-sidebar-right {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.container-component > *,
.container-sidebar-left > *,
.container-sidebar-right > * {
  margin-bottom: 0;
}
.container-component > *:first-child,
.container-sidebar-left > *:first-child,
.container-sidebar-right > *:first-child {
  margin-top: 2em;
}
.container-component > * + *,
.container-sidebar-left > * + *,
.container-sidebar-right > * + * {
  margin-top: 2em;
}

.container-sidebar-left,
.container-sidebar-right {
  flex: 0 0 auto;
  width: calc(100% - 2em);
  order: 1;
}
@media (min-width: 768px) {
  .container-sidebar-left,
  .container-sidebar-right {
    width: calc(25% - 2em);
    order: 0;
  }
}

.container-sidebar-left .sidebar-left:first-child {
  margin-top: 2em;
}
.container-sidebar-left .sidebar-left:last-child {
  margin-bottom: 2em;
}

.container-sidebar-right .sidebar-right:first-child {
  margin-top: 2em;
}
.container-sidebar-right .sidebar-right:last-child {
  margin-bottom: 2em;
}

.system-debug {
  display: block;
}

.options-form {
  width: 100%;
  padding: 1vw 2vw;
  margin-bottom: 1rem;
  color: #495057;
  background-color: hsl(0, 0%, 100%);
  border: 1px solid #b2bfcd;
}
.options-form > legend {
  float: none;
  width: auto;
  padding: 0 0.5rem;
  font-weight: 700;
  color: #495057;
  background-color: hsl(0, 0%, 100%);
}

.modal .btn, .modal .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .modal .form-check-label-text {
  margin-right: 0.5rem;
}
.modal .btn-primary:not([href]),
.modal .btn-success:not([href]) {
  color: hsl(0, 0%, 100%);
}
.modal .btn-primary:not([href]):hover,
.modal .btn-success:not([href]):hover {
  color: hsl(0, 0%, 100%);
}

.modal-header {
  padding: 0 15px;
}

.modal-title {
  font-weight: var(--neoteric-font-weight-normal, 400);
  line-height: 3rem;
}

.contentpane {
  padding: 15px;
}
.contentpane .main-card {
  margin: -10px;
  box-shadow: none;
}

.error-site-html {
  height: 100%;
}

.error-site.debugging-disabled {
  position: relative;
  background-color: #00b4ff;
  color: #003470;
  height: 100%;
}
.error-site .error-site-outer {
  position: relative;
  display: flex;
  height: 100%;
  width: 100%;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.error-site .error-site-container {
  text-align: center;
}
.error-site .error-code {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  font-size: 12rem;
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: 1.5rem;
}
.error-site .error-icon {
  margin-right: 1rem;
}
.error-site .error-icon svg {
  vertical-align: baseline;
  transform: rotate(90deg);
}
.error-site .error-message {
  font-size: 3rem;
  margin-bottom: 1.8rem;
}
.error-site .error-info {
  font-size: 2rem;
  margin-bottom: 3rem;
}
.error-site .page-header {
  margin-top: 2em;
}

.error-background {
  position: fixed;
  bottom: 0;
  left: 0;
  padding-top: 50px;
  right: 0;
  top: 0;
  z-index: 1;
  /* OBJECTS */
}
.error-background .x1 {
  -webkit-animation: animateCloud 35s linear infinite;
  -moz-animation: animateCloud 35s linear infinite;
  animation: animateCloud 35s linear infinite;
  -webkit-transform: scale(0.65);
  -moz-transform: scale(0.65);
  transform: scale(0.65);
}
.error-background .x2 {
  -webkit-animation: animateCloud 20s linear infinite;
  -moz-animation: animateCloud 20s linear infinite;
  animation: animateCloud 20s linear infinite;
  -webkit-transform: scale(0.3);
  -moz-transform: scale(0.3);
  transform: scale(0.3);
}
.error-background .x3 {
  -webkit-animation: animateCloud 30s linear infinite;
  -moz-animation: animateCloud 30s linear infinite;
  animation: animateCloud 30s linear infinite;
  -webkit-transform: scale(0.5);
  -moz-transform: scale(0.5);
  transform: scale(0.5);
}
.error-background .x4 {
  -webkit-animation: animateCloud 18s linear infinite;
  -moz-animation: animateCloud 18s linear infinite;
  animation: animateCloud 18s linear infinite;
  -webkit-transform: scale(0.4);
  -moz-transform: scale(0.4);
  transform: scale(0.4);
}
.error-background .x5 {
  -webkit-animation: animateCloud 25s linear infinite;
  -moz-animation: animateCloud 25s linear infinite;
  animation: animateCloud 25s linear infinite;
  -webkit-transform: scale(0.55);
  -moz-transform: scale(0.55);
  transform: scale(0.55);
}
.error-background .cloud {
  background: #fff;
  background: -moz-linear-gradient(top, #fff 5%, #f1f1f1 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(5%, #fff), color-stop(100%, #f1f1f1));
  background: -webkit-linear-gradient(top, #fff 5%, #f1f1f1 100%);
  background: -o-linear-gradient(top, #fff 5%, #f1f1f1 100%);
  background: -ms-linear-gradient(top, #fff 5%, #f1f1f1 100%);
  background: linear-gradient(top, #fff 5%, #f1f1f1 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fff", endColorstr="#f1f1f1", GradientType=0);
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  border-radius: 100px;
  -webkit-box-shadow: 0 8px 5px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 8px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0 8px 5px rgba(0, 0, 0, 0.1);
  height: 120px;
  position: relative;
  width: 350px;
}
.error-background .cloud:after,
.error-background .cloud:before {
  background: #fff;
  content: "";
  position: absolute;
  z-indeX: 1;
}
.error-background .cloud:after {
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  border-radius: 100px;
  height: 100px;
  left: 50px;
  top: -50px;
  width: 100px;
}
.error-background .cloud:before {
  -webkit-border-radius: 200px;
  -moz-border-radius: 200px;
  border-radius: 200px;
  width: 180px;
  height: 180px;
  right: 50px;
  top: -90px;
}

/* KEYFRAMES */
@-webkit-keyframes animateCloud {
  0% {
    margin-left: -1000px;
  }
  100% {
    margin-left: 100%;
  }
}
@-moz-keyframes animateCloud {
  0% {
    margin-left: -1000px;
  }
  100% {
    margin-left: 100%;
  }
}
@keyframes animateCloud {
  0% {
    margin-left: -1000px;
  }
  100% {
    margin-left: 100%;
  }
}
[class^=container-] .span-col-2,
[class*=" container-"] .span-col-2 {
  flex: 0 0 50%;
  max-width: calc(50% - 2em);
}
[class^=container-] .span-col-3,
[class*=" container-"] .span-col-3 {
  flex: 0 0 33.333%;
  max-width: calc(33.333% - 2em);
}
[class^=container-] .span-col-4,
[class*=" container-"] .span-col-4 {
  flex: 0 0 25%;
  max-width: calc(25% - 2em);
}

@supports (display: grid) {
  [class^=span-],
  [class*=" span-"] {
    grid-column-end: auto;
    grid-row-end: auto;
  }
  @media (min-width: 768px) {
    [class^=span-col],
    [class*=" span-col"] {
      grid-column-end: span 2;
    }
  }
  @media (min-width: 992px) {
    .span-col-2 {
      grid-column-end: span 2;
    }
    .span-col-3 {
      grid-column-end: span 3;
    }
    .span-col-4 {
      grid-column-end: span 4;
    }
    .span-row-2 {
      grid-row-end: span 2;
    }
    .span-row-3 {
      grid-row-end: span 3;
    }
    .span-row-4 {
      grid-row-end: span 4;
    }
  }
  [class^=container-] [class^=span-],
  [class^=container-] [class*=" span-"],
  [class*=" container-"] [class^=span-],
  [class*=" container-"] [class*=" span-"] {
    flex: 0 1 auto;
    max-width: none;
  }
}
.blog-items {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 0;
  margin-right: -1em;
  margin-bottom: 2em;
  margin-left: -1em;
}
@media (min-width: 992px) {
  .blog-items.columns-2 > div {
    width: 50%;
  }
  .blog-items.columns-3 > div {
    width: 33.33333%;
  }
  .blog-items.columns-4 > div {
    width: 25%;
  }
}

.blog-item {
  display: flex;
  flex-direction: column;
  padding: 0 1em 2em;
  overflow: hidden;
}
.boxed .blog-item {
  background-color: hsl(0, 0%, 100%);
  box-shadow: 0 0 2px hsla(216, 13%, 23%, 0.1), 0 2px 5px hsla(216, 13%, 23%, 0.08), 0 5px 15px hsla(216, 13%, 23%, 0.08), inset 0 3px 0 var(--neoteric-color-primary);
}
.boxed .blog-item .item-content {
  padding: 25px;
}
.blog-item .item-image {
  margin-top: 3px;
  margin-bottom: 15px;
  overflow: hidden;
}
.boxed .blog-item .item-image {
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .image-right .blog-item .item-image {
    order: 1;
  }
}
.image-bottom .blog-item .item-image {
  margin-top: -15px;
  order: 1;
}
.image-left .blog-item .item-content {
  padding-left: 25px;
}
.image-right .blog-item .item-content {
  padding-right: 25px;
}
.image-left .blog-item, .image-right .blog-item {
  flex-direction: column;
}
@media (min-width: 992px) {
  .image-left .blog-item, .image-right .blog-item {
    flex-direction: row;
  }
  .image-left .blog-item .item-image, .image-right .blog-item .item-image {
    flex: 1 0 40%;
  }
  .image-left .blog-item .item-content, .image-right .blog-item .item-content {
    flex: 1 0 60%;
  }
}

.article-info dd {
  padding: 0;
}

@supports (display: grid) {
  .blog-items {
    display: grid;
    margin: 0 0 2em;
    grid-auto-flow: row;
    grid-template-columns: 1fr;
    grid-gap: 2em;
  }
  .blog-items .blog-item {
    padding: 0;
  }
  .blog-items[class^=columns-] > div, .blog-items[class*=" columns-"] > div {
    flex: 0 1 auto;
    width: auto;
    max-width: none;
  }
  @media (min-width: 992px) {
    .blog-items.columns-2 {
      grid-template-columns: 1fr 1fr;
    }
    .blog-items.columns-3 {
      grid-template-columns: 1fr 1fr 1fr;
    }
    .blog-items.columns-4 {
      grid-template-columns: 1fr 1fr 1fr 1fr;
    }
  }
}
.blog-items[class^=masonry-], .blog-items[class*=" masonry-"] {
  display: block;
  column-gap: 2em;
}
.blog-items[class^=masonry-] .blog-item, .blog-items[class*=" masonry-"] .blog-item {
  display: inline-flex;
  margin-bottom: 2em;
  page-break-inside: avoid;
  break-inside: avoid;
}
@media (min-width: 992px) {
  .blog-items.masonry-2 {
    column-count: 2;
  }
  .blog-items.masonry-3 {
    column-count: 3;
  }
  .blog-items.masonry-4 {
    column-count: 4;
  }
}

.image-alternate .blog-item:nth-of-type(2n+1) .item-image {
  order: 0;
}
.image-alternate.image-left .blog-item:nth-of-type(2n+1) .item-image {
  margin-right: 0;
  margin-left: 25px;
  order: 1;
}
.image-alternate.image-top .blog-item:nth-of-type(2n+1) .item-image {
  order: 1;
}

.breadcrumb {
  margin-bottom: 0;
  background-color: hsla(0, 0%, 0%, 0.03);
}

.no-card .newsflash-horiz li {
  padding: 0 1rem 1rem;
  border: 1px solid hsl(210, 14%, 89%);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  box-shadow: 1px 1px 4px hsla(0, 0%, 0%, 0.1);
}
.no-card .newsflash-horiz li figure {
  margin: 0 -1rem 1rem;
}

.mod-list {
  padding-inline-start: 0;
  list-style: none;
  margin-bottom: 0;
}
.mod-list li {
  padding: 0.5em 0;
}
.mod-list li:first-child {
  padding-top: 0;
}
.mod-list li:last-child {
  padding-bottom: 0;
}
.mod-list li a {
  text-decoration: none;
}
.container-header .mod-list li a:hover {
  text-decoration: none;
}

.container-header .mod-list li.active > a, .container-header .mod-list .btn-vm-customfield .form-check-input:checked + .form-check-label li.form-check-label-text:not(.is-color-btn) > a, .container-header .mod-list .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .mod-list .btn-vm-customfield .form-check-input:checked + label li.form-check-label-text:not(.is-color-btn) > a, .container-header .mod-list .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label li.form-check-label-text:not(.is-color-btn) > a, .container-header .mod-list .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .mod-list .btn-vm-customfield input[type=radio]:checked + .form-check-label li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .container-header .mod-list .btn-vm-customfield input[type=radio]:checked + label li.form-check-label-text:not(.is-color-btn) > a,
.container-header .mod-list .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label li.form-check-label-text:not(.is-color-btn) > a,
.container-header .mod-list .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label li.form-check-label-text:not(.is-color-btn) > a,
.form-check-vm.form-check .container-header .mod-list .btn-vm-customfield input[type=checkbox]:checked + .form-check-label li.form-check-label-text:not(.is-color-btn) > a,
.form-check-vm.form-check .container-header .mod-list .btn-vm-customfield input[type=checkbox]:checked + label li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-input:checked + .form-check-label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .container-header .mod-list li.form-check-label-text:not(.is-color-btn) > a {
  text-decoration: none;
}

.mod-list li .mod-menu__sub {
  padding-left: 2em;
}

aside .mod-vmcategory-menu--level-1 > .mod-vmcategory-menu--item-anchor {
  text-transform: none;
}

.top-bar-content {
  line-height: 1;
  text-transform: uppercase;
}
.top-bar-content p,
.top-bar-content ul {
  margin: 0;
}
.top-bar-content .mod-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
}
.top-bar-content .mod-list li {
  padding: 0;
}
.top-bar-content .mod-list li .mod-menu__sub {
  display: none;
}
.top-bar-content .mod-list a {
  display: block;
  padding: 0.5rem 0;
}
.top-bar-content .mod-list p {
  padding: 0.5rem 0;
}

.footer-area {
  font-size: 0.9rem;
  text-transform: uppercase;
}
.footer-area p,
.footer-area ul {
  margin: 0;
}
.footer-area .mod-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.footer-area .mod-list li {
  padding: 0;
}
.footer-area .mod-list li .mod-menu__sub {
  display: none;
}
.footer-area .mod-list a {
  display: block;
  padding: 0.25rem 0;
}

.pagination {
  --pagination-active-color: var(--template-primary-contrast-color);
  --pagination-active-bg: var(--template-primary-color);
  --pagination-active-border-color: var(--template-primary-color);
  --pagination-padding-x: 1rem;
  --pagination-padding-y: 0.5rem;
  --pagination-focus-box-shadow: none;
}

.subhead {
  position: sticky;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1000;
  width: auto;
  min-height: 43px;
  padding: 0.25rem;
  color: #495057;
  background: hsl(0, 0%, 100%);
  box-shadow: -3px -2px 22px #ddd;
}
.subhead .row {
  margin-right: 0;
  margin-left: 0;
}
.subhead.noshadow {
  box-shadow: none;
}
.subhead joomla-toolbar-button,
.subhead .btn-group {
  margin-inline-start: 0.75rem;
}
.subhead joomla-toolbar-button:first-child,
.subhead .btn-group:first-child {
  margin-inline-start: 0;
}
.subhead joomla-toolbar-button .btn > span, .subhead joomla-toolbar-button .btn-vm-customfield .form-check-label-text > span, .btn-vm-customfield .subhead joomla-toolbar-button .form-check-label-text > span,
.subhead joomla-toolbar-button .dropdown-item > span {
  margin-inline-end: 0.5rem;
  width: 1.25em;
  text-align: center;
}
.subhead .btn, .subhead .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .subhead .form-check-label-text {
  --subhead-btn-accent: #495057;
  padding: 0 1rem;
  margin: 5px 0;
  font-size: 1rem;
  line-height: 2.45rem;
  color: #495057;
  background: hsl(0, 0%, 100%);
  border-color: hsl(210, 11%, 71%);
}
.subhead .btn > span, .subhead .btn-vm-customfield .form-check-label-text > span, .btn-vm-customfield .subhead .form-check-label-text > span {
  display: inline-block;
  color: var(--subhead-btn-accent);
}
.subhead .btn:not([disabled]):hover, .subhead .btn-vm-customfield .form-check-label-text:not([disabled]):hover, .btn-vm-customfield .subhead .form-check-label-text:not([disabled]):hover, .subhead .btn:not([disabled]):active, .subhead .btn-vm-customfield .form-check-label-text:not([disabled]):active, .btn-vm-customfield .subhead .form-check-label-text:not([disabled]):active, .subhead .btn:not([disabled]):focus, .subhead .btn-vm-customfield .form-check-label-text:not([disabled]):focus, .btn-vm-customfield .subhead .form-check-label-text:not([disabled]):focus {
  color: rgba(255, 255, 255, 0.9);
  background-color: var(--subhead-btn-accent);
  border-color: var(--subhead-btn-accent);
}
.subhead .btn:not([disabled]):hover > span, .subhead .btn-vm-customfield .form-check-label-text:not([disabled]):hover > span, .btn-vm-customfield .subhead .form-check-label-text:not([disabled]):hover > span, .subhead .btn:not([disabled]):active > span, .subhead .btn-vm-customfield .form-check-label-text:not([disabled]):active > span, .btn-vm-customfield .subhead .form-check-label-text:not([disabled]):active > span, .subhead .btn:not([disabled]):focus > span, .subhead .btn-vm-customfield .form-check-label-text:not([disabled]):focus > span, .btn-vm-customfield .subhead .form-check-label-text:not([disabled]):focus > span {
  color: rgba(255, 255, 255, 0.9);
}
.subhead .btn.btn-success, .subhead .btn-vm-customfield .btn-success.form-check-label-text, .btn-vm-customfield .subhead .btn-success.form-check-label-text {
  --subhead-btn-accent: var(--success);
}
.subhead .btn.btn-danger, .subhead .btn-vm-customfield .btn-danger.form-check-label-text, .btn-vm-customfield .subhead .btn-danger.form-check-label-text {
  --subhead-btn-accent: var(--danger);
}
.subhead .btn.btn-primary, .subhead .btn-vm-customfield .btn-primary.form-check-label-text, .btn-vm-customfield .subhead .btn-primary.form-check-label-text {
  --subhead-btn-accent: #2a69b8;
}
.subhead .btn.btn-secondary, .subhead .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .subhead .form-check-label-text {
  --subhead-btn-accent: #001b4c;
}
.subhead .btn.btn-info, .subhead .btn-vm-customfield .btn-info.form-check-label-text, .btn-vm-customfield .subhead .btn-info.form-check-label-text {
  --subhead-btn-accent: #132f53;
}
.subhead .btn.btn-action, .subhead .btn-vm-customfield .btn-action.form-check-label-text, .btn-vm-customfield .subhead .btn-action.form-check-label-text {
  --subhead-btn-accent: #132f53;
  display: flex;
  align-items: center;
}
.subhead .btn.btn-action::after, .subhead .btn-vm-customfield .btn-action.form-check-label-text::after, .btn-vm-customfield .subhead .btn-action.form-check-label-text::after {
  width: 2.375rem;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f078";
  border: 0;
}
.subhead .btn[disabled], .subhead .btn-vm-customfield [disabled].form-check-label-text, .btn-vm-customfield .subhead [disabled].form-check-label-text, .subhead .btn.dropdown-toggle[disabled] {
  --subhead-btn-accent: #132f53;
  background: rgba(223, 227, 231, 0.8);
  opacity: 0.5;
}
.subhead .btn[disabled]:hover, .subhead .btn-vm-customfield [disabled].form-check-label-text:hover, .btn-vm-customfield .subhead [disabled].form-check-label-text:hover, .subhead .btn[disabled]:active, .subhead .btn-vm-customfield [disabled].form-check-label-text:active, .btn-vm-customfield .subhead [disabled].form-check-label-text:active, .subhead .btn[disabled]:focus, .subhead .btn-vm-customfield [disabled].form-check-label-text:focus, .btn-vm-customfield .subhead [disabled].form-check-label-text:focus, .subhead .btn.dropdown-toggle[disabled]:hover, .subhead .btn.dropdown-toggle[disabled]:active, .subhead .btn.dropdown-toggle[disabled]:focus {
  cursor: not-allowed;
}
.subhead .dropdown-toggle.btn, .subhead .btn-vm-customfield .dropdown-toggle.form-check-label-text, .btn-vm-customfield .subhead .dropdown-toggle.form-check-label-text {
  padding-inline-end: 0;
}
.subhead .btn-group:not(:last-child) > .dropdown-toggle-split {
  order: 1;
  margin-inline-start: -0.25rem;
  border-radius: 0 0.25rem 0.25rem 0;
}
.subhead .dropdown-menu joomla-toolbar-button,
.subhead .btn-group joomla-toolbar-button {
  margin-inline-start: 0;
}

@media (max-width: 767.98px) {
  joomla-tab[view=accordion] .col-md-9,
  joomla-tab[view=accordion] .col-md-3 {
    padding: 0.5rem 1rem !important;
  }
  #myTab {
    margin-top: 1rem;
    margin-bottom: 1.5rem;
  }
  joomla-tab[view=accordion] ul li {
    width: 100%;
  }
  .subhead joomla-toolbar-button,
  .subhead .btn-group,
  .subhead .btn,
  .subhead .btn-vm-customfield .form-check-label-text,
  .btn-vm-customfield .subhead .form-check-label-text {
    width: 100%;
    margin-left: 0;
    text-align: left;
  }
  .subhead .btn-toolbar > .btn-group,
  .subhead .btn-toolbar > joomla-toolbar-button {
    margin-left: 0;
  }
  .subhead .btn.btn-action::after, .subhead .btn-vm-customfield .btn-action.form-check-label-text::after, .btn-vm-customfield .subhead .btn-action.form-check-label-text::after {
    text-align: center;
    margin-inline-start: auto;
  }
  .subhead .dropdown-toggle-split {
    width: auto;
  }
}
.left.item-image {
  float: left;
}

.right.item-image {
  float: right;
}

.tags .list-inline-item {
  margin: 0.25rem 0.25rem 0.5rem;
}
.tags a.btn, .tags .btn-vm-customfield a.form-check-label-text, .btn-vm-customfield .tags a.form-check-label-text {
  font-weight: 700;
}

.tag {
  display: inline-block;
  padding: 0.5rem 0.5rem 0.5rem 0;
}

.mod-articlescategories a {
  color: var(--gray-600);
}
.mod-articlescategories a:hover, .mod-articlescategories a:focus, .mod-articlescategories a:active {
  color: var(--body-color);
}

.price-crossed {
  text-decoration: line-through;
}

.toolbar-seprator {
  width: 1px;
  height: 20px;
  background: var(--template-toolbar-separator-color, #eee);
  padding: 0 !important;
}

.link-switch {
  font-size: 1.5rem;
}

.product-images > div {
  min-height: 5rem;
}

.product-name,
.category-name,
.manufacturer-name {
  font-size: 1rem;
  color: inherit;
  text-decoration: none;
}
.product-short-description {
  color: var(--gray-700);
}

.product-discount-amount {
  color: var(--template-product-discount-color);
}
.product-discount-amount div {
  display: inline;
}

.product-price-before-discount,
.product-sales-price,
.product-price-before-discount div,
.product-sales-price div {
  display: inline-block;
}

.product-sales-price,
.product-sales-price div {
  font-weight: bold;
}

.product-price-before-discount {
  color: var(--template-product-price-before-discount-color);
}

.product-sales-price {
  color: var(--neoteric-color-primary);
}

.product-price-before-discount div {
  text-decoration: line-through;
}

.product-list-images {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  min-height: 10rem;
  backface-visibility: hidden;
}
.product-list-images .product-image-default,
.product-list-images .product-image-hover {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
}
.product-list-images .product-image-default {
  min-height: 100%;
}
.product-list-images .product-image-hover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0;
  transition: opacity 0.5s ease, transform 2s cubic-bezier(0, 0, 0.44, 1.18);
}
.product-list-images .product-image-hover img {
  width: 100%;
}

.product-list-utilities {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  background-color: transparent;
  display: flex;
  flex-direction: column;
  justify-content: center;
  opacity: 0;
  transform: translateX(15px) translateZ(0);
  transition: opacity 0.2s ease, transform 0.3s ease;
}

.product-list-utility-item {
  margin-bottom: 0.6rem;
}

.product-list-utility-item:last-child {
  margin-bottom: 0;
}

.product-container,
.item-container {
  position: relative;
  transition: transform 0.3s ease;
}
.product-container.add-hover-effect.state-hover, .product-container.add-hover-effect:hover,
.item-container.add-hover-effect.state-hover,
.item-container.add-hover-effect:hover {
  z-index: 20;
  transform: translateY(-5px) translateZ(0);
}
.product-container.state-hover .product-image-hover, .product-container:hover .product-image-hover,
.item-container.state-hover .product-image-hover,
.item-container:hover .product-image-hover {
  opacity: 1;
  transform: scale(1.09);
}
.product-container.state-hover .product-list-utilities, .product-container:hover .product-list-utilities,
.item-container.state-hover .product-list-utilities,
.item-container:hover .product-list-utilities {
  opacity: 1;
  transform: translateX(0) translateZ(0);
}

.product-bottom-container {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  opacity: 0;
  visibility: hidden;
}

.product-container.add-hover-effect.state-hover .product-top-container,
.product-container.add-hover-effect.state-hover .product-bottom-container,
.item-container.add-hover-effect:hover > *:not(.item-backdrop) {
  z-index: 22;
}

.product-container.add-hover-effect.state-hover .product-bottom-container {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease;
}

.product-backdrop,
.item-backdrop {
  position: absolute;
  top: calc(-0.25 * var(--gutter-x));
  bottom: 0;
  left: calc(-0.25 * var(--gutter-x));
  right: calc(-0.25 * var(--gutter-x));
  background-color: var(--template-product-hover-bg, hsl(0, 0%, 100%));
  border: inherit;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: scale(0.97);
}

@media (min-width: 992px) {
  .product-backdrop,
  .item-backdrop {
    top: calc(-0.5 * var(--gutter-x));
    left: calc(-0.5 * var(--gutter-x));
    right: calc(-0.5 * var(--gutter-x));
  }
}
.product-container.add-hover-effect.state-hover .product-backdrop,
.item-container.add-hover-effect:hover .item-backdrop {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transform: scale(1);
  z-index: 21;
}

.quantity-box.input-group, .cf-form-search .quantity-box.input-append,
.quantity-box.input-group.input-group-lg {
  flex-wrap: nowrap;
}
.quantity-box.input-group > .form-control.quantity-input, .cf-form-search .input-append .quantity-box.input-group > input.quantity-input[type=search]:not(.form-control),
.cf-form-search .input-append .quantity-box.input-group > input.quantity-input[type=text]:not(.form-control), .cf-form-search .quantity-box.input-append > .form-control.quantity-input, .cf-form-search .quantity-box.input-append > input.quantity-input[type=search]:not(.form-control),
.cf-form-search .quantity-box.input-append > input.quantity-input[type=text]:not(.form-control), .old-form .quantity-box.input-group > input.quantity-input[type=text], .old-form .cf-form-search .quantity-box.input-append > input.quantity-input[type=text], .cf-form-search .old-form .quantity-box.input-append > input.quantity-input[type=text],
.old-form .quantity-box.input-group > input.quantity-input[type=password],
.old-form .cf-form-search .quantity-box.input-append > input.quantity-input[type=password],
.cf-form-search .old-form .quantity-box.input-append > input.quantity-input[type=password],
.old-form .quantity-box.input-group > input.quantity-input[type=email],
.old-form .cf-form-search .quantity-box.input-append > input.quantity-input[type=email],
.cf-form-search .old-form .quantity-box.input-append > input.quantity-input[type=email],
.old-form .quantity-box.input-group > textarea.quantity-input,
.old-form .cf-form-search .quantity-box.input-append > textarea.quantity-input,
.cf-form-search .old-form .quantity-box.input-append > textarea.quantity-input,
.quantity-box.input-group.input-group-lg > .form-control.quantity-input {
  flex: 0 1 50px;
  text-align: center;
  width: 50px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.vm-pagination .display-counter,
.vm-pagination .display-limitbox {
  flex: 1;
}

.quantity-box.input-group > .btn, .cf-form-search .quantity-box.input-append > .btn, .btn-vm-customfield .quantity-box.input-group > .form-check-label-text, .btn-vm-customfield .cf-form-search .quantity-box.input-append > .form-check-label-text, .cf-form-search .btn-vm-customfield .quantity-box.input-append > .form-check-label-text {
  padding-left: 0.6rem;
  padding-right: 0.6rem;
  font-size: 0.6rem;
}

.virtuemart-dialog .modal-header:before {
  content: "";
  flex: 1;
}

.virtuemart-dialog .modal-header .close-button-container {
  flex: 1;
}

.product-group-title {
  text-align: center;
  text-transform: uppercase;
}

.form-check.btn-vm-customfield {
  padding: 0;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
}

.vm-field-controls > .form-check.btn-vm-customfield:last-child {
  margin-right: 0;
}

.btn-vm-customfield .form-check-input, .btn-vm-customfield .form-check-vm.form-check input[type=radio], .form-check-vm.form-check .btn-vm-customfield input[type=radio],
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox],
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox] {
  position: absolute !important;
  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;
}

.btn-vm-customfield .form-check-label, .btn-vm-customfield .form-check-vm.form-check label, .form-check-vm.form-check .btn-vm-customfield label {
  text-align: center;
  cursor: pointer;
}

.btn-vm-customfield .form-check-label-text {
  display: inline-block;
}

.btn-vm-customfield .form-check-label-text:not(.is-color-btn) {
  min-width: var(--neoteric-customfield-btn-min-width, 2.5rem);
}

.btn-vm-customfield .form-check-label-text.is-color-btn {
  position: relative;
  padding: 0;
  height: 2.15rem;
  width: 2.15rem;
  border-radius: 2.15rem;
  border: none;
}

.btn-vm-customfield .form-check-label-text.is-color-btn:after {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 0.8rem;
  content: "\f00c";
  opacity: 0;
  transition: opacity 0.15s ease-in-out;
}

.btn-vm-customfield .form-check-label-price {
  display: block;
  text-align: center;
}

.form-check-label-price {
  margin-left: 0.25rem;
}

.btn-vm-customfield .form-check-input:not(:checked) + .form-check-label:hover .form-check-label-text.is-color-btn:after, .btn-vm-customfield .form-check-vm.form-check .form-check-input:not(:checked) + label:hover .form-check-label-text.is-color-btn:after, .form-check-vm.form-check .btn-vm-customfield .form-check-input:not(:checked) + label:hover .form-check-label-text.is-color-btn:after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:not(:checked) + .form-check-label:hover .form-check-label-text.is-color-btn:after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:not(:checked) + label:hover .form-check-label-text.is-color-btn:after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:not(:checked) + .form-check-label:hover .form-check-label-text.is-color-btn:after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:not(:checked) + label:hover .form-check-label-text.is-color-btn:after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:not(:checked) + .form-check-label:hover .form-check-label-text.is-color-btn:after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:not(:checked) + label:hover .form-check-label-text.is-color-btn:after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:not(:checked) + .form-check-label:hover .form-check-label-text.is-color-btn:after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:not(:checked) + label:hover .form-check-label-text.is-color-btn:after {
  opacity: 0.5;
}

.btn-vm-customfield .form-check-input:checked + .form-check-label .form-check-label-text.is-color-btn:after, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .form-check-label-text.is-color-btn:after, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .form-check-label-text.is-color-btn:after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .form-check-label-text.is-color-btn:after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .form-check-label-text.is-color-btn:after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .form-check-label-text.is-color-btn:after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .form-check-label-text.is-color-btn:after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .form-check-label-text.is-color-btn:after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .form-check-label-text.is-color-btn:after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .form-check-label-text.is-color-btn:after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .form-check-label-text.is-color-btn:after {
  opacity: 1;
}

.choices__price,
.form-check-label-price {
  color: var(--gray-600);
  font-size: 0.9rem;
}

.vm-field-controls {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}

.product-fields-title,
.vm-cmv-label {
  font-weight: bold;
}

.product-fields-title-wrapper,
.vm-cmv-label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

.product-fields-tooltip {
  cursor: pointer;
}

.product-grid-view .product-fields,
.product-related-products .product-fields {
  text-align: center;
}
.product-grid-view .product-fields .vm-field-controls,
.product-related-products .product-fields .vm-field-controls {
  justify-content: center;
  flex-wrap: wrap;
}

.product-field,
.vm-field-controls,
.custom-field-C-container {
  margin-bottom: 1.25rem;
}

.product-fields {
  padding-bottom: 0.5rem;
}

.choices.choices__customfield .choices__inner {
  padding: 0;
  padding-inline-end: 2.8rem;
}
.choices.choices__customfield .choices__inner .choices__list.choices__list--single {
  padding: 0;
}
.choices.choices__customfield .choices__inner .choices__list.choices__list--single .choices__item {
  padding: 0.35rem 1rem;
}
.choices.choices__customfield .choices__list--dropdown .choices__item {
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
}

.product-image-gallery__main,
.product-image-gallery__thumbnails {
  margin: 0;
}

.product-image-gallery__item {
  text-align: center;
}

.product-image-gallery__thumbnails .tns-item {
  opacity: 1;
  transition: opacity 0.15 ease-in;
}

.product-image-gallery__thumbnails .tns-item.tns-nav-active {
  opacity: 0.6;
}

.product-image-gallery {
  overflow: hidden;
}

.product-image-gallery__main-wrapper,
.product-image-gallery__thumbnails-wrapper {
  position: relative;
}

.product-image-gallery__main-wrapper {
  margin-bottom: 1rem;
}

.product-image-gallery__thumbnails-controls .btn-nobg {
  --btn-bg: var(--gray-200);
  --btn-border-color: var(--gray-200);
  --btn-hover-bg: var(--gray-300);
  --btn-hover-border-color: var(--gray-300);
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}

.btn-nobg {
  border-radius: 0;
}

.product-image-gallery__item-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--template-product-thubnail-image-min-height, 80px);
}

.product-image-gallery__main .product-image-gallery__item-inner {
  min-height: var(--template-product-main-image-min-height, 300px);
}

.product-image-gallery__thumbnails .product-image-gallery__item-inner {
  border: 1px solid var(--template-product-thumbnail-border-color, #FAFAFA);
}

.product-image-gallery__main-controls button.btn-nobg {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: none;
  border: none;
  box-shadow: none;
  outline: none;
}
.product-image-gallery__main-controls button.btn-nobg:hover, .product-image-gallery__main-controls button.btn-nobg:active, .product-image-gallery__main-controls button.btn-nobg:focus {
  background: none;
  border: none;
  outline: none;
  box-shadow: none;
}

.product-image-gallery__main-controls > button:last-child {
  right: 0;
  left: auto;
}

.product-image-gallery__main-controls button.btn-nobg {
  font-size: 1.5rem;
}
.product-image-gallery__main-controls button.btn-nobg:disabled {
  pointer-events: initial;
  cursor: default;
  opacity: 0.5;
}

@media (min-width: 992px) {
  .product-image-gallery__main-controls button.btn-nobg {
    opacity: 0;
    transition: opacity 0.15s ease-in, transform 0.15s ease-in;
    font-size: 2rem;
  }
  .product-image-gallery__main-controls button.btn-nobg:disabled {
    opacity: 0;
  }
  .product-image-gallery__main-controls button.btn-nobg:first-child {
    transform: translate(-30px, -50%);
  }
  .product-image-gallery__main-controls button.btn-nobg:last-child {
    transform: translate(30px, -50%);
  }
  .product-image-gallery__main-wrapper:hover .product-image-gallery__main-controls button.btn-nobg {
    transform: translate(0, -50%);
    opacity: 1;
  }
  .product-image-gallery__main-wrapper:hover .product-image-gallery__main-controls button.btn-nobg:disabled {
    opacity: 0.5;
  }
  .product-image-gallery__thumbnails-wrapper {
    padding-bottom: 2.5rem;
  }
  .product-image-gallery__thumbnails .product-image-gallery__item {
    position: relative;
    height: calc((var(--product-gallery-vertical-height, 100px) - 2.5rem) / var(--product-gallery-vertical-items, 3) - 1px);
    overflow: hidden;
  }
  .product-image-gallery__thumbnails .product-image-gallery__item .product-image-gallery__item-inner {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin-bottom: 20px;
  }
  .product-image-gallery__thumbnails .product-image-gallery__item .product-image-gallery__item-inner img {
    max-height: 100%;
  }
  .product-image-gallery__thumbnails-controls {
    display: flex;
    flex-direction: row;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    gap: 0.5rem;
    transform: translateY(-100%);
  }
  .product-image-gallery__thumbnails-controls .btn-nobg {
    flex: 1 1 50%;
  }
}
@media (max-width: 991.98px) {
  .product-image-gallery__main-controls button.btn-nobg:first-child {
    padding-left: 0;
  }
  .product-image-gallery__main-controls button.btn-nobg:last-child {
    padding-right: 0;
  }
  .product-image-gallery__thumbnails-controls .btn-nobg {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: none;
    border: none;
    outline: none;
    box-shadow: none;
    padding-left: 0;
    padding-right: 0;
  }
  .product-image-gallery__thumbnails-controls .btn-nobg:last-child {
    left: auto;
    right: 0;
  }
  .product-image-gallery__thumbnails-controls .btn-nobg:hover, .product-image-gallery__thumbnails-controls .btn-nobg:active, .product-image-gallery__thumbnails-controls .btn-nobg:focus {
    background: none;
    border: none;
    outline: none;
    box-shadow: none;
  }
  .product-image-gallery__thumbnails-controls .btn-nobg:disabled {
    pointer-events: initial;
    cursor: default;
  }
}
.product-manufacturers > .product-manufacturer {
  max-width: 8rem;
  margin-bottom: 1rem;
}
.product-manufacturers > .product-manufacturer:first-child:last-child {
  margin-bottom: 0;
}
.product-manufacturers > .product-manufacturer > a {
  display: block;
  padding: 1rem;
  color: inherit;
  text-transform: uppercase;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.12);
  text-decoration: none;
  transition: box-shadow 0.15s ease-in;
}
.product-manufacturers > .product-manufacturer > a:hover {
  color: inherit;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.14);
}

.productdetails-view .product-prices-wrapper .product-price-before-discount {
  font-size: 1.5rem;
}
.productdetails-view .product-prices-wrapper .product-sales-price {
  font-size: 1.8rem;
}

.rating-count {
  display: inline-block;
  margin-left: 0.25rem;
}

.social-share-list {
  padding-left: 0;
  margin: 0;
  list-style: none;
}

.social-share-list-item {
  display: inline-block;
}

.social-share-list-item:not(:last-child) {
  margin-right: 0.5rem;
}

.social-share-list-item > .social-share-link {
  display: inline-block;
  padding: 0.25rem 0.12rem;
  font-size: 1.2rem;
  text-align: center;
}
.social-share-list-item > .social-share-link:hover {
  color: inherit;
  text-decoration: none;
  opacity: 1;
  transform: translateY(-0.25rem);
}

.product-utility-item {
  display: inline-block;
  margin-right: 2rem;
}
.product-utility-item:last-child {
  margin-right: 0;
}

.product-related-title,
.modal-page-title,
.prominent-title {
  position: relative;
  text-transform: uppercase;
  padding-bottom: 0.8rem !important;
  margin-bottom: 1.5rem !important;
}
.product-related-title:after,
.modal-page-title:after,
.prominent-title:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  transform: translateY(-100%);
  height: 3px;
  background-color: var(--template-primary-color);
  width: 3rem;
}

.manufacturer-view-default .manufacturer-image {
  background-color: var(--template-manufacturer-image-bg, #f7f7f7);
  padding: 0.7rem 0;
}

.modal-page-title {
  font-size: 1.5rem;
}

.form-group-text-counter .form-control, .form-group-text-counter .cf-form-search .input-append input[type=search]:not(.form-control), .cf-form-search .input-append .form-group-text-counter input[type=search]:not(.form-control),
.form-group-text-counter .cf-form-search .input-append input[type=text]:not(.form-control),
.cf-form-search .input-append .form-group-text-counter input[type=text]:not(.form-control), .form-group-text-counter .old-form input[type=text], .old-form .form-group-text-counter input[type=text],
.form-group-text-counter .old-form input[type=password],
.old-form .form-group-text-counter input[type=password],
.form-group-text-counter .old-form input[type=email],
.old-form .form-group-text-counter input[type=email],
.form-group-text-counter .old-form textarea,
.old-form .form-group-text-counter textarea {
  flex: 0 1 70px;
}

.product-navigation > a {
  margin-right: 0.8rem;
  text-decoration: none;
}
.product-navigation > a:hover {
  text-decoration: none;
}
.product-navigation > a:last-child {
  margin-right: 0;
}

.quickview-body {
  min-height: 450px;
  --scrollbar-width: 5px;
  --scrollbar-track-bg: rgba(0, 0, 0, 0.1);
  --scrollbar-thumb-bg: rgba(0, 0, 0, 0.2);
}
.quickview-body .product-images-section {
  position: relative;
  height: 100%;
  overflow: hidden;
}
.quickview-body .product-image-gallery__main-wrapper {
  margin-bottom: 0;
}
.quickview-body .product-title {
  font-size: 2rem;
}
.quickview-body .product-title a {
  color: inherit;
  text-decoration: none;
}
.quickview-body .product-title a:hover {
  text-decoration: none;
}
.quickview-body .product-title a:hover, .quickview-body .product-title a:focus, .quickview-body .product-title a:active {
  color: inherit;
}
.quickview-body .product-manufacturers .product-manufacturer {
  max-width: 6rem;
}
.quickview-body .product-image-gallery__main-controls button.btn-nobg {
  padding-left: 1rem;
  padding-right: 1rem;
}
.quickview-body ::-webkit-scrollbar {
  width: var(--scrollbar-width);
}
.quickview-body ::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track-bg);
}
.quickview-body ::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb-bg);
}

.quickview-content-inner {
  padding: 2rem 1.5rem;
}

.quickview-product-navigation a {
  background-color: var(--template-primary-color);
  color: var(--template-primary-contrast-color);
  padding: 0.7rem;
  text-decoration: none;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  border: none;
  outline: none;
}
.quickview-product-navigation a.page-nav-link {
  padding-left: 1rem;
  padding-right: 1rem;
}
.quickview-product-navigation a.page-nav-link:first-child {
  border-right: 1px solid rgba(255, 255, 255, 0.5);
}
.quickview-product-navigation a.page-nav-link:last-child {
  border-left: 1px solid rgba(255, 255, 255, 0.5);
}

@media (min-width: 768px) {
  .quickview-body .product-image-gallery__main-controls button.btn-nobg {
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
  }
  .quickview-body .product-image-gallery__main-controls button.btn-nobg:first-child {
    transform: translateY(-50%) translateX(-20px);
  }
  .quickview-body .product-image-gallery__main-controls button.btn-nobg:last-child {
    transform: translateY(-50%) translateX(20px);
  }
  .quickview-body .product-image-gallery__main-wrapper:hover .product-image-gallery__main-controls button.btn-nobg {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
  .quickview-body .product-image-gallery__main-wrapper:hover .product-image-gallery__main-controls button.btn-nobg:disabled {
    opacity: 0.5;
  }
  .quickview-product-navigation {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.2s ease, transform 0.2s ease;
  }
  .product-images-section:hover .quickview-product-navigation {
    opacity: 1;
    transform: translateY(0);
  }
  .quickview-content {
    position: relative;
    height: 100%;
    -webkit-mask-image: linear-gradient(to top, transparent 5px, #000 40px);
    mask-image: linear-gradient(to top, transparent 5px, #000 40px);
  }
  .quickview-content-inner {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 2.5rem 2rem;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.product-labels {
  position: absolute;
  display: flex;
  top: 0.6rem;
  left: 0.6rem;
  flex-direction: column;
  align-items: flex-start;
  pointer-events: none;
}

.product-label {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--product-label-bg);
  color: var(--product-label-color);
  padding: 0.3rem 0.6rem;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.4;
  text-transform: uppercase;
  min-width: 55px;
  min-height: 55px;
  text-align: center;
  margin-bottom: 0.7rem;
  border-radius: 50%;
  word-break: break-all;
  aspect-ratio: 1/1;
}
.product-label:last-child {
  margin-bottom: 0;
}

.product-image-gallery .product-labels {
  left: auto;
  right: 0.6rem;
  align-items: flex-end;
}
.product-image-gallery .product-label {
  font-size: 1rem;
  line-height: 1.5;
}

@media (max-width: 575.98px) {
  .product-label {
    font-size: 0.7rem;
    font-weight: 400;
    min-width: 40px;
    min-height: 40px;
  }
  .product-image-gallery .product-label {
    font-size: 0.8rem;
    line-height: 1.4;
  }
}
.vm-loader {
  --max-opacity: 0.5;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #000;
  opacity: 0;
  z-index: 1037;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s linear, visibility 0.15s linear;
}

.vm-loader-spinner {
  --max-opacity: 1;
  position: fixed;
  background-color: transparent;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 25px;
  width: 25px;
  -webkit-animation: loaderSpin 0.8s infinite linear;
  animation: loaderSpin 0.8s infinite linear;
  border: 2px solid #fff;
  border-right-color: transparent;
  border-radius: 50%;
  z-index: 1038;
  visibility: hidden;
  pointer-events: none;
}

.vm-loading .vm-loader,
.vm-loading .vm-loader-spinner {
  visibility: visible;
  pointer-events: inherit;
  opacity: var(--max-opacity);
}

.product-list-view {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--gray-200);
}
.product-list-view:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

@media (min-width: 768px) {
  .product-list-view .product-name {
    font-size: 1.5rem;
  }
  .product-list-view .product-sales-price {
    font-size: 1.8rem;
  }
  .product-list-view .product-price-before-discount {
    font-size: 1.5rem;
  }
}
.steps-bar {
  --steps-bar-inactive-color: var(--secondary);
  --steps-bar-inactive-text-color: var(--body-color);
  --steps-bar-inactive-bg: var(--white);
  --steps-bar-inactive-border-color: var(--gray-300);
  --steps-bar-inactive-line-bg: var(--gray-300);
  --steps-bar-active-color: var(--white);
  --steps-bar-active-text-color: var(--template-primary-color);
  --steps-bar-active-bg: var(--template-primary-color);
  --steps-bar-active-border-color: var(--template-primary-color);
  --steps-bar-active-line-bg: var(--template-primary-color);
  --steps-bar-step-font-size: 1.2rem;
  display: table;
  margin: 0;
  padding: 15px 15px 0;
  table-layout: fixed;
  width: 100%;
  counter-reset: step;
}
.steps-bar li {
  list-style-type: none;
  display: table-cell;
  width: 20%;
  float: left;
  font-size: 1rem;
  position: relative;
  text-align: center;
}
.steps-bar li:before {
  width: 3.2rem;
  height: 3.2rem;
  color: var(--steps-bar-inactive-color);
  content: counter(step);
  counter-increment: step;
  line-height: 3.2rem;
  font-size: var(--steps-bar-step-font-size);
  border: 1px solid var(--steps-bar-inactive-border-color);
  display: block;
  position: relative;
  text-align: center;
  margin: 0 auto 0.8rem auto;
  border-radius: 50%;
  background-color: var(--steps-bar-inactive-bg);
  z-index: 2;
}
.steps-bar li:after {
  width: 100%;
  height: 0.4rem;
  content: "";
  position: absolute;
  background-color: var(--steps-bar-inactive-line-bg);
  top: 1.6rem;
  left: -50%;
  transform: translateY(-50%);
  z-index: 1;
}
.steps-bar li:first-child:after {
  content: none;
}
.steps-bar li.step-done {
  color: var(--steps-bar-active-text-color);
}
.steps-bar li.step-done:before {
  border-color: var(--steps-bar-active-border-color);
  background-color: var(--steps-bar-active-bg);
  color: var(--steps-bar-active-color);
  content: "\f00c";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
}
.steps-bar li.step-done + li:after {
  background-color: var(--steps-bar-active-bg);
}
.steps-bar li.step-active {
  color: var(--steps-bar-active-text-color);
}
.steps-bar li.step-active:before {
  border-color: var(--steps-bar-active-border-color);
  color: var(--steps-bar-active-text-color);
  font-weight: 700;
}

@media (min-width: 768px) {
  .cart-item-image {
    width: 6rem;
  }
  .cart-item-quantity .quantity-box {
    justify-content: center;
  }
}
.form-check-vm.form-check input[type=radio],
.form-check-vm.form-check input[type=checkbox] {
  float: left;
  margin-left: -1.5rem;
}
.quanity-update-section .quantity-input {
  max-width: 4.5rem;
  text-align: center;
}

.cart-is-empty-section,
.empty-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 25rem;
  text-align: center;
}
.cart-is-empty-section .empty-cart-icon,
.cart-is-empty-section .empty-card-icon,
.empty-card .empty-cart-icon,
.empty-card .empty-card-icon {
  color: var(--gray-200);
  text-align: center;
  margin-bottom: 1.5rem;
}
.cart-is-empty-section .empty-cart-icon i,
.cart-is-empty-section .empty-card-icon i,
.empty-card .empty-cart-icon i,
.empty-card .empty-card-icon i {
  font-size: 8rem;
}
.cart-is-empty-section .empty-cart-heading,
.cart-is-empty-section .empty-card-heading,
.empty-card .empty-cart-heading,
.empty-card .empty-card-heading {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 0.8rem;
  text-align: center;
}
.cart-is-empty-section .empty-cart-subheading,
.cart-is-empty-section .empty-card-subheading,
.empty-card .empty-cart-subheading,
.empty-card .empty-card-subheading {
  color: var(--gray-600);
  margin-bottom: 2rem;
  text-align: center;
}

@media (min-width: 768px) {
  .cart-is-empty-section,
  .empty-card {
    min-height: 30rem;
  }
  .cart-is-empty-section .empty-cart-icon,
  .cart-is-empty-section .empty-card-icon,
  .empty-card .empty-cart-icon,
  .empty-card .empty-card-icon {
    margin-bottom: 1.5rem;
  }
  .cart-is-empty-section .empty-cart-icon i,
  .cart-is-empty-section .empty-card-icon i,
  .empty-card .empty-cart-icon i,
  .empty-card .empty-card-icon i {
    font-size: 12rem;
  }
  .cart-is-empty-section .empty-cart-heading,
  .cart-is-empty-section .empty-card-heading,
  .empty-card .empty-cart-heading,
  .empty-card .empty-card-heading {
    font-size: 3rem;
    margin-bottom: 0.8rem;
  }
  .cart-is-empty-section .empty-cart-subheading,
  .cart-is-empty-section .empty-card-subheading,
  .empty-card .empty-cart-subheading,
  .empty-card .empty-card-subheading {
    margin-bottom: 2rem;
  }
  .cart-coupon-field {
    max-width: 300px;
  }
}
.cart-fields-section textarea {
  min-height: 8rem;
}
.cart-fields-section fieldset:last-of-type {
  margin-bottom: 0;
}
.cart-fields-section .control-label label {
  font-weight: bold;
}

.cart-summery .PricebillTotal,
.cart-summery .totalInPaymentCurrency {
  font-size: 1.2em;
  color: var(--template-primary-color);
}

.product-field-type-M img {
  max-width: 3rem;
}

@media (max-width: 767.98px) {
  .table-cart {
    display: block;
  }
  .table-cart thead,
  .table-cart tbody {
    display: block;
  }
  .table-cart tr {
    display: flex;
    position: relative;
    flex-direction: column;
    border-width: 3px;
    border-style: solid;
    margin-bottom: 2rem;
  }
  .table-cart thead {
    display: none;
  }
  .table-cart td {
    display: block;
    border-style: dashed;
    border-bottom-width: 0;
    border-top-width: 1px;
  }
  .table-cart td[data-title] {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
  }
  .table-cart td[data-title]:before {
    content: attr(data-title);
  }
  .table-cart td[data-title].cart-item-name {
    align-items: flex-start;
  }
  .table-cart td.cart-column-empty {
    display: none;
  }
  .table-cart td:first-child {
    border-top-width: 0;
  }
  .table-cart .section-title {
    font-weight: bold;
  }
  .table-cart .cart-grand-total .cart-section-header,
  .table-cart .cart-payment-total .cart-section-header {
    text-transform: uppercase;
  }
  .table-cart .cart-item-image {
    width: 5rem;
  }
}
.vme-mod__contents {
  display: flex;
  flex-direction: column;
  flex: 1 1 100%;
  overflow-y: hidden;
  align-self: stretch;
}

.has-mod-loader,
.vme-mod-contents {
  position: relative;
}
.has-mod-loader .mod-loader,
.has-mod-loader .vme-mod-loader,
.vme-mod-contents .mod-loader,
.vme-mod-contents .vme-mod-loader {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 1;
  background: transparent;
  background-color: rgba(255, 255, 255, 0.7);
  z-index: 1050;
}
.has-mod-loader .mod-loader:before,
.has-mod-loader .vme-mod-loader:before,
.vme-mod-contents .mod-loader:before,
.vme-mod-contents .vme-mod-loader:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 1rem;
  margin-left: -0.5rem;
  margin-top: -0.5rem;
  border-radius: 50%;
  background-color: currentColor;
  opacity: 0;
  z-index: 1051;
  -webkit-animation: 0.75s linear infinite spinner-grow;
  animation: 0.75s linear infinite spinner-grow;
}

.vme-mod__empty .empty-icon {
  color: var(--gray-200);
  margin-bottom: 1.5rem;
}
.vme-mod__empty .empty-icon i {
  font-size: 6rem;
}
.vme-mod__empty .empty-heading {
  font-weight: bold;
}

.vme-mod__offcanvas-container .offcanvas-backdrop.fade {
  opacity: 0.5;
}

.vme-mod__product-details {
  border-bottom: 1px solid var(--gray-300);
}
.vme-mod__product-details:last-child {
  border-bottom: none;
}

.vme-mod__show-link-container {
  border-top: 1px solid var(--gray-300);
}

.mod-minicart__cart-subtotal {
  display: none;
}

@media (min-width: 992px) {
  .mod-minicart__cart-subtotal {
    display: inline-block;
  }
}
.vppl-list {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-type: none;
}
.vppl-list li {
  display: block;
  list-style-type: none;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--gray-200);
}
.vppl-list li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0 none;
}

.vppl-name {
  font-size: 1rem;
  line-height: 1.25;
  font-weight: bold;
  padding: 0;
  margin: 0 0 0.5rem;
}

.vppl-image-cont {
  text-align: center;
  border: 1px solid var(--template-product-thumbnail-border-color, #FAFAFA);
  min-height: 100%;
}

.vpprime-manufacturer-carousel {
  padding: 1rem 0;
}
.vpprime-manufacturer-carousel .vpprime-manufacturer {
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.vpprime-manufacturer-carousel .vpprime-manufacturer:hover {
  opacity: 1;
}

.gray-scale-effect {
  filter: grayscale(100%);
  transition: filter 0.2s ease, opacity 0.2s ease !important;
}
.gray-scale-effect:hover {
  filter: grayscale(0);
}

.product-carousel-tns-outer {
  z-index: 10;
}
.product-carousel-tns-outer .tns-ovh {
  position: relative;
  padding-top: 2rem;
  margin-top: -2rem;
  z-index: 10;
}
.product-carousel-tns-outer .tns-nav {
  position: relative;
  z-index: 8;
}

@media (min-width: 1500px) {
  .container-xxl .product-carousel-tns-outer {
    margin-left: -20px;
    margin-right: -20px;
  }
}
.vm-currency-selector a {
  display: block;
  padding: 0.5rem;
}
.vm-currency-selector .currency-block li {
  display: block;
  padding: 0.25rem 0;
  margin: 0 0.5rem;
  text-align: start;
}
.vm-currency-selector .currency-block li.currency-active {
  background-color: #f0f0f0;
}

.mod-minicart__product-details .mod-product-price,
.vme-mod__contents .mod-product-price {
  font-weight: 600;
}

.vmpayment_description,
.vmshipment_cost,
.vmpayment_cost {
  color: var(--gray-600);
}

.vmpayment_description {
  display: block;
}

.vp-cookie-consent {
  position: fixed;
  z-index: 900001;
  opacity: 1;
  transition: opacity 0.25s linear, transform 0.25s linear;
}

.vp-cookie-consent-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 2rem;
  padding: 2rem 2.5rem;
  width: 400px;
  color: var(--template-cookie-consent-color, var(--body-color));
  background-color: var(--template-cookie-consent-bg, #f3f3f3);
  border: 1px solid var(--template-cookie-consent-border-color, #ddd);
  box-shadow: 0 6px 13px 0 rgba(0, 0, 0, 0.23);
}
.vp-cookie-consent-inner a {
  color: var(--template-cookie-consent-link-color, var(--template-link-color));
}
.vp-cookie-consent-inner a:active, .vp-cookie-consent-inner a:visited {
  color: var(--template-cookie-consent-link-color, var(--template-link-color));
}
.vp-cookie-consent-inner a:hover {
  color: var(--template-cookie-consent-link-hover-color, var(--template-link-hover-color));
}

.vp-cookie-consent.top {
  left: 0;
  right: 0;
  top: 0;
}
.vp-cookie-consent.top-left {
  left: 2.5rem;
  top: 2.5rem;
}
.vp-cookie-consent.top-right {
  right: 2.5rem;
  top: 2.5rem;
}
.vp-cookie-consent.bottom {
  left: 0;
  right: 0;
  bottom: 0;
}
.vp-cookie-consent.bottom-left {
  left: 2.5rem;
  bottom: 2.5rem;
}
.vp-cookie-consent.bottom-right {
  right: 2.5rem;
  bottom: 2.5rem;
}
.vp-cookie-consent.center {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.vp-cookie-consent.top, .vp-cookie-consent.top-left, .vp-cookie-consent.top-right, .vp-cookie-consent.bottom, .vp-cookie-consent.bottom-left, .vp-cookie-consent.bottom-right {
  transform: translate(0, 0);
}
.vp-cookie-consent.top .vp-cookie-consent-inner, .vp-cookie-consent.bottom .vp-cookie-consent-inner {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  text-align: start;
  box-shadow: none;
  width: auto;
}

.vp-cookie-consent.vp-hide {
  display: none !important;
}
.vp-cookie-consent.vp-fade {
  opacity: 0;
}
.vp-cookie-consent.vp-fade.top, .vp-cookie-consent.vp-fade.top-left, .vp-cookie-consent.vp-fade.top-right {
  transform: translate(0, -50%);
}
.vp-cookie-consent.vp-fade.bottom, .vp-cookie-consent.vp-fade.bottom-left, .vp-cookie-consent.vp-fade.bottom-right {
  transform: translate(0, 50%);
}

.vp-cookie-consent-button {
  --btn-padding-x: 2rem;
  text-wrap: nowrap;
}

@media (max-width: 767.98px) {
  .vp-cookie-consent.top-left, .vp-cookie-consent.top-right, .vp-cookie-consent.bottom-left, .vp-cookie-consent.bottom-right, .vp-cookie-consent.center {
    left: 1.5rem;
    right: 1.5rem;
  }
  .vp-cookie-consent.center {
    transform: translate(0, -50%);
  }
  .vp-cookie-consent.top-left, .vp-cookie-consent.top-right {
    top: 1.5rem;
  }
  .vp-cookie-consent.bottom-left, .vp-cookie-consent.bottom-right {
    bottom: 1.5rem;
  }
  .vp-cookie-consent.top .vp-cookie-consent-button, .vp-cookie-consent.bottom .vp-cookie-consent-button {
    width: 100%;
  }
  .vp-cookie-consent .vp-cookie-consent-inner {
    width: auto;
  }
  .vp-cookie-consent.bottom .vp-cookie-consent-inner, .vp-cookie-consent.top .vp-cookie-consent-inner {
    text-align: center;
  }
}
.mod-finder__search.input-group, .cf-form-search .mod-finder__search.input-append {
  flex-wrap: nowrap;
}
.mod-finder__search.input-group .awesomplete input, .cf-form-search .mod-finder__search.input-append .awesomplete input {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.mod-finder__search.input-group button, .cf-form-search .mod-finder__search.input-append button {
  display: flex;
  align-items: center;
}
.mod-finder__search.input-group button .icon-search, .cf-form-search .mod-finder__search.input-append button .icon-search {
  margin-inline-end: 0.2em;
}

.awesomplete > input {
  max-width: 200px;
}
@media (min-width: 992px) {
  .awesomplete > input {
    max-width: none;
  }
}
.awesomplete > ul {
  z-index: 1000 !important;
}

.btn, .btn-vm-customfield .form-check-label-text {
  text-transform: uppercase;
}
.btn:focus, .btn-vm-customfield .form-check-label-text:focus {
  box-shadow: none !important;
}

.btn:focus, .btn-vm-customfield .form-check-label-text:focus,
.btn.focus,
.btn-vm-customfield .focus.form-check-label-text,
.btn:active:focus,
.btn.focus:active,
.btn.active:focus,
.btn-vm-customfield .form-check-input:checked + .form-check-label .form-check-label-text:focus:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .form-check-label-text:focus:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .form-check-label-text:focus:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .form-check-label-text:focus:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .form-check-label-text:focus:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .form-check-label-text:focus:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .form-check-label-text:focus:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .form-check-label-text:focus:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .form-check-label-text:focus:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .form-check-label-text:focus:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .form-check-label-text:focus:not(.is-color-btn),
.btn.active.focus,
.btn-vm-customfield .form-check-input:checked + .form-check-label .focus.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .focus.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .focus.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .focus.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .focus.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .focus.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .focus.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .focus.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .focus.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .focus.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .focus.form-check-label-text:not(.is-color-btn) {
  text-decoration: none;
}

.btn.group-move, .btn-vm-customfield .group-move.form-check-label-text {
  cursor: move;
}

.btn-secondary, .btn-vm-customfield .form-check-label-text {
  color: hsl(210, 10%, 23%);
  background-color: hsl(0, 0%, 100%);
  border-color: hsl(210, 14%, 83%);
}
.btn-secondary:hover, .btn-vm-customfield .form-check-label-text:hover, .btn-secondary:focus, .btn-vm-customfield .form-check-label-text:focus {
  color: hsl(210, 10%, 23%);
  background-color: hsl(210, 17%, 98%);
}

.btn-link {
  --btn-color: var(--body-color, inherit);
  --btn-hover-color: var(--secondary);
  --btn-focus-color: var(--secondary);
  --btn-active-color: var(--secondary);
  --btn-border-width: 2px;
  --btn-padding-x: 0;
  --btn-padding-y: 0;
  --btn-font-weight: 600;
  text-decoration: none;
  border-bottom-color: var(--template-link-color);
}
.btn-link:hover, .btn-link:focus, .btn-link:active, .btn-link:active:first-child {
  color: var(--btn-hover-color);
  text-decoration: none;
  border-bottom-color: var(--template-link-color);
}

.link-switch {
  color: inherit;
  opacity: 0.4;
}
.link-switch.active, .btn-vm-customfield .form-check-input:checked + .form-check-label .link-switch.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .link-switch.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .link-switch.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .link-switch.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .link-switch.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .link-switch.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .link-switch.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .link-switch.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .link-switch.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .link-switch.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .link-switch.form-check-label-text:not(.is-color-btn) {
  color: inherit;
  opacity: 1;
}
.link-switch:hover:not(.active), .link-switch:focus:not(.active) {
  color: inherit;
  opacity: 0.7;
}

.btn-primary {
  --btn-color: var(--template-primary-contrast-color);
  --btn-bg: var(--template-primary-color);
  --btn-border-color: var(--template-primary-color);
  --btn-hover-color: var(--template-primary-hover-contrast-color);
  --btn-hover-bg: var(--template-primary-hover-color);
  --btn-hover-border-color: var(--template-primary-hover-color);
  --btn-focus-shadow-rgb: 39, 39, 111;
  --btn-active-color: var(--template-primary-hover-contrast-color);
  --btn-active-bg: var(--template-primary-hover-color);
  --btn-active-border-color: var(--template-primary-hover-color);
  --btn-active-shadow: none;
  --btn-disabled-color: var(--template-primary-contrast-color);
  --btn-disabled-bg: var(--template-primary-color);
  --btn-disabled-border-color: var(--template-primary-color);
}

.btn-outline-primary {
  --btn-color: var(--template-primary-color);
  --btn-border-color: var(--template-primary-color);
  --btn-hover-color: var(--template-primary-hover-contrast-color);
  --btn-hover-bg: var(--template-primary-hover-color);
  --btn-hover-border-color: var(--template-primary-hover-color);
  --btn-focus-shadow-rgb: 1, 1, 86;
  --btn-active-color: var(--template-primary-hover-contrast-color);
  --btn-active-bg: var(--template-primary-hover-color);
  --btn-active-border-color: var(--template-primary-hover-color);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: var(--template-primary-color);
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: var(--template-primary-color);
}

.btn-icon {
  background-color: transparent;
  background: none;
  border: none;
  outline: none;
  box-shadow: none;
  color: inherit;
  padding: 0.2rem 0.5rem;
  margin: 0;
  font-weight: 600;
}
.btn-icon:focus {
  box-shadow: none !important;
}

.btn-hover {
  opacity: 0.75;
}
.btn-hover:hover {
  opacity: 1;
}

.btn-close:focus {
  box-shadow: none !important;
}

.btn-group {
  margin-bottom: 2em;
}
.btn-group > input {
  padding: 1em;
  border: 1px solid hsl(210, 14%, 83%);
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn-group {
  margin-bottom: 0;
}

.article-info .association .btn-secondary, .article-info .association .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .article-info .association .form-check-label-text,
.cat-list-association .btn-secondary,
.cat-list-association .btn-vm-customfield .form-check-label-text,
.btn-vm-customfield .cat-list-association .form-check-label-text {
  font-weight: 700;
  color: hsl(0, 0%, 100%);
  background-color: hsl(210, 7%, 46%);
  border-color: hsl(210, 14%, 83%);
}
.article-info .association .btn-secondary:hover, .article-info .association .btn-vm-customfield .form-check-label-text:hover, .btn-vm-customfield .article-info .association .form-check-label-text:hover, .article-info .association .btn-secondary:focus, .article-info .association .btn-vm-customfield .form-check-label-text:focus, .btn-vm-customfield .article-info .association .form-check-label-text:focus,
.cat-list-association .btn-secondary:hover,
.cat-list-association .btn-vm-customfield .form-check-label-text:hover,
.btn-vm-customfield .cat-list-association .form-check-label-text:hover,
.cat-list-association .btn-secondary:focus,
.cat-list-association .btn-vm-customfield .form-check-label-text:focus,
.btn-vm-customfield .cat-list-association .form-check-label-text:focus {
  color: hsl(0, 0%, 100%);
  background-color: hsl(210, 10%, 23%);
}
.article-info .association .btn-sm, .article-info .association .btn-group-sm > .btn, .article-info .association .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .article-info .association .form-check-label-text,
.cat-list-association .btn-sm,
.cat-list-association .btn-group-sm > .btn,
.cat-list-association .btn-vm-customfield .form-check-label-text,
.btn-vm-customfield .cat-list-association .form-check-label-text {
  padding: 0 0.25rem;
  font-size: 0.8rem;
  border-radius: 0.2rem;
}

.offcanvas-toggler {
  background-color: transparent;
  background: none;
  border: none;
  outline: none;
  box-shadow: none;
  margin: 0;
  text-align: center;
  color: inherit;
}

.modal-header.text-white .btn-close {
  color: var(--neoteric-offcanvas-header-color, #fff);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%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.414z'/%3e%3c/svg%3e");
}

.btn-switch {
  border-radius: 0.25em;
  height: 2.36rem;
  width: 2.36rem;
  font-size: 1.05rem;
  padding: 0.25rem;
  margin-bottom: 0 !important;
}

@media (max-width: 991.98px) {
  .btn, .btn-vm-customfield .form-check-label-text {
    margin-bottom: 0.25rem;
  }
  .input-group .btn, .cf-form-search .input-append .btn, .input-group .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .input-group .form-check-label-text, .cf-form-search .input-append .btn-vm-customfield .form-check-label-text, .btn-vm-customfield .cf-form-search .input-append .form-check-label-text {
    margin-bottom: 0;
  }
}
.form-select, .old-form select, .custom-select {
  max-width: 100%;
  cursor: pointer;
  background: url("../images/select-bg.svg") no-repeat right center/116rem /* rtl: url("../images/select-bg-rtl.svg") no-repeat left center/116rem */;
  background-color: hsl(210, 16%, 93%);
  border: 2px solid hsl(210, 14%, 83%);
}
.form-select:focus, .old-form select:focus, .custom-select:focus {
  border-color: var(--template-input-focus-border-color, hsl(210, 14%, 83%));
  box-shadow: none;
}
.form-select[multiple], .old-form select[multiple], [multiple].custom-select {
  padding: 0;
  background-color: hsl(0, 0%, 100%);
}
.form-select[multiple] option, .old-form select[multiple] option, [multiple].custom-select option {
  padding: 0.3rem 1rem;
  background-color: hsl(0, 0%, 100%);
}
.form-select[multiple] option:checked, .old-form select[multiple] option:checked, [multiple].custom-select option:checked {
  color: hsl(0, 0%, 100%);
  background-color: var(--neoteric-color-primary) !important;
}
.form-select.form-select-success, .old-form select.form-select-success, .form-select-success.custom-select, .form-select.custom-select-success, .old-form select.custom-select-success, .custom-select-success.custom-select {
  color: hsl(120, 32%, 39%);
  background-color: hsl(120, 32%, 39%);
}
.form-select.form-select-success option, .old-form select.form-select-success option, .form-select-success.custom-select option, .form-select.custom-select-success option, .old-form select.custom-select-success option, .custom-select-success.custom-select option {
  color: var(--body-color);
  background-color: hsl(0, 0%, 100%);
}
.form-select.form-select-danger, .old-form select.form-select-danger, .form-select-danger.custom-select, .form-select.custom-select-danger, .old-form select.custom-select-danger, .custom-select-danger.custom-select {
  color: hsl(3, 75%, 37%);
  background-color: hsl(3, 75%, 37%);
}
.form-select.form-select-danger option, .old-form select.form-select-danger option, .form-select-danger.custom-select option, .form-select.custom-select-danger option, .old-form select.custom-select-danger option, .custom-select-danger.custom-select option {
  color: var(--body-color);
  background-color: hsl(0, 0%, 100%);
}
.form-select optgroup, .old-form select optgroup, .custom-select optgroup,
.form-select option,
.old-form select option,
.custom-select option {
  color: var(--dark);
  background-color: hsl(0, 0%, 100%);
}

.accordion .card-header {
  display: block;
  font-size: 1.25rem;
  font-weight: var(--neoteric-font-weight-headings, 700);
  line-height: 1.2;
}
.accordion .list-group-item {
  color: hsl(220, 67%, 40%);
}

.dropdown-menu {
  padding: 0.2rem 0;
  margin-top: 0.5rem;
  background-color: hsl(0, 0%, 100%);
  border-color: hsl(210, 14%, 89%);
}

.dropdown-menu-end::after {
  right: 0.9rem;
  left: auto;
}

.top-bar-content .dropdown-menu {
  --dropdown-zindex: 1030;
  --dropdown-border-radius: 0;
  --dropdown-inner-border-radius: 0;
  --dropdown-font-size: 0.9rem;
  margin-top: 2px !important;
}

.field-media-wrapper {
  display: block;
  width: 100%;
  max-width: calc(50vw - 5rem);
}
.field-media-wrapper .field-media-preview {
  width: 100%;
  max-width: none;
}
@media (max-width: 991.98px) {
  .field-media-wrapper {
    min-width: 100%;
  }
}

.list-group-item {
  background-color: var(--body-bg);
}

.list-unstyled .list-unstyled {
  padding-left: 20px;
}

.jviewport-height10 {
  height: 10vh;
}
.jviewport-height20 {
  height: 20vh;
}
.jviewport-height30 {
  height: 30vh;
}
.jviewport-height40 {
  height: 40vh;
}
.jviewport-height50 {
  height: 50vh;
}
.jviewport-height60 {
  height: 60vh;
}
.jviewport-height70 {
  height: 70vh;
}
.jviewport-height80 {
  height: 80vh;
}
.jviewport-height90 {
  height: 90vh;
}
.jviewport-height100 {
  height: 100vh;
}

[class*=jviewport-height] iframe {
  height: 100%;
}

.modal-dialog.jviewport-width10 {
  width: 10vw;
  max-width: none;
}
.modal-dialog.jviewport-width20 {
  width: 20vw;
  max-width: none;
}
.modal-dialog.jviewport-width30 {
  width: 30vw;
  max-width: none;
}
.modal-dialog.jviewport-width40 {
  width: 40vw;
  max-width: none;
}
.modal-dialog.jviewport-width50 {
  width: 50vw;
  max-width: none;
}
.modal-dialog.jviewport-width60 {
  width: 60vw;
  max-width: none;
}
.modal-dialog.jviewport-width70 {
  width: 70vw;
  max-width: none;
}
.modal-dialog.jviewport-width80 {
  width: 80vw;
  max-width: none;
}
.modal-dialog.jviewport-width90 {
  width: 90vw;
  max-width: none;
}
.modal-dialog.jviewport-width100 {
  width: 100vw;
  max-width: none;
}

.nav.nav-tabs {
  padding: 0;
  margin: 0;
  background-color: hsl(0, 0%, 96%);
  border: 1px solid hsl(210, 14%, 89%);
  border-bottom: 0;
  border-radius: 0.25rem 0.25rem 0 0;
  box-shadow: 0 1px hsl(0, 0%, 100%) inset, 0 2px 3px -3px hsla(0, 0%, 0%, 0.15), 0 -4px 0 hsla(0, 0%, 0%, 0.05) inset, 1px 1px 4px hsla(0, 0%, 0%, 0.1);
}
.nav.nav-tabs .nav-item {
  margin-bottom: 0;
  margin-left: 0;
}
.nav.nav-tabs .nav-item:first-of-type .nav-link.active, .nav.nav-tabs .nav-item:first-of-type .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:first-of-type .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:first-of-type .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:first-of-type .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:first-of-type .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:first-of-type .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:first-of-type .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:first-of-type .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:first-of-type .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:first-of-type .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:first-of-type .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav.nav-tabs .nav-item:first-of-type .nav-link.form-check-label-text:not(.is-color-btn) {
  border-radius: 0.25rem 0 0;
  box-shadow: -1px 0 1px -1px hsla(0, 0%, 0%, 0.06), inset -2px 0 1px -1px hsla(0, 0%, 0%, 0.08), inset 0 1px 0 hsla(0, 0%, 0%, 0.02);
}
.nav.nav-tabs .nav-item:last-of-type .nav-link {
  box-shadow: -1px 0 0 hsla(0, 0%, 0%, 0.05), 1px 0 0 hsla(0, 0%, 0%, 0.05);
}
.nav.nav-tabs .nav-item:last-of-type .nav-link.active, .nav.nav-tabs .nav-item:last-of-type .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:last-of-type .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:last-of-type .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:last-of-type .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:last-of-type .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:last-of-type .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:last-of-type .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:last-of-type .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .nav-item:last-of-type .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:last-of-type .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .nav-item:last-of-type .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav.nav-tabs .nav-item:last-of-type .nav-link.form-check-label-text:not(.is-color-btn) {
  box-shadow: inset 2px 0 1px -1px hsla(0, 0%, 0%, 0.08), inset -2px 0 1px -1px hsla(0, 0%, 0%, 0.08), inset 0 1px 0 hsla(0, 0%, 0%, 0.02);
}
.nav.nav-tabs .nav-link {
  position: relative;
  padding: 0.75em 1em;
  color: var(--neoteric-color-primary);
  border: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-shadow: -1px 0 0 hsla(0, 0%, 0%, 0.05);
}
.nav.nav-tabs .nav-link.active, .nav.nav-tabs .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn) {
  background-color: hsla(0, 0%, 0%, 0.3);
  background-image: linear-gradient(to bottom, hsla(0, 0%, 0%, 0), hsla(0, 0%, 0%, 0.05) 100%);
  border-right: 0;
  border-left: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-shadow: inset 2px 0 1px -1px hsla(0, 0%, 0%, 0.08), inset -2px 0 1px -1px hsla(0, 0%, 0%, 0.08), inset 0 1px 0 hsla(0, 0%, 0%, 0.02);
}
.nav.nav-tabs .nav-link.active::after, .nav.nav-tabs .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-input:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after, .nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after, .nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after,
.nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn)::after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after,
.nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn)::after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after, .nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after, .nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after, .nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn)::after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after, .nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn)::after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after,
.nav.nav-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn)::after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after,
.nav.nav-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn)::after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav.nav-tabs .nav-link.form-check-label-text:not(.is-color-btn)::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 5px;
  content: "";
  background-color: var(--neoteric-color-primary);
  opacity: 0.8;
}

.nav-tabs + .tab-content {
  padding: 15px;
  background: hsl(0, 0%, 100%);
  border: 1px solid;
  border-color: hsl(210, 14%, 89%);
  border-radius: 0 0 0.25rem 0.25rem;
  box-shadow: 1px 1px 4px hsla(0, 0%, 0%, 0.1);
}

.nav-tabs-basic {
  border-bottom: var(--border-width) solid var(--border-color);
}
.nav-tabs-basic .nav-link {
  color: var(--secondary);
  margin-bottom: -var(--border-width);
  background: none;
  border: var(--border-width) solid transparent;
  padding: 0.8rem 1rem;
  font-weight: bolder;
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
}
.nav-tabs-basic .nav-link:hover, .nav-tabs-basic .nav-link:focus {
  border-color: var(--secondary-bg) var(--secondary-bg) var(--border-color);
  isolation: isolate;
}
.nav-tabs-basic .nav-link.disabled {
  color: var(--secondary-color);
  background-color: transparent;
  border-color: transparent;
}
.nav-tabs-basic .nav-link.active, .nav-tabs-basic .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-basic .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-basic .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-basic .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-basic .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-basic .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-basic .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-basic .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-basic .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-basic .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-basic .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-tabs-basic .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-basic .nav-item.show .nav-link {
  color: var(--emphasis-color);
  background-color: var(--body-bg);
  border-color: var(--border-color) var(--border-color) var(--body-bg);
}

.nav-tabs-simple {
  justify-content: center;
}
.nav-tabs-simple + .tab-content {
  padding: 1.5rem 0;
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
.nav-tabs-simple .nav-link {
  position: relative;
  background: none;
  background-color: transparent;
  border: none;
  outline: none;
  box-shadow: none;
  border-radius: 0;
  color: var(--nav-simple-tab-link-color, var(--gray-600));
  padding: var(--nav-simple-tab-link-padding-y, 0.6rem) var(--nav-simple-tab-link-padding-x, 1rem);
  text-transform: uppercase;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  transition: opacity 0.15s ease-in-out;
}
.nav-tabs-simple .nav-link:disabled {
  color: var(--nav-link-disabled-color);
}
.nav-tabs-simple .nav-link:after {
  content: "";
  display: block;
  position: absolute;
  height: 3px;
  background-color: transparent;
  top: 100%;
  left: 50%;
  right: 50%;
  transform: translateY(-100%);
  opacity: 0;
  transition: all 0.15s ease-in-out;
}
.nav-tabs-simple .nav-link:hover, .nav-tabs-simple .nav-link.active, .nav-tabs-simple .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn),
.nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn), .nav-tabs-simple .nav-link.active:hover {
  color: var(--nav-simple-tab-link-active-color, var(--body-color));
}
.nav-tabs-simple .nav-link:hover:after, .nav-tabs-simple .nav-link.active:after, .nav-tabs-simple .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-tabs-simple .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-tabs-simple .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-tabs-simple .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-tabs-simple .nav-link.active:hover:after {
  left: 0.5rem;
  right: 0.5rem;
  background-color: var(--template-primary-color);
  opacity: 1;
}

.nav-offcanvas-tabs {
  display: flex;
  border-radius: 0;
  box-shadow: none;
}
.nav-offcanvas-tabs .nav-item {
  flex: 1 1 auto;
}
.nav-offcanvas-tabs .nav-link {
  position: relative;
  display: block;
  width: 100%;
  border: none;
  outline: none;
  padding: 1rem 0.8rem;
  text-transform: uppercase;
  font-weight: bold;
  color: var(--gray-600);
  background-color: rgba(0, 0, 0, 0.04);
  border-bottom: 1px solid rgba(0, 0, 0, 0.106);
}
.nav-offcanvas-tabs .nav-link:after {
  position: absolute;
  content: "";
  bottom: -1px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--template-primary-color);
  transition: width 0.4s ease;
}
.nav-offcanvas-tabs .nav-link.active, .nav-offcanvas-tabs .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn), .nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn), .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn),
.nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn),
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn) {
  background-color: rgba(0, 0, 0, 0.1);
  color: var(--body-color);
}
.nav-offcanvas-tabs .nav-link.active:after, .nav-offcanvas-tabs .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-input:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-link.form-check-label-text:not(.is-color-btn):after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + .form-check-label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-vm.form-check .form-check-input:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .form-check-vm.form-check .btn-vm-customfield .form-check-input:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .btn-vm-customfield .form-check-vm.form-check input[type=radio]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after, .nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after, .form-check-vm.form-check .btn-vm-customfield input[type=radio]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-offcanvas-tabs .btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after,
.btn-vm-customfield .form-check-vm.form-check input[type=checkbox]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after,
.nav-offcanvas-tabs .form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-link.form-check-label-text:not(.is-color-btn):after,
.form-check-vm.form-check .btn-vm-customfield input[type=checkbox]:checked + label .nav-offcanvas-tabs .nav-link.form-check-label-text:not(.is-color-btn):after {
  width: 100%;
}

.pagination {
  margin: 1rem;
}

.table th {
  font-weight: 500;
}
.table thead th {
  white-space: nowrap;
  border-bottom-width: 2px;
}
.table th,
.table td {
  vertical-align: middle;
}
.table th label,
.table td label {
  margin-bottom: 0;
}

.table-cart > :not(caption) > * > * {
  padding: 1.1rem 0.9rem;
}
.table-cart th {
  text-transform: uppercase;
  font-weight: bold;
}

.chosen-container.chosen-container-single {
  max-width: 100%;
  font-size: 1rem;
  display: block;
  /*
  &.chosen-container-active .chosen-single {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
  */
}
.chosen-container.chosen-container-single .chosen-single {
  display: block;
  height: calc(1.5em + 1.2rem + calc(2px * 2));
  padding: 0.81rem 4rem 0.81rem 1rem;
  line-height: 1.2;
  color: var(--body-color);
  background: hsl(210, 16%, 93%) url("../images/select-bg.svg") no-repeat right 0.25rem center;
  background-image: none \9 ;
  background-size: 116rem;
  border: 2px solid hsl(210, 14%, 83%);
  box-shadow: none;
  appearance: none;
  border-radius: var(--border-radius);
}
.chosen-container.chosen-container-single .chosen-single abbr {
  top: 10px;
}
.chosen-container.chosen-container-single .chosen-single:focus {
  border-color: #8080ab;
  outline: none;
}
.chosen-container.chosen-container-single .chosen-single:disabled {
  cursor: not-allowed;
  background-color: var(--secondary-bg);
}
.chosen-container.chosen-container-single .chosen-single div b {
  background: none !important;
}
.chosen-container.chosen-container-single .chosen-drop {
  background: hsl(0, 0%, 100%);
  border: 2px solid hsl(210, 14%, 83%);
}
.chosen-container.chosen-container-single .chosen-results li {
  line-height: calc(1rem + .3rem);
}

.chosen-container.chosen-container-multi .chosen-choices {
  max-width: 100%;
  min-height: calc(1.5em + 1.2rem + calc(2px * 2));
  font-size: 1rem;
  line-height: 1.5;
  background-image: hsl(0, 0%, 100%);
}
.chosen-container.chosen-container-multi .chosen-choices li.search-choice {
  padding: 5px 33px 5px 10px;
  color: hsl(0, 0%, 100%);
  background: var(--primary);
  border: 0;
  box-shadow: 1px 1px 4px hsla(0, 0%, 0%, 0.1);
  border-radius: var(--border-radius);
}
.chosen-container.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
  top: 0;
  right: 0;
  width: 20px;
  height: 100%;
  background-image: none !important;
}
.chosen-container.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::before {
  position: absolute;
  top: 6px;
  right: 5px;
  font-size: 1rem;
  color: hsl(0, 0%, 100%);
  content: "×";
}

.chosen-container-active.chosen-with-drop .chosen-single {
  box-shadow: none;
}

.chosen-container-single {
  width: auto !important;
}

.card .chosen-container.chosen-container-single {
  width: 100% !important;
}
.card .chosen-container.chosen-container-single .chosen-single {
  width: 100% !important;
}

.gu-mirror {
  position: fixed !important;
  z-index: 9999 !important;
  margin: 0 !important;
  background-color: hsl(120, 73%, 75%);
  opacity: 0.8;
}
.gu-mirror.table {
  display: table;
}
.gu-mirror.table td {
  display: table-cell;
}

.minicolors-theme-bootstrap .minicolors-input {
  width: 120px;
}
.minicolors-theme-bootstrap .rgb {
  width: 175px;
}
.minicolors-theme-bootstrap .rgba {
  width: 220px;
}

.editor .toggle-editor {
  margin-top: 1rem;
}
.editor .mce-tinymce {
  border: 1px solid hsl(210, 14%, 89%);
  border-radius: var(--border-radius);
}
.editor .mce-btn,
.editor .mce-panel {
  background: hsl(210, 17%, 98%);
}

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

:root {
  --template-bg-light: #f0f4fb;
  --template-text-light: hsl(0, 0%, 100%);
  --template-special-color: #132f53;
  --template-link-color: #2a69b8;
  --template-link-hover-color: #173a65;
  --template-contrast: #2a69b8;
  --template-bg-dark: hsl(var(--hue), 40%, 20%);
  --template-bg-dark-3: hsl(var(--hue), 40%, 97%);
  --template-bg-dark-5: hsl(var(--hue), 40%, 95%);
  --template-bg-dark-7: hsl(var(--hue), 40%, 93%);
  --template-bg-dark-10: hsl(var(--hue), 40%, 90%);
  --template-bg-dark-15: hsl(var(--hue), 40%, 85%);
  --template-bg-dark-20: hsl(var(--hue), 40%, 80%);
  --template-bg-dark-30: hsl(var(--hue), 40%, 70%);
  --template-bg-dark-40: hsl(var(--hue), 40%, 60%);
  --template-bg-dark-50: hsl(var(--hue), 40%, 50%);
  --template-bg-dark-60: hsl(var(--hue), 40%, 40%);
  --template-bg-dark-65: hsl(var(--hue), 40%, 35%);
  --template-bg-dark-70: hsl(var(--hue), 40%, 30%);
  --template-bg-dark-75: hsl(var(--hue), 40%, 25%);
  --template-bg-dark-80: hsl(var(--hue), 40%, 20%);
  --template-bg-dark-90: hsl(var(--hue), 40%, 10%);
  --gray-100: hsl(var(--text-hue, 210), 17%, 98%);
  --gray-200: hsl(var(--text-hue, 210), 16%, 93%);
  --gray-300: hsl(var(--text-hue, 210), 14%, 89%);
  --gray-400: hsl(var(--text-hue, 210), 14%, 83%);
  --gray-500: hsl(var(--text-hue, 210), 11%, 71%);
  --gray-600: hsl(var(--text-hue, 210), 7%, 46%);
  --gray-700: hsl(var(--text-hue, 210), 9%, 31%);
  --gray-800: hsl(var(--text-hue, 210), 10%, 23%);
  --gray-900: hsl(var(--text-hue, 210), 11%, 15%);
  --primary: var(--template-primary-color);
  --neoteric-color-primary: var(--template-primary-color);
}

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

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

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

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

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

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

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

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

.border-white {
  border-color: var(--white) !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.bg-body {
  background-color: var(--body-bg) !important;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvb2xzL3ZhcmlhYmxlcy9fdmFyaWFibGVzLnNjc3MiLCJibG9ja3MvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFubmVyLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29sb3ItbW9kZS5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fY29udGFpbmVycy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtdmFyaWFudHMuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fbGFiZWxzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tdGV4dC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLWNvbnRyb2wuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLXNlbGVjdC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLWNoZWNrLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tcmFuZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZmxvYXRpbmctbGFiZWxzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19icmVhZGNydW1iLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tkcm9wLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fb2ZmY2FudmFzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3BsYWNlaG9sZGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2NvbG9yLWJnLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fY29sb3JlZC1saW5rcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2ZvY3VzLXJpbmcuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19pY29uLWxpbmsuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19yYXRpby5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fc3RhY2tzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19zdHJldGNoZWQtbGluay5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3RleHQtdHJ1bmNhdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3ZyLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL191dGlsaXRpZXMuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FwaS5zY3NzIiwiLi4vLi4vLi4vLi4vc3lzdGVtL3Njc3MvX2pxdWVyeS1taW5pY29sb3JzLnNjc3MiLCJibG9ja3MvX2dsb2JhbC5zY3NzIiwiYmxvY2tzL19hbGVydHMuc2NzcyIsImJsb2Nrcy9fYmFjay10by10b3Auc2NzcyIsImJsb2Nrcy9fYmFubmVyLnNjc3MiLCJibG9ja3MvX2Zvb3Rlci5zY3NzIiwiYmxvY2tzL19mb3JtLnNjc3MiLCJibG9ja3MvX2Zyb250ZW5kLWVkaXQuc2NzcyIsImJsb2Nrcy9faGVhZGVyLnNjc3MiLCJibG9ja3MvX2ljb25zLnNjc3MiLCJibG9ja3MvX2lmcmFtZS5zY3NzIiwiYmxvY2tzL19vYmplY3Quc2NzcyIsImJsb2Nrcy9fbGF5b3V0LnNjc3MiLCJibG9ja3MvX21vZGFscy5zY3NzIiwiYmxvY2tzL19tb2RpZmllcnMuc2NzcyIsImJsb2Nrcy9fdG9vbGJhci5zY3NzIiwiYmxvY2tzL19sZWdhY3kuc2NzcyIsImJsb2Nrcy9fdGFncy5zY3NzIiwiYmxvY2tzL19qb29tbGEuc2NzcyIsImJsb2Nrcy9fdmlydHVlbWFydC5zY3NzIiwiYmxvY2tzL19jb29raWVfY29uc2VudC5zY3NzIiwidmVuZG9yL19hd2Vzb21wbGV0ZS5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fYnV0dG9ucy5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fY3VzdG9tLWZvcm1zLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwL19jb2xsYXBzZS5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fZHJvcGRvd24uc2NzcyIsInZlbmRvci9ib290c3RyYXAvX2Zvcm1zLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwL19saXN0cy5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fbW9kYWwuc2NzcyIsInZlbmRvci9ib290c3RyYXAvX25hdi5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fcGFnaW5hdGlvbi5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fdGFibGUuc2NzcyIsInZlbmRvci9fY2hvc2VuLnNjc3MiLCJ2ZW5kb3IvX2RyYWd1bGEuc2NzcyIsInZlbmRvci9fbWluaWNvbG9ycy5zY3NzIiwidmVuZG9yL190aW55bWNlLnNjc3MiLCJ0ZW1wbGF0ZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFnUkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQzdRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBRGtQRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FFL1FFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNERjtBQUFBO0VBU0k7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBR0Y7RUFDQTtFQU1BO0VBQ0E7RUFDQTtFQUtFO0VBRUY7RUMyT0ksa0JBTEk7RURwT1I7RUFDQTtFQUtBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFNQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7RUFDQTs7O0FFaEhFO0VGc0hBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUdFO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBSUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUdGO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBR3hLSjtBQUFBO0FBQUE7RUFHRTs7O0FBU0Y7RUZvUU0sV0FMSTs7QUV6UE47RUFOSjtJQU9NOzs7O0FBY047RUFDRTtFQUNBO0VGNk9JLFdBTEk7RUV0T1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVNGO0VBQ0U7RUFDQSxPQ21uQjRCO0VEbG5CNUI7RUFDQTtFQUNBLFNDeW5CNEI7OztBRC9tQjlCO0VBQ0U7RUFDQSxlQ3dqQjRCO0VEcmpCNUIsYUN3akI0QjtFRHZqQjVCLGFDd2pCNEI7RUR2akI1Qjs7O0FBR0Y7RUZ1TVE7O0FBNUpKO0VFM0NKO0lGOE1ROzs7O0FFek1SO0VGa01ROztBQTVKSjtFRXRDSjtJRnlNUTs7OztBRXBNUjtFRjZMUTs7QUE1Sko7RUVqQ0o7SUZvTVE7Ozs7QUUvTFI7RUZ3TFE7O0FBNUpKO0VFNUJKO0lGK0xROzs7O0FFMUxSO0VGK0tNLFdBTEk7OztBRXJLVjtFRjBLTSxXQUxJOzs7QUUxSlY7RUFDRTtFQUNBLGVDd1YwQjs7O0FEOVU1QjtFQUNFO0VBQ0E7RUFDQTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7OztBQU1GO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7RUFDRSxhQzZiNEI7OztBRHhiOUI7RUFDRTtFQUNBOzs7QUFNRjtFQUNFOzs7QUFRRjtBQUFBO0VBRUUsYUNzYTRCOzs7QUQ5WjlCO0VGNkVNLFdBTEk7OztBRWpFVjtFQUNFLFNDcWY0QjtFRHBmNUI7RUFDQTs7O0FBU0Y7QUFBQTtFQUVFO0VGd0RJLFdBTEk7RUVqRFI7RUFDQTs7O0FBR0Y7RUFBTTs7O0FBQ047RUFBTTs7O0FBS047RUFDRTtFQUNBLGlCQ2dOd0M7O0FEOU14QztFQUNFOzs7QUFXRjtFQUVFO0VBQ0E7OztBQU9KO0FBQUE7QUFBQTtBQUFBO0VBSUUsYUNnVjRCO0VIbFV4QixXQUxJOzs7QUVEVjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VGRUksV0FMSTs7QUVRUjtFRkhJLFdBTEk7RUVVTjtFQUNBOzs7QUFJSjtFRlZNLFdBTEk7RUVpQlI7RUFDQTs7QUFHQTtFQUNFOzs7QUFJSjtFQUNFO0VGdEJJLFdBTEk7RUU2QlIsT0N1NUNrQztFRHQ1Q2xDLGtCQ3U1Q2tDO0VDNXJEaEM7O0FGd1NGO0VBQ0U7RUY3QkUsV0FMSTs7O0FFNkNWO0VBQ0U7OztBQU1GO0FBQUE7RUFFRTs7O0FBUUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFLGFDNFg0QjtFRDNYNUIsZ0JDMlg0QjtFRDFYNUIsT0M0WjRCO0VEM1o1Qjs7O0FBT0Y7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNRTtFQUNBO0VBQ0E7OztBQVFGO0VBQ0U7OztBQU1GO0VBRUU7OztBQVFGO0VBQ0U7OztBQUtGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTtFQUNBO0VGNUhJLFdBTEk7RUVtSVI7OztBQUlGO0FBQUE7RUFFRTs7O0FBS0Y7RUFDRTs7O0FBR0Y7RUFHRTs7QUFHQTtFQUNFOzs7QUFPSjtFQUNFOzs7QUFRRjtBQUFBO0FBQUE7QUFBQTtFQUlFOztBQUdFO0FBQUE7QUFBQTtBQUFBO0VBQ0U7OztBQU9OO0VBQ0U7RUFDQTs7O0FBS0Y7RUFDRTs7O0FBVUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUY7RUFDRTtFQUNBO0VBQ0E7RUFDQSxlQ21ONEI7RUhwYXRCO0VFb05OOztBRmhYRTtFRXlXSjtJRnRNUTs7O0FFK01OO0VBQ0U7OztBQU9KO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBT0U7OztBQUdGO0VBQ0U7OztBQVNGO0VBQ0U7RUFDQTs7O0FBUUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0VBQ0U7OztBQUtGO0VBQ0U7OztBQU9GO0VBQ0U7RUFDQTs7O0FBS0Y7RUFDRTs7O0FBS0Y7RUFDRTs7O0FBT0Y7RUFDRTtFQUNBOzs7QUFRRjtFQUNFOzs7QUFRRjtFQUNFOzs7QUdya0JGO0VMbVFNLFdBTEk7RUs1UFIsYUZ3b0I0Qjs7O0FFbm9CNUI7RUxnUU07RUs1UEosYUZ5bkJrQjtFRXhuQmxCLGFGd21CMEI7O0FIemdCMUI7RUtwR0Y7SUx1UU07Ozs7QUt2UU47RUxnUU07RUs1UEosYUZ5bkJrQjtFRXhuQmxCLGFGd21CMEI7O0FIemdCMUI7RUtwR0Y7SUx1UU07Ozs7QUt2UU47RUxnUU07RUs1UEosYUZ5bkJrQjtFRXhuQmxCLGFGd21CMEI7O0FIemdCMUI7RUtwR0Y7SUx1UU07Ozs7QUt2UU47RUxnUU07RUs1UEosYUZ5bkJrQjtFRXhuQmxCLGFGd21CMEI7O0FIemdCMUI7RUtwR0Y7SUx1UU07Ozs7QUt2UU47RUxnUU07RUs1UEosYUZ5bkJrQjtFRXhuQmxCLGFGd21CMEI7O0FIemdCMUI7RUtwR0Y7SUx1UU07Ozs7QUt2UU47RUxnUU07RUs1UEosYUZ5bkJrQjtFRXhuQmxCLGFGd21CMEI7O0FIemdCMUI7RUtwR0Y7SUx1UU07Ozs7QUsvT1I7RUN2REU7RUFDQTs7O0FEMkRGO0VDNURFO0VBQ0E7OztBRDhERjtFQUNFOztBQUVBO0VBQ0UsY0Zzb0IwQjs7O0FFNW5COUI7RUw4TU0sV0FMSTtFS3ZNUjs7O0FBSUY7RUFDRSxlRmlVTztFSDFISCxXQUxJOztBSy9MUjtFQUNFOzs7QUFJSjtFQUNFO0VBQ0EsZUZ1VE87RUgxSEgsV0FMSTtFS3RMUixPVHpFb0M7O0FTMkVwQztFQUNFOzs7QUVoR0o7RUNJRTtFQUdBOzs7QURERjtFQUNFLFNKNmpEa0M7RUk1akRsQyxrQko2akRrQztFSTVqRGxDO0VIR0U7RUlSRjtFQUdBOzs7QURjRjtFQUVFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VQeVBNLFdBTEk7RU9sUFIsT0pnakRrQzs7O0FNbGxEbEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUNIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDc0RFO0VGNUNFO0lBQ0UsV05rZWU7OztBUXZibkI7RUY1Q0U7SUFDRSxXTmtlZTs7O0FRdmJuQjtFRjVDRTtJQUNFLFdOa2VlOzs7QVF2Ym5CO0VGNUNFO0lBQ0UsV05rZWU7OztBUXZibkI7RUY1Q0U7SUFDRSxXTmtlZTs7O0FTbGZ2QjtFQUVJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTs7O0FBS0Y7RUNOQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QURFRTtFQ09GO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBK0NJO0VBQ0U7OztBQUdGO0VBcENKO0VBQ0E7OztBQWNBO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQStCRTtFQWhESjtFQUNBOzs7QUFxRFE7RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUF1RVE7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBbUVNO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBRjFETjtFRVVFO0lBQ0U7O0VBR0Y7SUFwQ0o7SUFDQTs7RUFjQTtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUErQkU7SUFoREo7SUFDQTs7RUFxRFE7SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUF1RVE7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUFtRU07QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7OztBRjFETjtFRVVFO0lBQ0U7O0VBR0Y7SUFwQ0o7SUFDQTs7RUFjQTtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUErQkU7SUFoREo7SUFDQTs7RUFxRFE7SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUF1RVE7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUFtRU07QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7OztBRjFETjtFRVVFO0lBQ0U7O0VBR0Y7SUFwQ0o7SUFDQTs7RUFjQTtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUErQkU7SUFoREo7SUFDQTs7RUFxRFE7SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUF1RVE7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUFtRU07QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7OztBRjFETjtFRVVFO0lBQ0U7O0VBR0Y7SUFwQ0o7SUFDQTs7RUFjQTtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUErQkU7SUFoREo7SUFDQTs7RUFxRFE7SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUF1RVE7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUFtRU07QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7OztBRjFETjtFRVVFO0lBQ0U7O0VBR0Y7SUFwQ0o7SUFDQTs7RUFjQTtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUErQkU7SUFoREo7SUFDQTs7RUFxRFE7SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUErRE07SUFoRU47SUFDQTs7RUF1RVE7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUFtRU07QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7OztBQ3JIVjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBLGVYa1lPO0VXallQLGdCWHVzQjRCO0VXdHNCNUI7O0FBT0E7RUFDRTtFQUVBO0VBQ0E7RUFDQSxxQlgrc0IwQjtFVzlzQjFCOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBSUo7RUFDRTs7O0FBT0Y7RUFDRTs7O0FBVUE7RUFDRTs7O0FBZUY7RUFDRTs7QUFHQTtFQUNFOzs7QUFPSjtFQUNFOztBQUdGO0VBQ0U7OztBQVVGO0VBQ0U7RUFDQTs7O0FBTUY7RUFDRTtFQUNBOzs7QUFRSjtFQUNFO0VBQ0E7OztBQVFBO0VBQ0U7RUFDQTs7O0FDNUlGO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBbEJGO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBbEJGO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBbEJGO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBbEJGO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBbEJGO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBbEJGO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBbEJGO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FEaUpBO0VBQ0U7RUFDQTs7O0FIM0ZGO0VHeUZBO0lBQ0U7SUFDQTs7O0FIM0ZGO0VHeUZBO0lBQ0U7SUFDQTs7O0FIM0ZGO0VHeUZBO0lBQ0U7SUFDQTs7O0FIM0ZGO0VHeUZBO0lBQ0U7SUFDQTs7O0FIM0ZGO0VHeUZBO0lBQ0U7SUFDQTs7O0FFbktOO0VBQ0UsZWJ1MkJzQzs7O0FhOTFCeEM7RUFDRTtFQUNBO0VBQ0E7RWhCOFFJLFdBTEk7RWdCclFSLGFiK2xCNEI7OztBYTNsQjlCO0VBQ0U7RUFDQTtFaEJvUUksV0FMSTs7O0FnQjNQVjtFQUNFO0VBQ0E7RWhCOFBJLFdBTEk7OztBaUJ0UlY7RUFDRSxZZCsxQnNDO0VIcmtCbEMsV0FMSTtFaUJqUlIsT2QrMUJzQzs7O0FlcDJCeEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFbEJ3UkksV0FMSTtFa0JoUlIsYXRCbUtvQztFc0JsS3BDLGFmeW1CNEI7RWV4bUI1QixPZjQzQnNDO0VlMzNCdEM7RUFDQSxrQmZxM0JzQztFZXAzQnRDO0VBQ0E7RWRHRTtFZUhFLFlETUo7O0FDRkk7RURoQk47QUFBQTtBQUFBO0FBQUE7QUFBQTtJQ2lCUTs7O0FER047QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFLSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0UsT2ZzMkJvQztFZXIyQnBDLGtCZmcyQm9DO0VlLzFCcEMsY2Y4MkJvQztFZTcyQnBDO0VBS0UsWWZraEJrQjs7QWU5Z0J0QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUU7RUFNQTtFQUtBOztBQUtGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQUlGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRSxPZjQwQm9DO0VlMTBCcEM7O0FBUUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFLGtCZjh5Qm9DO0VlM3lCcEM7O0FBSUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQSxtQnRCeUZrQztFc0J4RmxDLE9mc3lCb0M7RWlCcDRCdEMsa0JqQnFpQ2dDO0VlcjhCOUI7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QnRCbUxrQztFc0JsTGxDO0VDekZFLFlEMEZGOztBQ3RGRTtFRDBFSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0lDekVNOzs7QUR3Rk47QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFLGtCZjQ3QjhCOzs7QWVuN0JsQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYWZ3ZjRCO0VldmY1QixPZjJ4QnNDO0VlMXhCdEM7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFFRTtFQUNBOzs7QUFXSjtFQUNFLFlmNHdCc0M7RWUzd0J0QztFbEJ5SUksV0FMSTtFSXZRTjs7QWN1SUY7RUFDRTtFQUNBO0VBQ0EsbUJmb29CMEI7OztBZWhvQjlCO0VBQ0UsWWZnd0JzQztFZS92QnRDO0VsQjRISSxXQUxJO0VJdlFOOztBY29KRjtFQUNFO0VBQ0E7RUFDQSxtQnRCa0JrQzs7O0FzQlZwQztBQUFBO0VBQ0UsWWY2dUJvQzs7QWUxdUJ0QztFQUNFLFlmMHVCb0M7O0FldnVCdEM7RUFDRSxZZnV1Qm9DOzs7QWVsdUJ4QztFQUNFLE9mcXVCc0M7RWVwdUJ0QyxRZjh0QnNDO0VlN3RCdEMsU3RCVm9DOztBc0JZcEM7RUFDRTs7QUFHRjtFQUNFO0VkdkxBOztBYzJMRjtFQUNFO0VkNUxBOztBY2dNRjtFQUFvQixRZjhzQmtCOztBZTdzQnRDO0VBQW9CLFFmOHNCa0I7OztBa0I3NUJ4QztFQUNFO0VBRUE7RUFDQTtFQUNBO0VyQnFSSSxXQUxJO0VxQjdRUixhekJnS29DO0V5Qi9KcEMsYWxCc21CNEI7RWtCcm1CNUIsT2xCeTNCc0M7RWtCeDNCdEM7RUFDQSxrQnpCTW9DO0V5QkxwQztFQUNBO0VBQ0EscUJsQis5QmtDO0VrQjk5QmxDLGlCekI2S2tDO0V5QjVLbEM7RWpCSEU7RWVIRSxZRVNKOztBRkxJO0VFZk47SUZnQlE7OztBRU1OO0VBQ0UsY2xCczNCb0M7RWtCcjNCcEM7RUFLRSxZbEJpK0I0Qjs7QWtCNzlCaEM7RUFFRSxlekJrSmtDO0V5QmpKbEM7O0FBR0Y7RUFFRSxrQmxCdTFCb0M7O0FrQmwxQnRDO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRSxhbEJzdUI0QjtFa0JydUI1QixnQmxCcXVCNEI7RWtCcHVCNUIsY2xCcXVCNEI7RUhsZ0J4QixXQUxJO0VJdlFOOzs7QWlCOENKO0VBQ0UsYXpCeUhvQztFeUJ4SHBDLGdCekJ3SG9DO0V5QnZIcEMsY3pCd0hvQztFSW1HaEMsV0FMSTtFSXZRTjs7O0FpQndEQTtFQUNFOzs7QUN4RU47RUFDRTtFQUNBLFluQnE2QndDO0VtQnA2QnhDLGNuQnE2QndDO0VtQnA2QnhDLGVuQnE2QndDOztBbUJuNkJ4QztBQUFBO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRSxlbkIyNUJ3QztFbUIxNUJ4QztFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTs7O0FBSUo7QUFBQTtFQUNFO0VBRUE7RUFDQSxPbkIwNEJ3QztFbUJ6NEJ4QyxRbkJ5NEJ3QztFbUJ4NEJ4QztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsUW5CMjRCd0M7RW1CMTRCeEM7O0FBR0E7QUFBQTtFbEIzQkU7O0FrQitCRjtFQUVFLGVuQm00QnNDOztBbUJoNEJ4QztBQUFBO0VBQ0UsUW5CMDNCc0M7O0FtQnYzQnhDO0FBQUE7RUFDRSxjbkJzMUJvQztFbUJyMUJwQztFQUNBLFluQjhmb0I7O0FtQjNmdEI7QUFBQTtFQUNFLGtCMUJyQmtDO0UwQnNCbEMsYzFCdEJrQzs7QTBCd0JsQztBQUFBO0VBSUk7O0FBSUo7RUFJSTs7QUFLTjtBQUFBO0VBQ0Usa0IxQjFDa0M7RTBCMkNsQyxjMUIzQ2tDO0UwQmdEaEM7O0FBSUo7QUFBQTtFQUNFO0VBQ0E7RUFDQSxTbkJrMkJ1Qzs7QW1CMzFCdkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0EsU25CeTFCcUM7OztBbUIzMEIzQztFQUNFLGNuQm8xQmdDOztBbUJsMUJoQztBQUFBO0FBQUE7RUFDRTtFQUVBLE9uQjgwQjhCO0VtQjcwQjlCO0VBQ0E7RUFDQTtFbEJqSEE7RWVIRSxZR3NIRjs7QUhsSEU7RUcwR0o7QUFBQTtBQUFBO0lIekdNOzs7QUdtSEo7QUFBQTtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0VBQ0UscUJuQjYwQjRCO0VtQngwQjFCOztBQUtOO0VBQ0UsZW5Cd3pCOEI7RW1CdnpCOUI7O0FBRUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7O0FBS047RUFDRTtFQUNBLGNuQnN5QmdDOzs7QW1CbnlCbEM7RUFDRTtFQUNBO0VBQ0E7O0FBSUU7RUFDRTtFQUNBO0VBQ0EsU25Cc3BCd0I7OztBbUIvb0IxQjtBQUFBO0FBQUE7RUFDRTs7O0FDbkxOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUlBO0VBQTBCLFlwQjhnQ2E7O0FvQjdnQ3ZDO0VBQTBCLFlwQjZnQ2E7O0FvQjFnQ3pDO0VBQ0U7O0FBR0Y7RUFDRSxPcEIrL0J1QztFb0I5L0J2QyxRcEI4L0J1QztFb0I3L0J2QztFQUNBO0VIMUJGLGtCeEJ5Q29DO0UyQmJsQyxRcEI2L0J1QztFQzFnQ3ZDO0VlSEUsWUltQkY7O0FKZkU7RUlNSjtJSkxNOzs7QUlnQko7RUhqQ0Ysa0JqQjhoQ3lDOztBb0J4L0J6QztFQUNFLE9wQncrQjhCO0VvQnYrQjlCLFFwQncrQjhCO0VvQnYrQjlCO0VBQ0EsUXBCdStCOEI7RW9CdCtCOUIsa0JwQnUrQjhCO0VvQnQrQjlCO0VuQjdCQTs7QW1Ca0NGO0VBQ0UsT3BCbytCdUM7RW9CbitCdkMsUXBCbStCdUM7RW9CbCtCdkM7RUhwREYsa0J4QnlDb0M7RTJCYWxDLFFwQm0rQnVDO0VDMWdDdkM7RWVIRSxZSTZDRjs7QUp6Q0U7RUlpQ0o7SUpoQ007OztBSTBDSjtFSDNERixrQmpCOGhDeUM7O0FvQjk5QnpDO0VBQ0UsT3BCODhCOEI7RW9CNzhCOUIsUXBCODhCOEI7RW9CNzhCOUI7RUFDQSxRcEI2OEI4QjtFb0I1OEI5QixrQnBCNjhCOEI7RW9CNThCOUI7RW5CdkRBOztBbUI0REY7RUFDRTs7QUFFQTtFQUNFLGtCcEJnOUJxQzs7QW9CNzhCdkM7RUFDRSxrQnBCNDhCcUM7OztBcUJuaUMzQztFQUNFOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUdFLFFyQndpQ29DO0VxQnZpQ3BDLFlyQnVpQ29DO0VxQnRpQ3BDLGFyQnVpQ29DOztBcUJwaUN0QztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VMUkUsWUtTRjs7QUxMRTtFS1RKO0lMVU07OztBS09OO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRSxhckI0Z0NrQztFcUIzZ0NsQyxnQnJCNGdDa0M7O0FxQnpnQ3BDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFLGFyQnVnQ2tDO0VxQnRnQ2xDLGdCckJ1Z0NrQzs7QXFCbmdDdEM7RUFDRSxhckJpZ0NvQztFcUJoZ0NwQyxnQnJCaWdDb0M7O0FxQjEvQnBDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQSxXckIyL0JrQzs7QXFCei9CbEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxRckJtL0JnQztFcUJsL0JoQztFQUNBLGtCckJnMEJnQztFQ2gzQnBDOztBb0J1REE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0EsV3JCMCtCa0M7O0FxQnIrQnBDO0VBQ0U7O0FBSUo7QUFBQTtBQUFBO0FBQUE7RUFFRSxPNUI3RGtDOztBNEIrRGxDO0FBQUE7QUFBQTtBQUFBO0VBQ0Usa0JyQjB5QmtDOzs7QXNCajRCeEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUdFO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUdFOztBQU1GO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOzs7QUFXTjtFQUNFO0VBQ0E7RUFDQTtFekI4T0ksV0FMSTtFeUJ2T1IsYTdCMEhvQztFNkJ6SHBDLGF0QmdrQjRCO0VzQi9qQjVCLE90Qm0xQnNDO0VzQmwxQnRDO0VBQ0E7RUFDQSxrQnRCMDZCc0M7RXNCejZCdEM7RXJCdENFOzs7QXFCZ0RKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFJRTtFekJ3TkksV0FMSTtFSXZRTjs7O0FxQnlESjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RXpCK01JLFdBTEk7RUl2UU47OztBcUJrRUo7QUFBQTtBQUFBO0FBQUE7RUFFRTs7O0FBYUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RXJCakVBO0VBQ0E7O0FxQnlFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFckIxRUE7RUFDQTs7QXFCc0ZGO0VBQ0U7RXJCMUVBO0VBQ0E7O0FxQjZFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFckI5RUU7RUFDQTs7O0FzQnhCRjtFQUNFO0VBQ0E7RUFDQSxZdkJ1MEJvQztFSHJrQmxDLFdBTEk7RTBCMVBOLE92QmtqQ3FCOzs7QXVCL2lDdkI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFMUJxUEUsV0FMSTtFMEI3T04sT3ZCcWlDcUI7RXVCcGlDckIsa0J2Qm9pQ3FCO0VDL2pDckI7OztBc0JnQ0E7QUFBQTtBQUFBO0FBQUE7RUFFRTs7O0FBL0NGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBcURFLGN2QnVoQ21CO0V1QnBoQ2pCLGV2QjgxQmdDO0V1QjcxQmhDO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0UsY3ZCNGdDaUI7RXVCM2dDakIsWXZCMmdDaUI7OztBdUI1a0NyQjtBQUFBO0FBQUE7QUFBQTtFQTBFSSxldkI0MEJnQztFdUIzMEJoQzs7O0FBM0VKO0VBa0ZFLGN2QjAvQm1COztBdUJ2L0JqQjtFQUVFO0VBQ0EsZXZCMDVCOEI7RXVCejVCOUI7RUFDQTs7QUFJSjtFQUNFLGN2QjYrQmlCO0V1QjUrQmpCLFl2QjQrQmlCOzs7QXVCNWtDckI7RUF3R0k7OztBQXhHSjtBQUFBO0FBQUE7QUFBQTtFQStHRSxjdkI2OUJtQjs7QXVCMzlCbkI7QUFBQTtBQUFBO0FBQUE7RUFDRSxrQnZCMDlCaUI7O0F1QnY5Qm5CO0FBQUE7QUFBQTtBQUFBO0VBQ0UsWXZCczlCaUI7O0F1Qm45Qm5CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0UsT3ZCazlCaUI7OztBdUI3OEJyQjtBQUFBO0FBQUE7RUFDRTs7O0FBaElGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBMElNOzs7QUF0SFI7RUFDRTtFQUNBO0VBQ0EsWXZCdTBCb0M7RUhya0JsQyxXQUxJO0UwQjFQTixPdkJrakNxQjs7O0F1Qi9pQ3ZCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTFCcVBFLFdBTEk7RTBCN09OLE92QnFpQ3FCO0V1QnBpQ3JCLGtCdkJvaUNxQjtFQy9qQ3JCOzs7QXNCZ0NBO0FBQUE7QUFBQTtBQUFBO0VBRUU7OztBQS9DRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQXFERSxjdkJ1aENtQjtFdUJwaENqQixldkI4MUJnQztFdUI3MUJoQztFQUNBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFLGN2QjRnQ2lCO0V1QjNnQ2pCLFl2QjJnQ2lCOzs7QXVCNWtDckI7QUFBQTtBQUFBO0FBQUE7RUEwRUksZXZCNDBCZ0M7RXVCMzBCaEM7OztBQTNFSjtFQWtGRSxjdkIwL0JtQjs7QXVCdi9CakI7RUFFRTtFQUNBLGV2QjA1QjhCO0V1Qno1QjlCO0VBQ0E7O0FBSUo7RUFDRSxjdkI2K0JpQjtFdUI1K0JqQixZdkI0K0JpQjs7O0F1QjVrQ3JCO0VBd0dJOzs7QUF4R0o7QUFBQTtBQUFBO0FBQUE7RUErR0UsY3ZCNjlCbUI7O0F1QjM5Qm5CO0FBQUE7QUFBQTtBQUFBO0VBQ0Usa0J2QjA5QmlCOztBdUJ2OUJuQjtBQUFBO0FBQUE7QUFBQTtFQUNFLFl2QnM5QmlCOztBdUJuOUJuQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFLE92Qms5QmlCOzs7QXVCNzhCckI7QUFBQTtBQUFBO0VBQ0U7OztBQWhJRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQTRJTTs7O0FDOUlWO0VBRUU7RUFDQTtFQUNBO0UzQnVSSSxpQkFMSTtFMkJoUlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFM0JzUUksV0FMSTtFMkIvUFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0V2QmpCRTtFZ0JmRixrQk9rQ3FCO0VSdEJqQixZUXdCSjs7QVJwQkk7RVFoQk47SVJpQlE7OztBUXFCTjtFQUNFO0VBRUE7RUFDQTs7QUFHRjtFQUVFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VQckRGLGtCT3NEdUI7RUFDckI7RUFDQTtFQUtFOztBQUlKO0VBQ0U7RUFDQTtFQUtFOztBQUlKO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTtFQUNBO0VBR0E7O0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtJOztBQUtOO0VBR0U7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBWUY7RUN0R0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEeUZBO0VDdEdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRHlGQTtFQ3RHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUR5RkE7RUN0R0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEeUZBO0VDdEdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRHlGQTtFQ3RHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUR5RkE7RUN0R0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEeUZBO0VDdEdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRG1IQTtFQ3ZHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUQwRkE7RUN2R0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEMEZBO0VDdkdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRDBGQTtFQ3ZHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUQwRkE7RUN2R0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEMEZBO0VDdkdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRDBGQTtFQ3ZHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUQwRkE7RUN2R0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEc0dGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUEsaUJ4QnVSd0M7O0F3QjdReEM7RUFDRTs7QUFHRjtFQUNFOzs7QUFXSjtFQ3hJRTtFQUNBO0U1QjhOSSxpQkFMSTtFNEJ2TlI7OztBRHlJRjtFQzVJRTtFQUNBO0U1QjhOSSxpQkFMSTtFNEJ2TlI7OztBQ25FRjtFVmdCTSxZVWZKOztBVm1CSTtFVXBCTjtJVnFCUTs7O0FVbEJOO0VBQ0U7OztBQU1GO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFVkRJLFlVRUo7O0FWRUk7RVVMTjtJVk1ROzs7QVVETjtFQUNFO0VBQ0E7RVZORSxZVU9GOztBVkhFO0VVQUo7SVZDTTs7OztBV3BCUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNRTs7O0FBR0Y7RUFDRTs7QUN3QkU7RUFDRTtFQUNBLGE1QjZoQndCO0U0QjVoQnhCLGdCNUIyaEJ3QjtFNEIxaEJ4QjtFQXJDSjtFQUNBO0VBQ0E7RUFDQTs7QUEwREU7RUFDRTs7O0FEOUNOO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFOUJ1UUksc0JBTEk7RThCaFFSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTlCME9JLFdBTEk7RThCbk9SO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFMUJ6Q0U7O0EwQjZDRjtFQUNFO0VBQ0E7RUFDQTs7O0FBd0JBO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOzs7QUFJSjtFQUNFOztBQUVBO0VBQ0U7RUFDQTs7O0FuQjFDSjtFbUI0QkE7SUFDRTs7RUFFQTtJQUNFO0lBQ0E7O0VBSUo7SUFDRTs7RUFFQTtJQUNFO0lBQ0E7OztBbkIxQ0o7RW1CNEJBO0lBQ0U7O0VBRUE7SUFDRTtJQUNBOztFQUlKO0lBQ0U7O0VBRUE7SUFDRTtJQUNBOzs7QW5CMUNKO0VtQjRCQTtJQUNFOztFQUVBO0lBQ0U7SUFDQTs7RUFJSjtJQUNFOztFQUVBO0lBQ0U7SUFDQTs7O0FuQjFDSjtFbUI0QkE7SUFDRTs7RUFFQTtJQUNFO0lBQ0E7O0VBSUo7SUFDRTs7RUFFQTtJQUNFO0lBQ0E7OztBbkIxQ0o7RW1CNEJBO0lBQ0U7O0VBRUE7SUFDRTtJQUNBOztFQUlKO0lBQ0U7O0VBRUE7SUFDRTtJQUNBOzs7QUFVTjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQ3BGQTtFQUNFO0VBQ0EsYTVCNmhCd0I7RTRCNWhCeEIsZ0I1QjJoQndCO0U0QjFoQnhCO0VBOUJKO0VBQ0E7RUFDQTtFQUNBOztBQW1ERTtFQUNFOzs7QURnRUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQ2xHQTtFQUNFO0VBQ0EsYTVCNmhCd0I7RTRCNWhCeEIsZ0I1QjJoQndCO0U0QjFoQnhCO0VBdkJKO0VBQ0E7RUFDQTtFQUNBOztBQTRDRTtFQUNFOztBRDBFRjtFQUNFOzs7QUFNSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDbkhBO0VBQ0U7RUFDQSxhNUI2aEJ3QjtFNEI1aEJ4QixnQjVCMmhCd0I7RTRCMWhCeEI7O0FBV0E7RUFDRTs7QUFHRjtFQUNFO0VBQ0EsYzVCMGdCc0I7RTRCemdCdEIsZ0I1QndnQnNCO0U0QnZnQnRCO0VBbkNOO0VBQ0E7RUFDQTs7QUFzQ0U7RUFDRTs7QUQyRkY7RUFDRTs7O0FBT047RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYTNCeWI0QjtFMkJ4YjVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFMUJ0S0U7O0EwQnlLRjtFQUVFO0VWMUxGLGtCVTRMdUI7O0FBR3ZCO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTtFQUNBO0VWbE1GLGtCVW1NdUI7O0FBR3ZCO0VBRUU7RUFDQTtFQUNBOzs7QUFNSjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFOUJtRUksV0FMSTtFOEI1RFI7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7OztBQUlGO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUV0UEY7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFDRTtFQUNBOztBQUtGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU1FOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFJSjtFNUJoQkk7O0E0Qm9CRjtBQUFBO0VBRUU7O0FBSUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtFNUJWRTtFQUNBOztBNEJtQkY7QUFBQTtBQUFBO0FBQUE7QUFBQTtFNUJORTtFQUNBOzs7QTRCd0JKO0VBQ0U7RUFDQTs7QUFFQTtFQUdFOztBQUdGO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFvQkY7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUVFOztBQUdGO0FBQUE7RUFFRTs7QUFJRjtBQUFBO0FBQUE7RTVCMUZFO0VBQ0E7O0E0QjhGRjtBQUFBO0FBQUE7RTVCN0dFO0VBQ0E7OztBNkJ4Qko7RUFFRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RWpDc1FJLFdBTEk7RWlDL1BSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWRmSSxZY2dCSjs7QWRaSTtFY0dOO0lkRlE7OztBY2FOO0VBRUU7O0FBSUY7RUFDRTtFQUNBLFk5QmtoQm9COztBOEI5Z0J0QjtFQUVFO0VBQ0E7RUFDQTs7O0FBUUo7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBOztBQUVBO0VBQ0U7RUFDQTtFN0I3Q0E7RUFDQTs7QTZCK0NBO0VBR0U7RUFDQTs7QUFJSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7QUFHRjtFQUVFO0U3QmpFQTtFQUNBOzs7QTZCMkVKO0VBRUU7RUFDQTtFQUNBOztBQUdBO0U3QjVGRTs7QTZCZ0dGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7RWJqSEYsa0Jha0h1Qjs7O0FBU3pCO0VBRUU7RUFDQTtFQUNBO0VBR0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFFRTs7QUFJSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFLGE5QjBkMEI7RThCemQxQjtFQUNBOzs7QUFVRjtBQUFBO0VBRUU7RUFDQTs7O0FBS0Y7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7O0FBTUY7QUFBQTtFQUNFOzs7QUFVRjtFQUNFOztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7O0FDN0xKO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQW9CSjtFQUNFO0VBQ0E7RUFDQTtFbEM0TkksV0FMSTtFa0NyTlI7RUFDQTtFQUNBOztBQUVBO0VBRUU7OztBQVVKO0VBRUU7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTs7QUFJSjtFQUNFOzs7QUFTSjtFQUNFLGF0Q29Hb0M7RXNDbkdwQyxnQnRDbUdvQztFc0NsR3BDOztBQUVBO0FBQUE7QUFBQTtFQUdFOzs7QUFhSjtFQUNFO0VBQ0E7RUFHQTs7O0FBSUY7RUFDRTtFbEN5SUksV0FMSTtFa0NsSVI7RUFDQTtFQUNBO0VBQ0E7RTlCeElFO0VlSEUsWWU2SUo7O0FmeklJO0VlaUlOO0lmaElROzs7QWUwSU47RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBTUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBdkIxSEU7RXVCc0lBO0lBRUk7SUFDQTs7RUFFQTtJQUNFOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUlKO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SWY5TkosWWVnT0k7O0VBR0E7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOzs7QXZCNUxSO0V1QnNJQTtJQUVJO0lBQ0E7O0VBRUE7SUFDRTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFJSjtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lmOU5KLFllZ09JOztFQUdBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7O0F2QjVMUjtFdUJzSUE7SUFFSTtJQUNBOztFQUVBO0lBQ0U7O0VBRUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBSUo7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUVFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJZjlOSixZZWdPSTs7RUFHQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7OztBdkI1TFI7RXVCc0lBO0lBRUk7SUFDQTs7RUFFQTtJQUNFOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUlKO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SWY5TkosWWVnT0k7O0VBR0E7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOzs7QXZCNUxSO0V1QnNJQTtJQUVJO0lBQ0E7O0VBRUE7SUFDRTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFJSjtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lmOU5KLFllZ09JOztFQUdBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7O0FBdERSO0VBRUk7RUFDQTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWY5TkosWWVnT0k7O0FBR0E7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFpQlo7QUFBQTtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1FO0VBQ0U7OztBQ3pSTjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RS9CakJFOztBK0JxQkY7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0UvQnRCRjtFQUNBOztBK0J5QkE7RUFDRTtFL0JiRjtFQUNBOztBK0JtQkY7QUFBQTtFQUVFOzs7QUFJSjtFQUdFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBUUE7RUFDRTs7O0FBUUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0UvQjdGRTs7O0ErQmtHSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0UvQnhHRTs7O0ErQmtISjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RS9CMUlFOzs7QStCOElKO0FBQUE7QUFBQTtFQUdFOzs7QUFHRjtBQUFBO0UvQjNJSTtFQUNBOzs7QStCK0lKO0FBQUE7RS9CbElJO0VBQ0E7OztBK0I4SUY7RUFDRTs7QXhCM0hBO0V3QnVISjtJQVFJO0lBQ0E7O0VBR0E7SUFFRTtJQUNBOztFQUVBO0lBQ0U7SUFDQTs7RUFLQTtJL0IzS0o7SUFDQTs7RStCNktNO0FBQUE7SUFHRTs7RUFFRjtBQUFBO0lBR0U7O0VBSUo7SS9CNUtKO0lBQ0E7O0UrQjhLTTtBQUFBO0lBR0U7O0VBRUY7QUFBQTtJQUdFOzs7O0FDcE9aO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFcEMyUEksV0FMSTtFb0NwUFI7RUFDQTtFQUNBO0VBQ0E7RWhDdEJFO0VnQ3dCRjtFakIzQkksWWlCNEJKOztBakJ4Qkk7RWlCV047SWpCVlE7OztBaUJ5Qk47RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFakJsREUsWWlCbURGOztBakIvQ0U7RWlCc0NKO0lqQnJDTTs7O0FpQmlETjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VoQy9ERTtFQUNBOztBZ0NpRUE7RWhDbEVBO0VBQ0E7O0FnQ3NFRjtFQUNFOztBQUlGO0VoQzlERTtFQUNBOztBZ0NpRUU7RWhDbEVGO0VBQ0E7O0FnQ3NFQTtFaEN2RUE7RUFDQTs7O0FnQzRFSjtFQUNFOzs7QUFTQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFaENwSEE7O0FnQ3VIQTtFQUFnQjs7QUFDaEI7RUFBZTs7QUFHYjtFaEMzSEY7OztBZ0NxSUE7RUFDRTtFQUNBOzs7QUMxSk47RUFFRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RXJDK1FJLFdBTEk7RXFDeFFSO0VBQ0E7RWpDQUU7OztBaUNNRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFOzs7QUNyQ0o7RUFFRTtFQUNBO0V0QzRSSSx3QkFMSTtFc0NyUlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VoQ3BCQTtFQUNBOzs7QWdDdUJGO0VBQ0U7RUFDQTtFQUNBO0V0Q2dRSSxXQUxJO0VzQ3pQUjtFQUNBO0VBQ0E7RUFDQTtFbkJwQkksWW1CcUJKOztBbkJqQkk7RW1CUU47SW5CUFE7OztBbUJrQk47RUFDRTtFQUNBO0VBRUE7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLFNuQzJ1Q2dDO0VtQzF1Q2hDOztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFO0VBQ0E7RWxCdERGLGtCa0J1RHVCO0VBQ3JCOztBQUdGO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0UsYW5DOHNDZ0M7O0FtQ3pzQzlCO0VsQzlCRjtFQUNBOztBa0NtQ0U7RWxDbERGO0VBQ0E7OztBa0NrRUo7RUNsR0U7RUFDQTtFdkMwUkksd0JBTEk7RXVDblJSOzs7QURtR0Y7RUN0R0U7RUFDQTtFdkMwUkksd0JBTEk7RXVDblJSOzs7QUNGRjtFQUVFO0VBQ0E7RXhDdVJJLG1CQUxJO0V3Q2hSUjtFQUNBO0VBQ0E7RUFHQTtFQUNBO0V4QytRSSxXQUxJO0V3Q3hRUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXBDSkU7O0FvQ1NGO0VBQ0U7OztBQUtKO0VBQ0U7RUFDQTs7O0FDaENGO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VyQ0hFOzs7QXFDUUo7RUFFRTs7O0FBSUY7RUFDRSxhdEM2a0I0QjtFc0M1a0I1Qjs7O0FBUUY7RUFDRSxldENvK0M4Qjs7QXNDaitDOUI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFRRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFKRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUM1REY7RUFDRTtJQUFLLHVCdkN1aEQyQjs7O0F1Q2xoRHBDO0FBQUE7RUFHRTtFMUNrUkksc0JBTEk7RTBDM1FSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFMUNzUUksV0FMSTtFMEMvUFI7RXRDUkU7OztBc0NhSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXZCeEJJLFl1QnlCSjs7QXZCckJJO0V1QllOO0l2QlhROzs7O0F1QnVCUjtFdEJBRTtFc0JFQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBSUE7RUFDRTs7QUFHRTtFQUpKO0lBS007Ozs7QUMzRFI7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUdBO0VBQ0E7RXZDWEU7OztBdUNlSjtFQUNFO0VBQ0E7O0FBRUE7RUFFRTtFQUNBOzs7QUFTSjtFQUNFO0VBQ0E7RUFDQTs7QUFHQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FBUUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFdkN2REU7RUFDQTs7QXVDMERGO0V2QzdDRTtFQUNBOztBdUNnREY7RUFFRTtFQUNBO0VBQ0E7O0FBSUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0VBQ0U7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7OztBQWFGO0VBQ0U7O0FBR0U7RXZDdkRKO0VBWkE7O0F1Q3dFSTtFdkN4RUo7RUFZQTs7QXVDaUVJO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7OztBaEN0RlI7RWdDOERBO0lBQ0U7O0VBR0U7SXZDdkRKO0lBWkE7O0V1Q3dFSTtJdkN4RUo7SUFZQTs7RXVDaUVJO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtJQUNFO0lBQ0E7OztBaEN0RlI7RWdDOERBO0lBQ0U7O0VBR0U7SXZDdkRKO0lBWkE7O0V1Q3dFSTtJdkN4RUo7SUFZQTs7RXVDaUVJO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtJQUNFO0lBQ0E7OztBaEN0RlI7RWdDOERBO0lBQ0U7O0VBR0U7SXZDdkRKO0lBWkE7O0V1Q3dFSTtJdkN4RUo7SUFZQTs7RXVDaUVJO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtJQUNFO0lBQ0E7OztBaEN0RlI7RWdDOERBO0lBQ0U7O0VBR0U7SXZDdkRKO0lBWkE7O0V1Q3dFSTtJdkN4RUo7SUFZQTs7RXVDaUVJO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtJQUNFO0lBQ0E7OztBaEN0RlI7RWdDOERBO0lBQ0U7O0VBR0U7SXZDdkRKO0lBWkE7O0V1Q3dFSTtJdkN4RUo7SUFZQTs7RXVDaUVJO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7O0VBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtJQUNFO0lBQ0E7OztBQWNaO0V2Q2hKSTs7QXVDbUpGO0VBQ0U7O0FBRUE7RUFDRTs7O0FBYUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBVkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBVkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBVkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBVkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBVkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBVkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBVkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDNUxKO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0EsT3pDbXBEMkI7RXlDbHBEM0IsUXpDa3BEMkI7RXlDanBEM0I7RUFDQTtFQUNBO0VBQ0E7RXhDSkU7RXdDTUY7O0FBR0E7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFFRTtFQUNBO0VBQ0E7OztBQVFKO0VBSEU7OztBQVNFO0VBVEY7OztBQ2pERjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTdDeVJJLG1CQUxJO0U2Q2xSUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0U3QzJRSSxXQUxJO0U2Q3BRUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXpDUkU7O0F5Q1dGO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBSUo7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFekNoQ0U7RUFDQTs7QXlDa0NGO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRTtFQUNBOzs7QUM5REY7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTs7O0FBT0Y7RUFDRTtFQUNBO0VBQ0E7RUFFQTs7QUFHQTtFM0I1Q0ksWTJCNkNGO0VBQ0EsVzNDZzhDZ0M7O0FnQjErQzlCO0UyQndDSjtJM0J2Q007OztBMkIyQ047RUFDRSxXM0M4N0NnQzs7QTJDMTdDbEM7RUFDRSxXM0MyN0NnQzs7O0EyQ3Y3Q3BDO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFMUNyRkU7RTBDeUZGOzs7QUFJRjtFQUVFO0VBQ0E7RUFDQTtFQ2xIQTtFQUNBO0VBQ0E7RUFDQSxTRGtIMEI7RUNqSDFCO0VBQ0E7RUFDQSxrQkQrRzREOztBQzVHNUQ7RUFBUzs7QUFDVDtFQUFTLFNEMkdpRjs7O0FBSzVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0UxQ3RHRTtFQUNBOztBMEN3R0Y7RUFDRTtFQUNBOzs7QUFLSjtFQUNFO0VBQ0E7OztBQUtGO0VBQ0U7RUFHQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTFDMUhFO0VBQ0E7O0EwQytIRjtFQUNFOzs7QW5DNUdBO0VtQ2tIRjtJQUNFO0lBQ0E7O0VBSUY7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTs7O0FuQy9IQTtFbUNvSUY7QUFBQTtJQUVFOzs7QW5DdElBO0VtQzJJRjtJQUNFOzs7QUFVQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFMUMxTUo7O0EwQzhNRTtBQUFBO0UxQzlNRjs7QTBDbU5FO0VBQ0U7OztBbkMzSko7RW1DeUlBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTtJQUNBO0kxQzFNSjs7RTBDOE1FO0FBQUE7STFDOU1GOztFMENtTkU7SUFDRTs7O0FuQzNKSjtFbUN5SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNFO0lBQ0E7STFDMU1KOztFMEM4TUU7QUFBQTtJMUM5TUY7O0UwQ21ORTtJQUNFOzs7QW5DM0pKO0VtQ3lJQTtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0U7SUFDQTtJMUMxTUo7O0UwQzhNRTtBQUFBO0kxQzlNRjs7RTBDbU5FO0lBQ0U7OztBbkMzSko7RW1DeUlBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTtJQUNBO0kxQzFNSjs7RTBDOE1FO0FBQUE7STFDOU1GOztFMENtTkU7SUFDRTs7O0FuQzNKSjtFbUN5SUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNFO0lBQ0E7STFDMU1KOztFMEM4TUU7QUFBQTtJMUM5TUY7O0UwQ21ORTtJQUNFOzs7QUV0T1I7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoRHdSSSxxQkFMSTtFZ0RqUlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VDbEJBLGFyRDBLb0M7RXFEeEtwQztFQUNBLGE5Q3dtQjRCO0U4Q3ZtQjVCLGE5QyttQjRCO0U4QzltQjVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VqRGdSSSxXQUxJO0VnRGhRUjtFQUNBOztBQUVBO0VBQVM7O0FBRVQ7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBS047RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7O0FBSUo7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7O0FBSUo7QUFFQTtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBOzs7QUFJSjtBQUNBO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBOzs7QUFJSjtBQWtCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTVDakdFOzs7QThDbkJKO0VBRUU7RUFDQTtFbEQ0UkkscUJBTEk7RWtEclJSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWxEbVJJLDRCQUxJO0VrRDVRUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VEekJBLGFyRDBLb0M7RXFEeEtwQztFQUNBLGE5Q3dtQjRCO0U4Q3ZtQjVCLGE5QyttQjRCO0U4QzltQjVCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VqRGdSSSxXQUxJO0VrRDFQUjtFQUNBO0VBQ0E7RUFDQTtFOUNoQkU7O0E4Q29CRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUo7RUFDRTs7QUFFQTtFQUVFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7OztBQUtOO0FBRUU7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUFLTjtBQUdFO0VBQ0U7O0FBRUE7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7QUFFRTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUVFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7OztBQUtOO0FBa0JBO0VBQ0U7RUFDQTtFbEQyR0ksV0FMSTtFa0RwR1I7RUFDQTtFQUNBO0U5QzVKRTtFQUNBOztBOEM4SkY7RUFDRTs7O0FBSUo7RUFDRTtFQUNBOzs7QUNyTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FDdEJBO0VBQ0U7RUFDQTtFQUNBOzs7QUR1Qko7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWhDbEJJLFlnQ21CSjs7QWhDZkk7RWdDUU47SWhDUFE7Ozs7QWdDaUJSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7OztBQVNBO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHRTtFQUNBOztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTtFQUNBO0VoQzVERSxZZ0M2REY7O0FoQ3pERTtFZ0NxREo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtJaENwRE07Ozs7QWdDaUVSO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBLE9oRGdoRG1DO0VnRC9nRG5DO0VBQ0EsT3ZEN0VvQztFdUQ4RXBDO0VBQ0E7RUFDQTtFQUNBLFNoRDJnRG1DO0VnQmptRC9CLFlnQ3VGSjs7QWhDbkZJO0VnQ2tFTjtBQUFBO0loQ2pFUTs7O0FnQ3FGTjtBQUFBO0FBQUE7RUFFRSxPdkR2RmtDO0V1RHdGbEM7RUFDQTtFQUNBLFNoRG1nRGlDOzs7QWdEaGdEckM7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBS0Y7QUFBQTtFQUVFO0VBQ0EsT2hEb2dEbUM7RWdEbmdEbkMsUWhEbWdEbUM7RWdEbGdEbkM7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7RUFDRTs7O0FBRUY7RUFDRTs7O0FBUUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUEsY2hENDhDbUM7RWdEMzhDbkM7RUFDQSxhaEQwOENtQzs7QWdEeDhDbkM7RUFDRTtFQUNBO0VBQ0EsT2hEMDhDaUM7RWdEejhDakMsUWhEMDhDaUM7RWdEejhDakM7RUFDQSxjaEQwOENpQztFZ0R6OENqQyxhaER5OENpQztFZ0R4OENqQztFQUNBO0VBQ0Esa0J2RDdKa0M7RXVEOEpsQztFQUNBO0VBRUE7RUFDQTtFQUNBLFNoRGk4Q2lDO0VnQnptRC9CLFlnQ3lLRjs7QWhDcktFO0VnQ29KSjtJaENuSk07OztBZ0N1S047QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0UsU2hEODdDaUM7OztBZ0RyN0NyQztFQUNFO0VBQ0E7RUFDQSxRaER3N0NtQztFZ0R2N0NuQztFQUNBLGFoRHE3Q21DO0VnRHA3Q25DLGdCaERvN0NtQztFZ0RuN0NuQyxPdkR4TG9DO0V1RHlMcEM7OztBQU1BO0FBQUE7RUFFRSxRaER5N0NpQzs7QWdEdDdDbkM7RUFDRSxrQnZEM0xrQzs7QXVEOExwQztFQUNFLE92RC9Ma0M7OztBdURxTHBDO0FBQUE7QUFBQTtFQUVFLFFoRHk3Q2lDOztBZ0R0N0NuQztFQUNFLGtCdkQzTGtDOztBdUQ4THBDO0VBQ0UsT3ZEL0xrQzs7O0F5RDNCdEM7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBSUY7RUFDRTtJQUFLOzs7QUFJUDtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7OztBQUdGO0VBRUU7RUFDQTtFQUNBOzs7QUFTRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUNBOzs7QUFLSjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUlBO0VBQ0U7QUFBQTtJQUVFOzs7QUMvRU47RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBM0M2REU7RTJDNUNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJbkM1QkEsWW1DOEJBOzs7QW5DMUJBO0VtQ1lKO0luQ1hNOzs7QVJ1REo7RTJDNUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUVFOztFQUdGO0lBR0U7OztBM0M1Qko7RTJDL0JGO0lBaUVNO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTs7OztBM0NuQ047RTJDNUNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJbkM1QkEsWW1DOEJBOzs7QW5DMUJBO0VtQ1lKO0luQ1hNOzs7QVJ1REo7RTJDNUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUVFOztFQUdGO0lBR0U7OztBM0M1Qko7RTJDL0JGO0lBaUVNO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTs7OztBM0NuQ047RTJDNUNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJbkM1QkEsWW1DOEJBOzs7QW5DMUJBO0VtQ1lKO0luQ1hNOzs7QVJ1REo7RTJDNUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUVFOztFQUdGO0lBR0U7OztBM0M1Qko7RTJDL0JGO0lBaUVNO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTs7OztBM0NuQ047RTJDNUNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJbkM1QkEsWW1DOEJBOzs7QW5DMUJBO0VtQ1lKO0luQ1hNOzs7QVJ1REo7RTJDNUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUVFOztFQUdGO0lBR0U7OztBM0M1Qko7RTJDL0JGO0lBaUVNO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTs7OztBM0NuQ047RTJDNUNGO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJbkM1QkEsWW1DOEJBOzs7QW5DMUJBO0VtQ1lKO0luQ1hNOzs7QVJ1REo7RTJDNUJFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUVFOztFQUdGO0lBR0U7OztBM0M1Qko7RTJDL0JGO0lBaUVNO0lBQ0E7SUFDQTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFFQTs7OztBQS9FUjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RW5DNUJBLFltQzhCQTs7QW5DMUJBO0VtQ1lKO0luQ1hNOzs7QW1DMkJGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUVFOztBQUdGO0VBR0U7OztBQTJCUjtFUHBIRTtFQUNBO0VBQ0E7RUFDQSxTNUMwbUNrQztFNEN6bUNsQztFQUNBO0VBQ0Esa0JuRHVCb0M7O0FtRHBCcEM7RUFBUzs7QUFDVDtFQUFTLFM1Q2krQ3lCOzs7QW1EbjNDcEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUNoSkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsU3BEZ3pDa0M7O0FvRDl5Q2xDO0VBQ0U7RUFDQTs7O0FBS0o7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBS0E7RUFDRTs7O0FBSUo7RUFDRTtJQUNFLFNwRG14Q2dDOzs7QW9EL3dDcEM7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7O0FIOUNGO0VBQ0U7RUFDQTtFQUNBOzs7QUlIRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FDRkY7RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBVE47RUFDRTtFQUNBOztBQUdFO0VBR0U7RUFDQTs7O0FBT1I7RUFDRTtFQUNBOztBQUdFO0VBRUU7RUFDQTs7O0FDMUJOO0VBQ0U7RUFFQTs7O0FDSEY7RUFDRTtFQUNBLEt4RDZjNEI7RXdENWM1QjtFQUNBO0VBQ0EsdUJ4RDJjNEI7RXdEMWM1Qjs7QUFFQTtFQUNFO0VBQ0EsT3hEdWMwQjtFd0R0YzFCLFF4RHNjMEI7RXdEcmMxQjtFeENJRSxZd0NIRjs7QXhDT0U7RXdDWko7SXhDYU07Ozs7QXdDREo7RUFDRTs7O0FDbkJOO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQ3JCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsUzFEdW1Da0M7OztBMERwbUNwQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsUzFEK2xDa0M7OztBMER2bENoQztFQUNFO0VBQ0E7RUFDQSxTMURtbEM4Qjs7O0EwRGhsQ2hDO0VBQ0U7RUFDQTtFQUNBLFMxRDZrQzhCOzs7QVE5aUNoQztFa0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzFEbWxDOEI7O0UwRGhsQ2hDO0lBQ0U7SUFDQTtJQUNBLFMxRDZrQzhCOzs7QVE5aUNoQztFa0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzFEbWxDOEI7O0UwRGhsQ2hDO0lBQ0U7SUFDQTtJQUNBLFMxRDZrQzhCOzs7QVE5aUNoQztFa0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzFEbWxDOEI7O0UwRGhsQ2hDO0lBQ0U7SUFDQTtJQUNBLFMxRDZrQzhCOzs7QVE5aUNoQztFa0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzFEbWxDOEI7O0UwRGhsQ2hDO0lBQ0U7SUFDQTtJQUNBLFMxRDZrQzhCOzs7QVE5aUNoQztFa0R4Q0E7SUFDRTtJQUNBO0lBQ0EsUzFEbWxDOEI7O0UwRGhsQ2hDO0lBQ0U7SUFDQTtJQUNBLFMxRDZrQzhCOzs7QTJENW1DcEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FDUkY7QUFBQTtFQ0lFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7QUFBQTtFQUNFOzs7QUNkRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxTOURnY3NDO0U4RC9idEM7OztBQ1JKO0VDQUU7RUFDQTtFQUNBOzs7QUNORjtFQUNFO0VBQ0E7RUFDQSxPakVpc0I0QjtFaUVoc0I1QjtFQUNBO0VBQ0EsU2pFMnJCNEI7OztBa0UvbkJ0QjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFqQko7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBU0Y7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFqQko7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBU0Y7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQXJCSjtBQWNBO0VBT0k7RUFBQTs7O0FBbUJKO0FBMUJBO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQWpCSjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFTRjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFqQko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBSUo7RUFPSTs7O0FBS0Y7RUFPSTs7O0FBbkJOO0VBT0k7OztBQUtGO0VBT0k7OztBQW5CTjtFQU9JOzs7QUFLRjtFQU9JOzs7QUFuQk47RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBakJKO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQUlKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFqQko7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBU0Y7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOzs7QTFEVlI7RTBER0k7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7OztBMURWUjtFMERHSTtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOzs7QTFEVlI7RTBER0k7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7OztBQ3REWjtFRCtDUTtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOzs7QUNuQ1o7RUQ0QlE7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOzs7QUV2RVo7RUFDRTtFQUNBOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7OztBQ2JGO0VBQ0k7RUFDQSxXNUV5S2tDOztBNEV0S2xDO0VBTEo7SUFNUTs7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQVlJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUVJOztBQUdKO0VBQ0k7OztBQU1KO0FBQUE7RUFFSTs7O0FBSVI7RUFDSSxlNUVpQ2tDOzs7QTRFOUJ0QztBQUFBO0VBRUksV3JFeWUwQjs7O0FxRXRlOUI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QTdENUVBO0U2RGdGQTtJQUNJO0lBQ0E7O0VBRUE7SUFDSTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7O0VBSVI7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBLGU1RVg4Qjs7RTRFYTlCO0lBQ0k7O0VBR0o7SUFDSTtJQUNBO0lBQ0EsZTVFcEIwQjtJNEVxQjFCOztFQUdKO0lBQ0k7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7O0VBS0o7SUFDSTs7O0FBS1o7RUFDSTs7QUFFQTtFQUNJLGM1RTlDOEI7O0E0RWlEbEM7RUFDSSxhNUVsRDhCOzs7QTRFc0R0QztFQUNJO0VBQ0EsTzVFdkxrQzs7O0E0RTBMdEM7RUFDSTs7O0FBSUo7RUFDSTs7O0FBR0o7QUFBQTtFQUVJOztBQUVBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUNJOzs7QUFLWjtFQUNJOztBQUVBO0VBQ0k7OztBQUlSO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7OztBQUtKO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUVJO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7RUFHSTs7QUFHSjtBQUFBO0VBQ0k7O0FBSVI7RUFDSTs7O0E3RGhQSjtFNkR1UFE7SUFDSTtJQUNBOztFQUtKO0lBQ0k7SUFDQTs7O0FBWWhCO0VBQ0k7OztBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJOzs7QUFJQTtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOzs7QTdENVNSO0U2RG1UQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7O0VBS0o7SUFDSTtJQUNBO0lBQ0E7SUFDQTs7O0FBS1o7RUFDSTs7QUFFQTtFQUdJOzs7QTdEcFdKO0U2RDBXSTtJQUNJOztFQU1BO0lBQ0k7OztBQU1oQjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBRUk7RUFDQTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFNQTtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7O0E3RGhiUjtFNkR5Ylk7SUFDSTtJQUNBOztFQUtaO0lBQ0k7O0VBR0o7SUFDSTtJQUNBOztFQUVBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFLQTtBQUFBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFJUjtJQUNJO0lBQ0E7O0VBRUE7SUFDSTtJQUNBO0lBQ0E7O0VBS0o7SUFDSTs7O0E3RHhlaEI7RTZEZ2ZBO0lBQ0k7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7QUFFQTtFQUNJOzs7QUFNQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNJO0VBQ0E7RUFDQTs7O0FBTWhCO0VBQ0k7SUFDSTtJQUNBOztFQUdKO0lBQ0k7SUFDQTs7O0FBSVI7RUFDSTtJQUNJO0lBQ0E7O0VBR0o7SUFDSTtJQUNBOzs7QUFJUjtFQUdZO0lBQ0k7SUFDQTs7O0FBTWhCO0FBQUE7QUFBQTtFQUNJO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHSTs7O0FBSVI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFHSTs7O0FBSVI7RUFDSTs7QUFFQTtFQUNJOzs7QUFhSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7O0FBS0k7RUFDSTtFQUNBO0VBQ0E7O0FBTVI7RUFDSTs7QUFFQTtFQUNJOztBQUtaO0VBQ0k7O0FBRUE7RUFHSTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7OztBQUlBO0VBQ0k7OztBN0RodEJKO0U2RHN0QkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtJQUtJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBS0o7RUFDSTs7O0FBSVI7QUFBQTtBQUFBO0VBR0k7OztBQUtBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBN0RoeEJBO0U2RG94QkE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7O0VBS0o7SUFDSTs7O0E3RC95QlI7RTZEcXpCQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBR0k7SUFDSTs7RUFLSjtJQUNJOzs7QUFNaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0FBQUE7RUFFSTs7QUFFQTtBQUFBO0VBQ0k7RUFDQTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJOzs7QUFHSjtBQUFBO0VBRUk7O0FBRUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtFQUNJOzs7QUFNSjtBQUFBO0VBQ0k7O0FBR0o7QUFBQTtFQUNJOztBQUVBO0FBQUE7RUFDSTs7QUFJUjtBQUFBO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7QUFHSjtFQUVJO0VBQ0E7OztBQU1SO0VBQ0k7OztBQU1BO0VBQ0k7OztBQVNJO0VBQ0k7OztBQU9wQjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QTdEbGlDQTtFNkQwaUNBO0lBQ0k7OztBQUlSO0VBQ0k7OztBQU1BO0FBQUE7QUFBQTtFQUNJO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFLSTtFQUNJOzs7QUFNUjtFQUNJO0VBQ0E7OztBN0QxcUNKO0U2RCtxQ0E7SUFDSTs7RUFHSjtJQUNJOzs7QUM3dkNOO0VBQ0U7OztBQUtKO0VBQ0UsV3RFaW5CNEI7OztBc0U5bUI5QjtFQUVFO0lBQ0U7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7OztBQ3RCSjtBQUFBO0FBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUVJO0VBQ0E7O0FBR0o7RUFDSTs7O0EvRHVCSjtFK0RsQkE7SUFDSTtJQUNBO0lBQ0E7SUFDQTs7O0FDOUNOO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0EsTy9FV2tDO0UrRVZsQztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxTL0VvSWdDO0UrRW5JaEM7RUFDQTs7QUFFQTtFQUNFLGF4RStrQnNCOztBd0U5a0J0QjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZL0ViNEI7O0ErRWU5QjtFQUNFOztBQUtOO0VBbENGO0lBbUNJOzs7O0FDMUNOO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7QUFFQTtFQUNJOzs7QUNYWjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0ksV2pGMExrQztFaUZ6TGxDLGtCakZnQmtDOztBaUZkbEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJOztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJLE8xRW8zQmdDO0UwRW4zQmhDLGtCMUU4MkJnQztFMEU3MkJoQztFQUNBOzs7QUFLSjtBQUFBO0VBQ0k7RUFDQTs7QUFHSjtBQUFBO0VBQ0k7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0ksV2pGbUprQzs7O0FpRi9JdEM7RUFDSTtFQUNBOzs7QWxFMkJBO0VrRXZCQTtJQUNJOzs7QUFJUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7O0FBSVI7RUFDSTs7O0FBSUo7QUFBQTtBQUFBO0FBQUE7RUFDSSxPakY3QmtDO0VpRjhCbEMsY2pGOUJrQzs7O0FpRmlDdEM7QUFBQTtBQUFBO0FBQUE7RUFDSSxjakYvQmtDOzs7QWlGa0N0QztFQUNJOzs7QUFJSjtFQUNJO0VBQ0EsU2pGeUhrQztFaUZ4SGxDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT2pGbkVrQztFaUZvRWxDO0VBQ0EsWWpGL0VrQztFaUZnRmxDO0VBQ0EsZWpGbUtpQztFaUZsS2pDOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOzs7QUFLUjtBQUFBO0VBRUk7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOzs7QUFJUjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQVNJO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7OztBQXFCUjtFQUVJOztBQVlSO0VBQ0k7OztBQU9BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTs7O0FDeE5SO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUNURjtFQUNFO0VBQ0E7RUFDQTtFQUNBLGtCbkZEa0M7RW1GRWxDOztBcEVxRUU7RW9FMUVKO0lBUUk7OztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQSxPbkZIa0M7RW1GSWxDOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9uRmJrQztFbUZjbEM7O0FBRUE7RUFDRSxPbkZqQmdDOztBbUZvQmxDO0VBRUU7O0FBSUo7RUFDRTtFQUNBO0VBQ0EsZ0JuRndHa0M7O0FlOUVsQztFb0V2QkU7QUFBQTtJQUVFLFluRm1HOEI7OztBbUYvRmxDO0VBQ0U7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPbkZ2RGtDO0VtRndEbEM7O0FwRWRBO0VvRVNGO0lBUUk7SUFDQTtJQUNBOzs7QUFHRjtFQUNFOztBcEV2QkY7RW9FMEJJO0lBQ0U7OztBQUlKO0FBQUE7RUFFRTtFQUNBO0VBQ0E7O0FwRW5DSjtFb0VzQ0U7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFRTtFQUNBO0VBQ0EsWW5GcEc4Qjs7QWV1RGxDO0VvRWlESTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFHRTs7O0FBTUo7RUFDRTtFQUNBLE9uRjFHOEI7O0FtRmlIaEM7RUFDRTs7QXBFakZKO0VvRW9GRTtBQUFBO0lBSUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTtFQUNBLFluRnRKOEI7O0FtRnlKaEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7RUFDQTs7QXBFbEhKO0VvRXVIRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtJQU1JOzs7QUFJSjtFQUNFOztBQUtOO0VBQ0UsT25GbExrQztFbUZtTGxDO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQUdGO0VBQ0UsT25GaE1rQzs7QW1Ga01sQztFQUNFLE9uRm5NZ0M7O0FtRnFNaEM7RUFDRTs7QUFJSjtFQUNFOztBQUVBO0VBQ0U7OztBQ2pPUjtFQUNFLE9wRmtCb0M7OztBb0ZkcEM7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT3BGRGtDO0VvRkVsQztFQUNBOztBQUdGO0FBQUE7QUFBQTtFQUdFLE9wRmtCa0M7RW9GakJsQyxjcEZpQmtDOztBb0ZkcEM7QUFBQTtBQUFBO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPcEZqQmtDO0VvRmtCbEM7O0FBR0Y7RUFLRTtFQUNBOzs7QUFJSjtBQUFBO0FBQUE7QUFBQTtFQUlFLE9wRmRvQztFb0ZlcEMsY3BGZm9DOzs7QW9GbUJ0QztFQUNFOzs7QUFHRjtFQUNFOzs7QUN2RUY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FDbUJBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQUtGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7O0FDckNGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFLE92RktvQzs7QXVGSnBDO0FBQUE7RUFDRTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFOztBQUNBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTs7QXhFMENBO0V3RWpESjtBQUFBO0FBQUE7QUFBQTtJQVdJOztFQUVBO0FBQUE7QUFBQTtBQUFBO0lBQ0U7Ozs7QUFLTjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBQ0U7O0FBRUE7QUFBQTtBQUFBO0VBQ0UsWXZGNkZnQzs7QXVGekZwQztBQUFBO0FBQUE7RUFDRSxZdkZ3RmtDOzs7QXVGcEZ0QztBQUFBO0VBRUU7RUFDQTtFQUNBOztBeEVYRTtFd0VPSjtBQUFBO0lBT0k7SUFDQTs7OztBQUtGO0VBQ0UsWXZGc0VrQzs7QXVGcEVwQztFQUNFLGV2Rm1Fa0M7OztBdUYvRHBDO0VBQ0UsWXZGOERrQzs7QXVGNURwQztFQUNFLGV2RjJEa0M7OztBdUZ2RHRDO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQnZGdkZvQztFdUZ3RnBDOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCdkZoR2tDOzs7QXdGbEJwQztFQUNFOztBQUdGO0FBQUE7RUFFRSxPeEZZa0M7O0F3RlZsQztBQUFBO0VBQ0UsT3hGU2dDOzs7QXdGSnRDO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQSxheEYyTm9DOzs7QXdGeE50QztFQUNFOztBQUVBO0VBQ0U7RUFDQTs7O0FDM0JKO0VBQ0U7OztBQUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFLFl6RjhGa0M7OztBeUYxRnRDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFvREE7O0FBbERBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtBQUNBO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBQU9GO0FBQUE7RUFDRTtFQUNBOztBQUdGO0FBQUE7RUFDRTtFQUNBOztBQUdGO0FBQUE7RUFDRTtFQUNBOzs7QUFJSjtFQUVFO0FBQUE7SUFFRTtJQUNBOztFMUUzS0E7STBFOEtGO0FBQUE7TUFHSTs7O0UxRWpMRjtJMEVzTEE7TUFDRTs7SUFHRjtNQUNFOztJQUdGO01BQ0U7O0lBR0Y7TUFDRTs7SUFHRjtNQUNFOztJQUdGO01BQ0U7OztFQU9GO0FBQUE7QUFBQTtBQUFBO0lBRUU7SUFDQTs7O0FBTU47RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZXpGdElvQztFeUZ1SXBDOztBMUVsT0U7RTBFc09FO0lBQ0U7O0VBS0Y7SUFDRTs7RUFLRjtJQUNFOzs7O0FBTVI7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFLGtCekYxU2tDO0V5RjJTbEM7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBMUU5UUY7RTBFa1JFO0lBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7QUFLRjtFQUNFOztBQUdGO0VBQ0U7O0FBSUo7RUFFRTs7QTFFelNBO0UwRXVTRjtJQUtJOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTs7OztBQU9OO0VBQ0U7OztBQUlKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBLFV6RjFPa0M7O0V5RjRPbEM7SUFDRTs7RUFLQTtJQUNFO0lBQ0E7SUFDQTs7RTFFaFZKO0kwRXFWRTtNQUNFOztJQUdGO01BQ0U7O0lBR0Y7TUFDRTs7OztBQVFOO0VBRUU7RUFDQSxZekY5UWtDOztBeUZnUmxDO0VBQ0U7RUFDQSxlekZsUmdDO0V5Rm1SaEM7RUFDQTs7QTFFL1dGO0UwRW9YQTtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7OztBQU9GO0VBQ0U7O0FBTUE7RUFDRTtFQUNBO0VBQ0E7O0FBT0Y7RUFDRTs7O0FBUVI7RUFDRTtFQUNBOzs7QUFLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VqRjlaRjtFQU5BO0VpRnVhRSxZekZ4ZThCOztBeUYwZTlCO0VBQ0U7OztBQU1SO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR1c7RUFDUDs7O0FBTUs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ1A7OztBQUlKO0VBQ0UsY3pGM1hnQzs7O0F5RmtZbEM7RUFDRTs7O0FBS047RUFDRTtFQUNBOztBQUVBO0FBQUE7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7O0FBS047RUFDRTtFQUNBOztBQUVBO0FBQUE7RUFFRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7OztBQUtOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUN4bUJGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxTMUYwTW9DO0UwRnpNcEM7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZMUZXb0M7RTBGVnBDOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0FBQUE7RUFFRTs7QUFFQTtBQUFBO0VBQ0U7O0FBTUY7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFkxRjNCa0M7RTBGNEJsQyxjMUZ2QmtDOztBMEZ5QmxDO0VBQ0U7RUFDQTs7QUFHRjtFQUdFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0o7RUFFRTtFQUNBO0VBQ0E7O0FBRUE7RUFHRTs7QUFNSjtFQUNFOztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0FBQUE7RUFFRTs7O0EzRXZEQTtFMkU0REY7QUFBQTtJQUVFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFHRTtJQUNBO0lBQ0E7O0VBR0Y7QUFBQTtJQUVFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOzs7QUN6S047RUFDRTs7O0FBRUY7RUFDRTs7O0FDSEE7RUFDRTs7QUFFRjtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7OztBQ1ZFO0VBQ0k7O0FBRUE7RUFHSTs7O0FDUFo7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0VBR0k7RUFDQTtFQUNBOztBQU9KO0VBQ0k7OztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7O0FBSVI7QUFBQTtBQUFBO0FBQUE7RUFJSTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7O0FBSUk7QUFBQTtBQUFBO0VBRUk7RUFDQTs7QUFNSjtBQUFBO0FBQUE7RUFDSTtFQUNBOztBQUdKO0FBQUE7QUFBQTtFQUNJO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QS9FNUhBO0UrRWlJQTtBQUFBO0lBRUk7SUFDQTtJQUNBOzs7QUFJUjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7QUFBQTtFQUVJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFPSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFFSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBT0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7OztBQUdKO0FBQUE7RUFFSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTs7O0FBR0o7RUFDSTs7O0FBS0E7QUFBQTtFQUNJOztBQUVBO0FBQUE7RUFDSTtFQUNBOzs7QUFLWjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFDSTs7O0FBSUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFLWjtFQUNJO0VBQ0E7OztBQUlSO0FBQUE7RUFFSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUFBO0VBRUk7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtFQUNJOzs7QUFLSjtFQUNJOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFHSTtFQUNBO0VBQ0E7RUFDQTs7O0FBTVI7RUFDSTtFQUNBOzs7QUFLSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QS9FcGJSO0UrRTJiSTtJQUNJO0lBQ0E7SUFDQTs7RUFFQTtJQUNJOztFQU9KO0lBQ0k7O0VBR0o7SUFDSTs7RUFPSjtJQUNJO0lBQ0E7O0VBRUE7SUFDSTs7RUFNaEI7SUFDSTs7RUFJQTtJQUNJO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJOztFQU1oQjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTs7O0EvRXRmUjtFK0U4ZlE7SUFDSTs7RUFHSjtJQUNJOztFQU1SO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBOztFQUdKO0lBR0k7SUFDQTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBOzs7QUFNaEI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOzs7QUFNUjtFQUNJOztBQUdKO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7OztBQUlSO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTs7O0FBSVI7RUFDSTs7O0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7OztBQUlSO0VBQ0k7RUE0Q0E7RUFDQTtFQUNBOztBQTVDQTtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBRUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFHSTs7QUFNUjtFQUNJOztBQUtKO0VBQ0k7RUFDQTs7QUFRUjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTs7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7O0EvRWh4Qlo7RStFeXhCUTtJQUNJO0lBQ0E7O0VBRUE7SUFDSTs7RUFHSjtJQUNJOztFQVFBO0lBQ0k7SUFDQTs7RUFFQTtJQUNJOztFQVF4QjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUtJO0lBQ0k7SUFDQTs7RUFLWjtJQUNJO0lBQ0E7SUFDQTtJQUNBOztFQUdKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOzs7QS9FNTNCSjtFK0VpNEJBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7O0VBSUE7SUFDSTtJQUNBOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0E7QUFBQTtFQUVJO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOzs7QS9FaDlCSjtFK0V1OUJJO0lBQ0k7O0VBR0o7SUFDSTs7RUFHSjtJQUNJOzs7QUFNWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFJUjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QS9FNWpDWjtFK0Vta0NBO0lBQ0k7O0VBSUE7SUFDSTs7O0FBT1I7QUFBQTtFQUdJO0VBQ0E7O0FBU0o7RUFDSTtFQUNBOzs7QUFJUjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0VBRUk7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7O0FBSVI7QUFBQTtBQUFBO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUVJO0VBQ0E7RUFDQTs7O0EvRW5vQ0o7RStFeW9DQTtBQUFBO0lBRUk7O0VBRUE7QUFBQTtBQUFBO0FBQUE7SUFFSTs7RUFFQTtBQUFBO0FBQUE7QUFBQTtJQUNJOztFQUlSO0FBQUE7QUFBQTtBQUFBO0lBRUk7SUFDQTs7RUFHSjtBQUFBO0FBQUE7QUFBQTtJQUVJOztFQUlSO0lBQ0k7OztBQUtKO0VBQ0k7O0FBSUE7RUFDSTs7QUFLSjtFQUNJOzs7QUFPUjtBQUFBO0VBRUk7RUFDQTs7O0FBS0o7RUFDSTs7O0EvRXZyQ0o7RStFNHJDQTtJQUNJOztFQUVBO0FBQUE7SUFFSTs7RUFHSjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHSjtJQUNJOztFQUdKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTs7RUFHSjtJQUNJOztFQUlSO0lBQ0k7O0VBR0o7SUFDSTs7RUFJUjtJQUNJOztFQUtBO0FBQUE7SUFDSTs7RUFJUjtJQUNJOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1SO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7OztBQUtKO0VBQ0k7OztBQUlSO0VBQ0k7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTs7O0EvRTUxQ0E7RStFZzJDQTtJQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7O0FBS1o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7OztBQUlSO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7OztBQUlSO0VBRVE7SUFDSTtJQUNBOzs7QUFNUjtFQUNJO0VBQ0E7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUFRWjtBQUFBO0VBQ0k7OztBQWFSO0FBQUE7QUFBQTtFQUdJOzs7QUFHSjtFQUNJOzs7QUMvaERKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFFSTs7QUFHSjtFQUNJOzs7QUFNUjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFNSTs7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNUjtFQUNJOztBQUdKO0VBQ0k7O0FBRUE7RUFHSTs7QUFHSjtFQUdJOzs7QUFLWjtFQUNJO0VBQ0E7OztBaEYvQ0E7RWdGb0RJO0lBS0k7SUFDQTs7RUFHSjtJQUNJOztFQUdKO0lBRUk7O0VBR0o7SUFFSTs7RUFLQTtJQUNJOztFQUlSO0lBQ0k7O0VBS0E7SUFDSTs7O0FDbktoQjtFQUNFOztBQUVFO0V4RjhCQTtFQUNBOztBd0YzQkY7RUFDRTtFQUNBOztBQUNBO0VBQ0U7OztBQU1KO0VBQ0U7O0FqRjJDQTtFaUY1Q0Y7SUFJSTs7O0FBR0o7RUFDRTs7O0FDekJKO0VBQ0U7O0FBRUE7RUFDRTs7O0FBSUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU1FOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFLE9qR0tvQztFaUdKcEMsa0JqR0pvQztFaUdLcEMsY2pHRG9DOztBaUdHcEM7RUFFRSxPakdEa0M7RWlHRWxDLGtCakdUa0M7OztBaUdhdEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUlFO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTtFQUNBOztBQUdKO0VBRUk7RUFDQTs7O0FBSU47RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFOztBQUVBO0VBQ0U7OztBQUtGO0VBQ0U7OztBQUlKO0VBQ0UsZWpHaUJvQzs7QWlHZnBDO0VBQ0k7RUFDQTtFekY1RkY7RUFDQTtFQWZBO0VBQ0E7O0F5RjhHRjtFQUNJOzs7QUFNSjtBQUFBO0FBQUE7QUFBQTtFQUNFO0VBQ0EsT2pHdElrQztFaUd1SWxDLGtCakdqSWtDO0VpR2tJbEMsY2pHcElrQzs7QWlHc0lsQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFLE9qRzVJZ0M7RWlHNkloQyxrQmpHcklnQzs7QWlHeUlwQztBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlBO0VBQ0k7RUFDQTs7O0FBSU47RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBbEZ6SEU7RWtGNkhGO0lBQ0U7O0VBRUY7SUFDRTs7O0FDdk1KO0VBQ0UsV2xHdUxvQztFa0d0THBDO0VBQ0E7RUFDQSxrQmxHYW9DO0VrR1pwQzs7QUFHQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQSxrQmxHSmdDOztBa0dNaEM7RUFDRSxPbEdQOEI7RWtHUTlCOztBQUtOO0VBRUUsT2xHZ0JrQztFa0dmbEMsa0JsR2VrQzs7QWtHYmxDO0VBQ0UsTzNGZzJCa0M7RTJGLzFCbEMsa0JsR3BCZ0M7O0FrR3dCcEM7RUFFRSxPbEdFa0M7RWtHRGxDLGtCbEdDa0M7O0FrR0NsQztFQUNFLE8zRnExQmtDO0UyRnAxQmxDLGtCbEcvQmdDOztBa0dtQ3BDO0FBQUE7QUFBQTtBQUFBO0VBRUU7RUFDQSxrQmxHdENrQzs7O0FtR2pCcEM7RUFDRTtFQUNBLFc1RnNuQjBCO0U0RnJuQjFCO0VBQ0EsYTVGd29CMEI7O0E0RnJvQjVCO0VBQ0UsT25HQ2tDOzs7QW9HWHRDO0VBQ0U7RUFDQTtFQUNBLGtCcEdnQm9DO0VvR2ZwQyxjcEdKa0M7OztBb0dTbEM7RUFDRTtFQUNBOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3ZCSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0F0RnFFQTtFc0Y1RUo7SUFXSTs7OztBQ1RKO0VBQ0Usa0IvRnlpRGtDOzs7QStGdGlEcEM7RUFDRTs7O0FDSkE7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBSUo7RUFDRTs7O0FBSUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUM5Rko7RUFDSTtFQUNBO0VBQ0Esa0J4R0RnQztFd0dFaEM7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUlJO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7O0FBS1I7RUFDSTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7QUFPWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJLGtCeEdtTHdCO0V3R2xMeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCeEdxS29CO0V3R3BLcEI7OztBQU1oQjtFQUNJO0VBQ0EsWXhHaERrQztFd0dpRGxDO0VBQ0EsY3hHckVnQztFd0dzRWhDO0VBQ0EsWXhHdEVnQzs7O0F3R3lFcEM7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFaEd6REo7RUFDQTs7QWdHMkRJO0VBRUksY2pHeWpDd0I7RWlHdmpDeEI7O0FBR0o7RUFDSSxPakc2aUN3QjtFaUc1aUN4QjtFQUNBOztBQUlSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUksT2pHNGlDNEI7RWlHM2lDNUIsa0JqRzRpQzRCO0VpRzNpQzVCLGNqRzRpQzRCOzs7QWlHeGlDcEM7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUdJOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFNaEI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7OztBQzlNaEI7RUFDRTs7O0FDQ0E7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7QUFBQTtFQUVFOztBQUVBO0FBQUE7RUFDRTs7O0FBUUo7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7OztBQzVCSjtFQUNFLFczR3lMb0M7RTJHeExwQyxXcEdnbUI0QjtFb0cvbEI1QjtBQStDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBN0NBO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFDQSxPcEd5M0JvQztFb0d4M0JwQztFQUNBO0VBQ0EsaUIzR2dMZ0M7RTJHL0toQztFQUNBO0VBQ0E7RW5HRkE7O0FtR0tBO0VBQ0U7O0FBR0Y7RUFFRSxjcEdvM0JrQztFb0duM0JsQzs7QUFHRjtFQUVFO0VBQ0Esa0JwR2cyQmtDOztBb0c3MUJwQztFQUNFOztBQUlKO0VBQ0UsWTNHekJrQztFMkcwQmxDOztBQUdGO0VBQ0U7OztBQVlGO0VBQ0UsVzNHOEhrQztFMkc3SGxDO0VBQ0EsV3BHb2lCMEI7RW9HbmlCMUIsYXBHaWpCMEI7RW9HaGpCMUIsa0IzRy9Da0M7O0EyR2lEbEM7RUFHRTtFQUNBLE8zR3JEZ0M7RTJHc0RoQztFQUNBO0VBQ0EsWTNHMUU4QjtFMkc2RTVCLGVwRzZ6QmdDOztBb0d4ekJsQztFQUNFO0VBQ0E7RUFDQSxPQWpCeUI7RUFrQnpCO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxXcEdzZ0JvQjtFb0dyZ0JwQixPM0c1RTRCO0UyRzZFNUI7OztBQU9WO0VBQ0U7OztBQUlGO0VBQ0U7OztBQUtGO0VBQ0U7O0FBRUE7RUFDRTs7O0FDdEhKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7OztBQ1RKO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOzs7QUNURjtFQUNFOztBQUdGO0VBQ0U7RXRHVUE7O0FzR05GO0FBQUE7RUFFRSxZOUdPa0M7OztBOEdGdEM7RUFDRTs7O0FDMkNGO0VBRUk7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFJQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFIiwiZmlsZSI6InRlbXBsYXRlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdsb2JhbFxuJG5lb3RlcmljLWNvbnRhaW5lci1tYWluLWJnOiAgICAgICAgaHNsKDAsIDAlLCA5NSUpICFkZWZhdWx0O1xuJG5lb3RlcmljLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgaHNsKDIxMCwgMTQlLCA4OSUpICFkZWZhdWx0O1xuJG5lb3RlcmljLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMXB4IDFweCA0cHggaHNsYSgwLCAwJSwgMCUsIC4xKSAhZGVmYXVsdDtcbiRuZW90ZXJpYy1ibG9jay1oZWFkZXItYmc6ICAgICAgICAgIGhzbCgwLCAwJSwgOTYlKSAhZGVmYXVsdDtcbiRuZW90ZXJpYy1oZWFkZXItZ3JhZDogICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLW5lb3RlcmljLWNvbG9yLXByaW1hcnkpIDAlLCB2YXIoLS10ZW1wbGF0ZS1saW5rLWhvdmVyLWNvbG9yKSAxMDAlKSAhZGVmYXVsdDtcbiRuZW90ZXJpYy1oZWFkZXItZ3JhZC1ydGw6ICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXRlbXBsYXRlLWxpbmstaG92ZXItY29sb3IpIDAlLCB2YXIoLS1uZW90ZXJpYy1jb2xvci1wcmltYXJ5KSAxMDAlKSAhZGVmYXVsdDtcbiRuZW90ZXJpYy1pbnZlcnRlZC10ZXh0LWNvbG9yOiAgICAgIHZhcigtLXRlbXBsYXRlLWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuXG4vLyBDb2xvciBzeXN0ZW1cblxuLy8gU3RhbmRhcmRcbiRzdGFuZGFyZC1jb2xvci1wcmltYXJ5OiAgICAgICAgICAgICAgaHNsKDIyMCwgNjclLCAyMCUpICFkZWZhdWx0O1xuJHN0YW5kYXJkLWNvbG9yLWxpbms6ICAgICAgICAgICAgICAgICBoc2woMjIwLCA2NyUsIDQwJSkgIWRlZmF1bHQ7XG4kc3RhbmRhcmQtY29sb3ItaG92ZXI6ICAgICAgICAgICAgICAgIGhzbCgyNDIsIDMwJSwgMzYlKSAhZGVmYXVsdDtcblxuLy8gQWx0ZXJuYXRpdmVcbiRhbHRlcm5hdGl2ZS1jb2xvci1wcmltYXJ5OiAgICAgICAgICAgaHNsKDM1MSwgNTQlLCAzNyUpICFkZWZhdWx0O1xuJGFsdGVybmF0aXZlLWNvbG9yLWxpbms6ICAgICAgICAgICAgICBoc2woMjA3LCA0OSUsIDM3JSkgIWRlZmF1bHQ7XG4kYWx0ZXJuYXRpdmUtY29sb3ItaG92ZXI6ICAgICAgICAgICAgIGhzbCgzNTEsIDMzJSwgNDQlKSAhZGVmYXVsdDtcblxuJHdoaXRlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMCwgMCUsIDEwMCUpICFkZWZhdWx0O1xuJGdyYXktMTAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMjEwLCAxNyUsIDk4JSkgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgyMTAsIDE2JSwgOTMlKSAhZGVmYXVsdDtcbiRncmF5LTMwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDIxMCwgMTQlLCA4OSUpICFkZWZhdWx0O1xuJGdyYXktNDAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMjEwLCAxNCUsIDgzJSkgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgyMTAsIDExJSwgNzElKSAhZGVmYXVsdDtcbiRncmF5LTYwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDIxMCwgNyUsIDQ2JSkgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgyMTAsIDklLCAzMSUpICFkZWZhdWx0O1xuJGdyYXktODAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMjEwLCAxMCUsIDIzJSkgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgyMTAsIDExJSwgMTUlKSAhZGVmYXVsdDtcbiRibGFjazogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDAsIDAlLCAwJSkgIWRlZmF1bHQ7XG5cbiRncmF5czogKFxuICAxMDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0xMDAsXG4gIDIwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCxcbiAgMzAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMzAwLFxuICA0MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDAsXG4gIDUwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTUwMCxcbiAgNjAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNjAwLFxuICA3MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAsXG4gIDgwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTgwMCxcbiAgOTAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwXG4pICFkZWZhdWx0O1xuXG4kYmx1ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgyNDAsIDk4JSwgMTclKSAhZGVmYXVsdDtcbiRpbmRpZ286ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDI2MywgOTAlLCA1MSUpICFkZWZhdWx0O1xuJHB1cnBsZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMjYxLCA1MSUsIDUxJSkgIWRlZmF1bHQ7XG4kcGluazogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgzMzIsIDc5JSwgNTglKSAhZGVmYXVsdDtcbiRyZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDMsIDc1JSwgMzclKSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDI3LCA5OCUsIDU0JSkgIWRlZmF1bHQ7XG4keWVsbG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgzNCwgMTAwJSwgMzQlKSAhZGVmYXVsdDtcbiRncmVlbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDEyMCwgMzIlLCAzOSUpICFkZWZhdWx0O1xuJHRlYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMTk0LCA2NiUsIDYxJSkgIWRlZmF1bHQ7XG4kY3lhbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgyMDcsIDQ5JSwgMzclKSAhZGVmYXVsdDtcblxuJGNvbG9yczogKFxuICBcImJsdWVcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRibHVlLFxuICBcImluZGlnb1wiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHB1cnBsZSxcbiAgXCJwaW5rXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGluayxcbiAgXCJyZWRcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRvcmFuZ2UsXG4gIFwieWVsbG93XCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHllbGxvdyxcbiAgXCJncmVlblwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRlYWwsXG4gIFwiY3lhblwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN5YW4sXG4gIFwid2hpdGVcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlXG4pICFkZWZhdWx0O1xuXG4kcHJpbWFyeTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoXG4gIHByaW1hcnk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRibHVlLFxuICBzZWNvbmRhcnk6ICAgICAgICAgICAgICAgICAgICAgICAgICAkc2Vjb25kYXJ5LFxuICBzdWNjZXNzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3VjY2VzcyxcbiAgaW5mbzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGluZm8sXG4gIHdhcm5pbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3YXJuaW5nLFxuICBkYW5nZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGFuZ2VyLFxuICBsaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlnaHQsXG4gIGRhcms6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkYXJrXG4pICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoXG4gIGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpLFxuICBibHVlZ3JheTogICAgICAgICAgICAgICAgICAgICAgICAjYjJiZmNkLFxuICBsaWdodGJsdWVncmF5OiAgICAgICAgICAgICAgICAgICAjZjZmOWZjLFxuICB0b29sYmFyLWJnOiAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUsXG4gIHN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgICAgICAgIHZhcigtLXN1Y2Nlc3MpLFxuICBpbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICB2YXIoLS1pbmZvKSxcbiAgd2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgICAgICAgdmFyKC0td2FybmluZyksXG4gIGRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIHZhcigtLWRhbmdlciksXG4gIGJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCxcbiAgXCJ3aGl0ZVwiOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUsIC8vIHRoZSBrZXkgaGVyZSBtdXN0IGJlIGluIHF1b3RlcyB0byBhdm9pZCBzY3NzIGNvbXBpbGF0aW9uIHdhcm5pbmdzLlxuICB3aGl0ZS1vZmZzZXQ6ICAgICAgICAgICAgICAgICAgICAjZmVmZWZlLFxuICBmb2N1czogICAgICAgICAgICAgICAgICAgICAgICAgICAjMzlmLFxuICBmb2N1cy1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAwIDAgMCAuMnJlbSAjZWFlYWVhLFxuICB0b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkd2hpdGUsIC8vdXNlZCBpbiBzaWRlYmFyXG4pICFkZWZhdWx0O1xuXG4kdGVtcGxhdGUtY29sb3JzOiAoXG4gIHRlbXBsYXRlLWJnLWxpZ2h0OiAgICAgICAgICAgICAgICAgICAjZjBmNGZiLCAvL2xpZ2h0IGJhY2tncm91bmQgY29sb3IsIGZyb250ZW5kIGRhc2hib2FyZCBiYWNrZ3JvdW5kXG4gIHRlbXBsYXRlLXRleHQtbGlnaHQ6ICAgICAgICAgICAgICAgICAkd2hpdGUsXG4gIHRlbXBsYXRlLXNwZWNpYWwtY29sb3I6ICAgICAgICAgICAgICAjMTMyZjUzLFxuICB0ZW1wbGF0ZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgIzJhNjliOCxcbiAgdGVtcGxhdGUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgIGRhcmtlbigjMmE2OWI4LCAyMCUpLFxuICB0ZW1wbGF0ZS1jb250cmFzdDogICAgICAgICAgICAgICAgICAgIzJhNjliOCxcbiAgdGVtcGxhdGUtYmctZGFyazogICAgICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDIwJSksXG4gIHRlbXBsYXRlLWJnLWRhcmstMzogICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCA5NyUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTU6ICAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgOTUlKSxcbiAgdGVtcGxhdGUtYmctZGFyay03OiAgICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDkzJSksXG4gIHRlbXBsYXRlLWJnLWRhcmstMTA6ICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCA5MCUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTE1OiAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgODUlKSxcbiAgdGVtcGxhdGUtYmctZGFyay0yMDogICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDgwJSksXG4gIHRlbXBsYXRlLWJnLWRhcmstMzA6ICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCA3MCUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTQwOiAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgNjAlKSxcbiAgdGVtcGxhdGUtYmctZGFyay01MDogICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDUwJSksXG4gIHRlbXBsYXRlLWJnLWRhcmstNjA6ICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCA0MCUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTY1OiAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgMzUlKSxcbiAgdGVtcGxhdGUtYmctZGFyay03MDogICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDMwJSksXG4gIHRlbXBsYXRlLWJnLWRhcmstNzU6ICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCAyNSUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTgwOiAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgMjAlKSxcbiAgdGVtcGxhdGUtYmctZGFyay05MDogICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDEwJSksXG4pICFkZWZhdWx0O1xuXG4kZ3JheS10ZXh0LWNvbG9yczogKFxuICBncmF5LTEwMDogICAgICAgICAgICAgICAgICAgICAgICAgICBoc2wodmFyKC0tdGV4dC1odWUsIDIxMCksIDE3JSwgOTglKSxcbiAgZ3JheS0yMDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKHZhcigtLXRleHQtaHVlLCAyMTApLCAxNiUsIDkzJSksXG4gIGdyYXktMzAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCh2YXIoLS10ZXh0LWh1ZSwgMjEwKSwgMTQlLCA4OSUpLFxuICBncmF5LTQwMDogICAgICAgICAgICAgICAgICAgICAgICAgICBoc2wodmFyKC0tdGV4dC1odWUsIDIxMCksIDE0JSwgODMlKSxcbiAgZ3JheS01MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKHZhcigtLXRleHQtaHVlLCAyMTApLCAxMSUsIDcxJSksXG4gIGdyYXktNjAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCh2YXIoLS10ZXh0LWh1ZSwgMjEwKSwgNyUsIDQ2JSksXG4gIGdyYXktNzAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCh2YXIoLS10ZXh0LWh1ZSwgMjEwKSwgOSUsIDMxJSksXG4gIGdyYXktODAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCh2YXIoLS10ZXh0LWh1ZSwgMjEwKSwgMTAlLCAyMyUpLFxuICBncmF5LTkwMDogICAgICAgICAgICAgICAgICAgICAgICAgICBoc2wodmFyKC0tdGV4dC1odWUsIDIxMCksIDExJSwgMTUlKSxcbiAgcHJpbWFyeTogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvciksXG4gIG5lb3RlcmljLWNvbG9yLXByaW1hcnk6ICAgICAgICAgICAgIHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpLFxuKSAhZGVmYXVsdDtcblxuLy8gTGlua3NcbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0YW5kYXJkLWNvbG9yLWxpbmsgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRzdGFuZGFyZC1jb2xvci1ob3ZlciAhZGVmYXVsdDtcblxuLy8gQnJlYWRjcnVtYnNcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuXG4vLyBHcmlkIGNvbHVtbnNcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgICAgMmVtICFkZWZhdWx0O1xuJG5lb3RlcmljLWdyaWQtZ3V0dGVyOiAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItd2lkdGggIWRlZmF1bHQ7XG5cbi8vIENvbXBvbmVudHNcbiRmYS1mb250LXBhdGg6ICAgICAgICAgICAgICAgICAgICAgICAgXCIuLi8uLi8uLi9tZWRpYS92ZW5kb3IvZm9udGF3ZXNvbWUtZnJlZS93ZWJmb250c1wiICFkZWZhdWx0O1xuXG4vLyBUcmVlc2VsZWN0XG4kdHJlZXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAgICAgIDIuMnJlbSAhZGVmYXVsdDtcblxuLy8gTWV0aXNNZW51XG4kbWV0aXNtZW51OiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cbi8vIFRvb2xiYXJcbiRuZW90ZXJpYy10b29sYmFyLWxpbmUtaGVpZ2h0OiAgICAgICAgMS44cmVtICFkZWZhdWx0O1xuXG4vLyBUeXBvZ3JhcGh5XG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAgICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgICAgICAgICB2YXIoLS1uZW90ZXJpYy1mb250LWZhbWlseS1ib2R5LCAkZm9udC1mYW1pbHktc2Fucy1zZXJpZikgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXJvb3Q6ICAgICAgICAgICAgICAgICAgICAgIDE0cHg7XG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAgICAgICAgIHZhcigtLW5lb3RlcmljLWZvbnQtd2VpZ2h0LW5vcm1hbCwgNDAwKSAhZGVmYXVsdDtcblxuLy8gSWNvbnNcbiRqaWNvbi1jc3MtcHJlZml4OiAgICAgICAgICAgICAgICAgICAgaWNvbiAhZGVmYXVsdDtcbiRmYS1jc3MtcHJlZml4OiAgICAgICAgICAgICAgICAgICAgICAgZmEgIWRlZmF1bHQ7XG5cbi8vIFRhYmxlc1xuJHRhYmxlLWJnLXNjYWxlOiAgICAgICAgICAgICAgICAgICAgICAtODAlICFkZWZhdWx0O1xuXG4vLyBGb3Jtc1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgIC42cmVtIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC42cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAuN3JlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgICAzcmVtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgICAgMTE2cmVtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXNpemUtc206ICAgICAgICAgICAgNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgICB1cmwoXCIuLi9pbWFnZXMvc2VsZWN0LWJnLnN2Z1wiKSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcnRsOiAgICAgICAgIHVybChcIi4uL2ltYWdlcy9zZWxlY3QtYmctcnRsLnN2Z1wiKSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItYWN0aXZlOiAgICAgIHVybChcIi4uLy4uLy4uL2ltYWdlcy9zZWxlY3QtYmcuc3ZnXCIpICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1hY3RpdmUtcnRsOiAgdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL3NlbGVjdC1iZy1ydGwuc3ZnXCIpICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgICAgJGZvcm0tc2VsZWN0LWluZGljYXRvciBuby1yZXBlYXQgcmlnaHQgY2VudGVyIC8gJGZvcm0tc2VsZWN0LWJnLXNpemUgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG4kZm9ybS1zZWxlY3QtYmFja2dyb3VuZC1ydGw6ICAgICAgICAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXJ0bCBuby1yZXBlYXQgbGVmdCBjZW50ZXIgLyAkZm9ybS1zZWxlY3QtYmctc2l6ZSAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcbiRmb3JtLXNlbGVjdC1tdWx0aXBsZS1wYWRkaW5nLXk6ICAgIC4zcmVtICFkZWZhdWx0O1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4kemluZGV4LW5lZ2F0aXZlOiAgICAgICAgICAgICAgICAgICAgIC0xICFkZWZhdWx0O1xuJHppbmRleC1hY3Rpb25zOiAgICAgICAgICAgICAgICAgICAgICBhdXRvICFkZWZhdWx0O1xuJHppbmRleC10b29sYmFyOiAgICAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zaWRlYmFyOiAgICAgICAgICAgICAgICAgICAgICAxMDEwICFkZWZhdWx0O1xuJHppbmRleC1oZWFkZXI6ICAgICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1hbGVydHM6ICAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1tb2JpbGUtYm90dG9tOiAgICAgICAgICAgICAgICA4MDAwICFkZWZhdWx0O1xuJHppbmRleC1tb2JpbGUtdG9nZ2xlOiAgICAgICAgICAgICAgICA5OTk5ICFkZWZhdWx0O1xuJHppbmRleC1tb2JpbGUtbWVudTogICAgICAgICAgICAgICAgICA5MDAwICFkZWZhdWx0O1xuXG4vLyBOYXZzXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBOYXZzXG4kbmVvdGVyaWMtdGFicy1oZWFkZXItYmc6ICAgICAgICAgICAkbmVvdGVyaWMtYmxvY2staGVhZGVyLWJnICFkZWZhdWx0O1xuJG5lb3RlcmljLXRhYnMtYWN0aXZlLWJnOiAgICAgICAgICAgaHNsYSgwLCAwJSwgMCUsIC4zKSAhZGVmYXVsdDtcbiRuZW90ZXJpYy10YWJzLWFjdGl2ZS1oaWdobGlnaHQ6ICAgIHZhcigtLW5lb3RlcmljLWNvbG9yLXByaW1hcnkpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXJcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgMS41cmVtICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG5cbi8vIENhcmRzXG4kbmVvdGVyaWMtY2FyZC10aXRsZS1iZzogICAgICAgICAgICAkbmVvdGVyaWMtYmxvY2staGVhZGVyLWJnICFkZWZhdWx0O1xuJG5lb3RlcmljLWNhcmQtdGl0bGUtaWNvbi1iZzogICAgICAgJG5lb3RlcmljLWJsb2NrLWhlYWRlci1iZyAhZGVmYXVsdDtcbiRuZW90ZXJpYy1jYXJkLXRpdGxlLWljb24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRuZW90ZXJpYy1jYXJkLXRpdGxlLWJnLCAkbGlnaHRuZXNzOiAyJSkgIWRlZmF1bHQ7XG4kY2FyZC1iZy1jb2xvci1saWdodDogICAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRjYXJkLWJnLWNvbG9yLWRhcms6ICAgICAgICAgICAgICAgICAgdmFyKC0tbmVvdGVyaWMtY29sb3ItcHJpbWFyeSkgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRuZW90ZXJpYy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEJhZGdlc1xuJGJhZGdlLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbi8vIE1vZGFsc1xuJG1vZGFsLWhlYWRlci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuXG4vLyBBbGVydHNcbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAkc3VjY2VzcyAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgICAgc2NhbGUtY29sb3IoJHN1Y2Nlc3MsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkaW5mbyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgICAgc2NhbGUtY29sb3IoJGluZm8sICRsaWdodG5lc3M6IC03JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAgICAkd2FybmluZyAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogICAgICAgICAgICAgICAgc2NhbGUtY29sb3IoJHdhcm5pbmcsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAgICAkZGFuZ2VyICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICAgICBzY2FsZS1jb2xvcigkZGFuZ2VyLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuXG4vLyBNYXJrIGVsZW1lbnRcbiRtYXJrLWJnOiAjZmJlZWE4ICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAwLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICAgIDAuMnJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAgICAwLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14bDogICAgICAgICAgICAgICAgICAgMC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtMnhsOiAgICAgICAgICAgICAgICAgIDAuM3JlbSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgICAwICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogIDAgIWRlZmF1bHQ7XG4vKlxuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuKi9cbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcblxuLy8gY2hhbmdlIGJvcmRlciB3aWR0aFxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAycHggIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tZ3JheS02MDApO1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS1ncmF5LTkwMCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICB2YXIoLS1ncmF5LTgwMCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICB2YXIoLS1ncmF5LTIwMCkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgIHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29udHJhc3QtY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7IiwiLy8gVXRpbGl0aWVzXG5cbi8vIEtlZXAgQi9DXG4uZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbn1cblxuLmhpZGUsXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udGFibGUtcm93IHtcbiAgZGlzcGxheTogdGFibGUtcm93O1xufVxuXG5qb29tbGEtYWxlcnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZWRpdG9yLXh0ZC1idXR0b25zIC5idG4ge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbiR1dGlsaXRpZXM6IG1hcC1tZXJnZShcbiAgJHV0aWxpdGllcywgKFxuICAgIFwiaW5zZXRcIjogKFxuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHByb3BlcnR5OiBpbnNldCxcbiAgICAgIGNsYXNzOiBpbnNldCxcbiAgICAgIHZhbHVlczogbWFwLW1lcmdlKCRzcGFjZXJzLCAoYXV0bzogYXV0bykpXG4gICAgKVxuICApXG4pO1xuIiwiQG1peGluIGJzQmFubmVyKCRmaWxlKSB7XG4gIC8qIVxuICAgKiBCb290c3RyYXAgI3skZmlsZX0gdjUuMy4yIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICAgKiBDb3B5cmlnaHQgMjAxMS0yMDIzIFRoZSBCb290c3RyYXAgQXV0aG9yc1xuICAgKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vTElDRU5TRSlcbiAgICovXG59XG4iLCI6cm9vdCxcbltkYXRhLWJzLXRoZW1lPVwibGlnaHRcIl0ge1xuICAvLyBOb3RlOiBDdXN0b20gdmFyaWFibGUgdmFsdWVzIG9ubHkgc3VwcG9ydCBTYXNzU2NyaXB0IGluc2lkZSBgI3t9YC5cblxuICAvLyBDb2xvcnNcbiAgLy9cbiAgLy8gR2VuZXJhdGUgcGFsZXR0ZXMgZm9yIGZ1bGwgY29sb3JzLCBncmF5cywgYW5kIHRoZW1lIGNvbG9ycy5cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRncmF5cyB7XG4gICAgLS0jeyRwcmVmaXh9Z3JheS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1yZ2Ige1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1yZ2I6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtdGV4dCB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXRleHQtZW1waGFzaXM6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYmctc3VidGxlIHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYmctc3VidGxlOiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLWJvcmRlci1zdWJ0bGUge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1ib3JkZXItc3VidGxlOiAjeyR2YWx1ZX07XG4gIH1cblxuICAtLSN7JHByZWZpeH13aGl0ZS1yZ2I6ICN7dG8tcmdiKCR3aGl0ZSl9O1xuICAtLSN7JHByZWZpeH1ibGFjay1yZ2I6ICN7dG8tcmdiKCRibGFjayl9O1xuXG4gIC8vIEZvbnRzXG5cbiAgLy8gTm90ZTogVXNlIGBpbnNwZWN0YCBmb3IgbGlzdHMgc28gdGhhdCBxdW90ZWQgaXRlbXMga2VlcCB0aGUgcXVvdGVzLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMjM4MyNpc3N1ZWNvbW1lbnQtMzM2MzQ5MTcyXG4gIC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZjogI3tpbnNwZWN0KCRmb250LWZhbWlseS1zYW5zLXNlcmlmKX07XG4gIC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSl9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogI3skZ3JhZGllbnR9O1xuXG4gIC8vIFJvb3QgYW5kIGJvZHlcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9keS12YXJpYWJsZXNcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZTogI3skZm9udC1zaXplLXJvb3R9O1xuICB9XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC1mYW1pbHk6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktYmFzZSl9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZS1iYXNlLCAtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQ6ICN7JGZvbnQtd2VpZ2h0LWJhc2V9O1xuICAtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0OiAjeyRsaW5lLWhlaWdodC1iYXNlfTtcbiAgQGlmICRib2R5LXRleHQtYWxpZ24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduOiAjeyRib2R5LXRleHQtYWxpZ259O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvcjogI3skYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yKX07XG5cbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yOiAjeyRib2R5LXNlY29uZGFyeS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmc6ICN7JGJvZHktc2Vjb25kYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWJnKX07XG5cbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3I6ICN7JGJvZHktdGVydGlhcnktY29sb3J9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnOiAjeyRib2R5LXRlcnRpYXJ5LWJnfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1iZyl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtYm9keS12YXJpYWJsZXNcblxuICAtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yOiAjeyRoZWFkaW5ncy1jb2xvcn07XG5cbiAgLS0jeyRwcmVmaXh9bGluay1jb2xvcjogI3skbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1jb2xvcil9O1xuICAtLSN7JHByZWZpeH1saW5rLWRlY29yYXRpb246ICN7JGxpbmstZGVjb3JhdGlvbn07XG5cbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogI3skbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1ob3Zlci1jb2xvcil9O1xuXG4gIEBpZiAkbGluay1ob3Zlci1kZWNvcmF0aW9uICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItZGVjb3JhdGlvbjogI3skbGluay1ob3Zlci1kZWNvcmF0aW9ufTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fWNvZGUtY29sb3I6ICN7JGNvZGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3I6ICN7JG1hcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1oaWdobGlnaHQtYmc6ICN7JG1hcmstYmd9O1xuXG4gIC8vIHNjc3MtZG9jcy1zdGFydCByb290LWJvcmRlci12YXJcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoOiAjeyRib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItc3R5bGU6ICN7JGJvcmRlci1zdHlsZX07XG4gIC0tI3skcHJlZml4fWJvcmRlci1jb2xvcjogI3skYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAjeyRib3JkZXItY29sb3ItdHJhbnNsdWNlbnR9O1xuXG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXM6ICN7JGJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtOiAjeyRib3JkZXItcmFkaXVzLXNtfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZzogI3skYm9yZGVyLXJhZGl1cy1sZ307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteGw6ICN7JGJvcmRlci1yYWRpdXMteGx9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXh4bDogI3skYm9yZGVyLXJhZGl1cy14eGx9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLTJ4bDogdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteHhsKTsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjAgZm9yIGNvbnNpc3RlbmN5XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtcGlsbDogI3skYm9yZGVyLXJhZGl1cy1waWxsfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWJvcmRlci12YXJcblxuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93OiAjeyRib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbTogI3skYm94LXNoYWRvdy1zbX07XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctbGc6ICN7JGJveC1zaGFkb3ctbGd9O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0OiAjeyRib3gtc2hhZG93LWluc2V0fTtcblxuICAvLyBGb2N1cyBzdHlsZXNcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZm9jdXMtdmFyaWFibGVzXG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctd2lkdGg6ICN7JGZvY3VzLXJpbmctd2lkdGh9O1xuICAtLSN7JHByZWZpeH1mb2N1cy1yaW5nLW9wYWNpdHk6ICN7JGZvY3VzLXJpbmctb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctY29sb3I6ICN7JGZvY3VzLXJpbmctY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZm9jdXMtdmFyaWFibGVzXG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZm9ybS12YWxpZGF0aW9uLXZhcmlhYmxlc1xuICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWZvcm0tdmFsaWRhdGlvbi12YXJpYWJsZXNcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrLCB0cnVlKSB7XG4gICAgY29sb3Itc2NoZW1lOiBkYXJrO1xuXG4gICAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtZGFyay1tb2RlLXZhcnNcbiAgICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yOiAjeyRib2R5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1iZzogI3skYm9keS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktYmctZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3I6ICN7JGJvZHktZW1waGFzaXMtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS1lbXBoYXNpcy1jb2xvci1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3I6ICN7JGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnOiAjeyRib2R5LXNlY29uZGFyeS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktYmctZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3I6ICN7JGJvZHktdGVydGlhcnktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktY29sb3ItcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrKX07XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmc6ICN7JGJvZHktdGVydGlhcnktYmctZGFya307XG4gICAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS10ZXJ0aWFyeS1iZy1kYXJrKX07XG5cbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXRleHQtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tdGV4dC1lbXBoYXNpczogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYmctc3VidGxlLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJnLXN1YnRsZTogI3skdmFsdWV9O1xuICAgIH1cblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZS1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1ib3JkZXItc3VidGxlOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcjogI3skaGVhZGluZ3MtY29sb3ItZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3I6ICN7JGxpbmstaG92ZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstaG92ZXItY29sb3ItZGFyayl9O1xuXG4gICAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3I6ICN7JG1hcmstY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnOiAjeyRtYXJrLWJnLWRhcmt9O1xuXG4gICAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAjeyRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQtZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLXZhbGlkLWJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3I6ICN7JGZvcm0taW52YWxpZC1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAjeyRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1kYXJrLW1vZGUtdmFyc1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RpbWVuc2lvbi1uby1ub24tbnVtZXJpYy12YWx1ZXNcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21haW4vTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIHZhbHVlXG4kcmZzLWJhc2UtdmFsdWU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtdW5pdCAhPSByZW0gYW5kICRyZnMtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIHZhbHVlcyBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IG51bWJlciBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIE1vZGUuIFBvc3NpYmlsaXRpZXM6IFwibWluLW1lZGlhLXF1ZXJ5XCIsIFwibWF4LW1lZGlhLXF1ZXJ5XCJcbiRyZnMtbW9kZTogbWluLW1lZGlhLXF1ZXJ5ICFkZWZhdWx0O1xuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmZzIHRvIGZhbHNlXG4kZW5hYmxlLXJmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLXZhbHVlIHVuaXRcbiRyZnMtYmFzZS12YWx1ZS11bml0OiB1bml0KCRyZnMtYmFzZS12YWx1ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLXZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSBweCB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgJHJmcy1iYXNlLXZhbHVlICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcmVtIHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSBhbmQgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG5cbiAgQGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGZvcm1hdHRlZCBub24tcmVzcG9uc2l2ZSB2YWx1ZVxuQGZ1bmN0aW9uIHJmcy12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgJHJmcy1yZW0tdmFsdWUpfXJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICR1bml0ID09IHJlbSB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcHggaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weCwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgZGl2aWRlKDEsICRyZnMtcmVtLXZhbHVlKSkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgIEBpZiBhYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgZGl2aWRlKGFicygkdmFsdWUpIC0gJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICR2YWx1ZSBhbmQgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtZGlmZjogYWJzKCR2YWx1ZSkgLSAkdmFsdWUtbWluO1xuXG4gICAgICAgICAgLy8gQmFzZSB2YWx1ZSBmb3JtYXR0aW5nXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWUtbWlufXB4KTtcblxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cbiAgICAgICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkdmFsdWUtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBjYWxjKFwiICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsIFwiIC0gXCIsIFwiICsgXCIpICsgJHZhcmlhYmxlLXdpZHRoICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkLXZhbDogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpO1xuXG4gICAgLy8gRG8gbm90IHByaW50IHRoZSBtZWRpYSBxdWVyeSBpZiByZXNwb25zaXZlICYgbm9uLXJlc3BvbnNpdmUgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgIEBpZiAkdmFsID09ICRmbHVpZC12YWwge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBfcmZzLXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICR2YWwsICRmbHVpZC12YWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWQtdmFsLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hvcnRoYW5kIGhlbHBlciBtaXhpbnNcbkBtaXhpbiBmb250LXNpemUoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUpO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZyk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy10b3ApO1xufVxuXG5AbWl4aW4gcGFkZGluZy1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1yaWdodCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1ib3R0b20pO1xufVxuXG5AbWl4aW4gcGFkZGluZy1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWxlZnQpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4pO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXRvcCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1yaWdodCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tYm90dG9tKTtcbn1cblxuQG1peGluIG1hcmdpbi1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tbGVmdCk7XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItbW9kZS1taXhpblxuQG1peGluIGNvbG9yLW1vZGUoJG1vZGU6IGxpZ2h0LCAkcm9vdDogZmFsc2UpIHtcbiAgQGlmICRjb2xvci1tb2RlLXR5cGUgPT0gXCJtZWRpYS1xdWVyeVwiIHtcbiAgICBAaWYgJHJvb3QgPT0gdHJ1ZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiAkbW9kZSkge1xuICAgICAgICA6cm9vdCB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ICRtb2RlKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgW2RhdGEtYnMtdGhlbWU9XCIjeyRtb2RlfVwiXSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItbW9kZS1taXhpblxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXhcblxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5cbi8vIFJvb3Rcbi8vXG4vLyBBYmlsaXR5IHRvIHRoZSB2YWx1ZSBvZiB0aGUgcm9vdCBmb250IHNpemVzLCBhZmZlY3RpbmcgdGhlIHZhbHVlIG9mIGByZW1gLlxuLy8gbnVsbCBieSBkZWZhdWx0LCB0aHVzIG5vdGhpbmcgaXMgZ2VuZXJhdGVkLlxuXG46cm9vdCB7XG4gIEBpZiAkZm9udC1zaXplLXJvb3QgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1yb290LWZvbnQtc2l6ZSkpO1xuICB9XG5cbiAgQGlmICRlbmFibGUtc21vb3RoLXNjcm9sbCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb2R5XG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuLy8gMi4gQXMgYSBiZXN0IHByYWN0aWNlLCBhcHBseSBhIGRlZmF1bHQgYGJhY2tncm91bmQtY29sb3JgLlxuLy8gMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4vLyA0LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHJlYm9vdC1ib2R5LXJ1bGVzXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1ib2R5LWxpbmUtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogdmFyKC0tI3skcHJlZml4fWJvZHktdGV4dC1hbGlnbik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKTsgLy8gMlxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDNcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKCRibGFjaywgMCk7IC8vIDRcbn1cbi8vIHNjc3MtZG9jcy1lbmQgcmVib290LWJvZHktcnVsZXNcblxuXG4vLyBDb250ZW50IGdyb3VwaW5nXG4vL1xuLy8gMS4gUmVzZXQgRmlyZWZveCdzIGdyYXkgY29sb3JcblxuaHIge1xuICBtYXJnaW46ICRoci1tYXJnaW4teSAwO1xuICBjb2xvcjogJGhyLWNvbG9yOyAvLyAxXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xuICBvcGFjaXR5OiAkaHItb3BhY2l0eTtcbn1cblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gMS4gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vICAgIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyAgICBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG5cbiVoZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDsgLy8gMVxuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC1zdHlsZTogJGhlYWRpbmdzLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGVhZGluZy1jb2xvcik7XG59XG5cbmgxIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xufVxuXG5oMiB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbn1cblxuaDMge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG59XG5cbmg0IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xufVxuXG5oNSB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbn1cblxuaDYge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG59XG5cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vIEFiYnJldmlhdGlvbnNcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4vLyAyLiBBZGQgZXhwbGljaXQgY3Vyc29yIHRvIGluZGljYXRlIGNoYW5nZWQgYmVoYXZpb3IuXG4vLyAzLiBQcmV2ZW50IHRoZSB0ZXh0LWRlY29yYXRpb24gdG8gYmUgc2tpcHBlZC5cblxuYWJiclt0aXRsZV0ge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDFcbiAgY3Vyc29yOiBoZWxwOyAvLyAyXG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gM1xufVxuXG5cbi8vIEFkZHJlc3NcblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlzdHNcblxub2wsXG51bCB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIDEuIFVuZG8gYnJvd3NlciBkZWZhdWx0XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyAxXG59XG5cblxuLy8gQmxvY2txdW90ZVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vLyBTdHJvbmdcbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlcjtcbn1cblxuXG4vLyBTbWFsbFxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xufVxuXG5cbi8vIE1hcmtcblxubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZyk7XG59XG5cblxuLy8gU3ViIGFuZCBTdXBcbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHN1Yi1zdXAtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWxpbmstY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6IHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yLXJnYik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcbiAgJixcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gQ29kZVxuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktY29kZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDFlbSk7IC8vIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbn1cblxuLy8gMS4gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4vLyAyLiBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuLy8gMy4gRG9uJ3QgYWxsb3cgY29udGVudCB0byBicmVhayBvdXRzaWRlXG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206IDFyZW07IC8vIDJcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIDNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIH1cbn1cblxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNvZGUtY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgLy8gU3RyZWFtbGluZSB0aGUgc3R5bGUgd2hlbiBpbnNpZGUgYW5jaG9ycyB0byBhdm9pZCBicm9rZW4gdW5kZXJsaW5lIGFuZCBtb3JlXG4gIGEgPiAmIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuXG4gIGtiZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cblxuXG4vLyBGaWd1cmVzXG4vL1xuLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vIEltYWdlcyBhbmQgY29udGVudFxuXG5pbWcsXG5zdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcblxudGFibGUge1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nLXk7XG4gIGNvbG9yOiAkdGFibGUtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgZm9udC13ZWlnaHQ6ICR0YWJsZS10aC1mb250LXdlaWdodDsgLy8gMVxuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyAyXG4gIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cbnRoZWFkLFxudGJvZHksXG50Zm9vdCxcbnRyLFxudGQsXG50aCB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5cbi8vIEZvcm1zXG4vL1xuLy8gMS4gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcblxuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBFeHBsaWNpdGx5IHJlbW92ZSBmb2N1cyBvdXRsaW5lIGluIENocm9taXVtIHdoZW4gaXQgc2hvdWxkbid0IGJlXG4vLyB2aXNpYmxlIChlLmcuIGFzIHJlc3VsdCBvZiBtb3VzZSBjbGljayBvciB0b3VjaCB0YXApLiBJdCBhbHJlYWR5XG4vLyBzaG91bGQgYmUgZG9pbmcgdGhpcyBhdXRvbWF0aWNhbGx5LCBidXQgc2VlbXMgdG8gY3VycmVudGx5IGJlXG4vLyBjb25mdXNlZCBhbmQgYXBwbGllcyBpdHMgdmVyeSB2aXNpYmxlIHR3by10b25lIG91dGxpbmUgYW55d2F5LlxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4vLyBTZXQgdGhlIGN1cnNvciBmb3Igbm9uLWA8YnV0dG9uPmAgYnV0dG9uc1xuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zZWxlY3Qge1xuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHdvcmQtd3JhcCBpbiBTYWZhcmkuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuXG4gIC8vIFVuZG8gdGhlIG9wYWNpdHkgY2hhbmdlIGZyb20gQ2hyb21lXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLy8gUmVtb3ZlIHRoZSBkcm9wZG93biBhcnJvdyBvbmx5IGZyb20gdGV4dCB0eXBlIGlucHV0cyBidWlsdCB3aXRoIGRhdGFsaXN0cyBpbiBDaHJvbWUuXG4vLyBTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzU0OTk3MTE4XG5cbltsaXN0XTpub3QoW3R5cGU9XCJkYXRlXCJdKTpub3QoW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSk6bm90KFt0eXBlPVwibW9udGhcIl0pOm5vdChbdHlwZT1cIndlZWtcIl0pOm5vdChbdHlwZT1cInRpbWVcIl0pOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDMuIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCBidXR0b24gZWxlbWVudHMuXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuXG4gIEBpZiAkZW5hYmxlLWJ1dHRvbi1wb2ludGVycyB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IC8vIDNcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuXG46Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8vIDEuIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyAvLyAxXG59XG5cbi8vIDEuIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4vLyAgICB1bmxpa2UgZS5nLiBgPGRpdj5gcywgd2hpY2ggaGF2ZSBgbWluLXdpZHRoOiAwO2AgYnkgZGVmYXVsdC5cbi8vICAgIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4vLyAgICBhbmQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI3RoZS1maWVsZHNldC1hbmQtbGVnZW5kLWVsZW1lbnRzXG4vLyAyLiBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cblxuZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDJcbiAgYm9yZGVyOiAwOyAvLyAyXG59XG5cbi8vIDEuIEJ5IHVzaW5nIGBmbG9hdDogbGVmdGAsIHRoZSBsZWdlbmQgd2lsbCBiZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnQuXG4vLyAgICBUaGlzIHdheSB0aGUgYm9yZGVyIG9mIGEgZmllbGRzZXQgd3JhcHMgYXJvdW5kIHRoZSBsZWdlbmQgaWYgcHJlc2VudC5cbi8vIDIuIEZpeCB3cmFwcGluZyBidWcuXG4vLyAgICBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yOTcxMlxuXG5sZWdlbmQge1xuICBmbG9hdDogbGVmdDsgLy8gMVxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGxlZ2VuZC1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlZ2VuZC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGxlZ2VuZC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgKyAqIHtcbiAgICBjbGVhcjogbGVmdDsgLy8gMlxuICB9XG59XG5cbi8vIEZpeCBoZWlnaHQgb2YgaW5wdXRzIHdpdGggYSB0eXBlIG9mIGRhdGV0aW1lLWxvY2FsLCBkYXRlLCBtb250aCwgd2Vlaywgb3IgdGltZVxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTg4NDJcblxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC10ZXh0LFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gMS4gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuLy8gICAgYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4vLyAgICBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4vLyAgICBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbn1cblxuLy8gMS4gQSBmZXcgaW5wdXQgdHlwZXMgc2hvdWxkIHN0YXkgTFRSXG4vLyBTZWUgaHR0cHM6Ly9ydGxzdHlsaW5nLmNvbS9wb3N0cy9ydGwtc3R5bGluZyNmb3JtLWlucHV0c1xuLy8gMi4gUlRMIG9ubHkgb3V0cHV0XG4vLyBTZWUgaHR0cHM6Ly9ydGxjc3MuY29tL2xlYXJuL3VzYWdlLWd1aWRlL2NvbnRyb2wtZGlyZWN0aXZlcy8jcmF3XG5cbi8qIHJ0bDpyYXc6XG5bdHlwZT1cInRlbFwiXSxcblt0eXBlPVwidXJsXCJdLFxuW3R5cGU9XCJlbWFpbFwiXSxcblt0eXBlPVwibnVtYmVyXCJdIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG4qL1xuXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gUmVtb3ZlIHBhZGRpbmcgYXJvdW5kIGNvbG9yIHBpY2tlcnMgaW4gd2Via2l0IGJyb3dzZXJzXG5cbjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cblxuLy8gMS4gSW5oZXJpdCBmb250IGZhbWlseSBhbmQgbGluZSBoZWlnaHQgZm9yIGZpbGUgaW5wdXQgYnV0dG9uc1xuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDFcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLy8gUmVtb3ZlIGJvcmRlciBmcm9tIGlmcmFtZVxuXG5pZnJhbWUge1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFN1bW1hcnlcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gMVxuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLy8gUHJvZ3Jlc3Ncbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuXG4vLyBIaWRkZW4gYXR0cmlidXRlXG4vL1xuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZS5cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYXktY29sb3ItdmFyaWFibGVzXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3ItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyYXktY29sb3JzLW1hcFxuJGdyYXlzOiAoXG4gIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgXCIyMDBcIjogJGdyYXktMjAwLFxuICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgXCI1MDBcIjogJGdyYXktNTAwLFxuICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgXCI4MDBcIjogJGdyYXktODAwLFxuICBcIjkwMFwiOiAkZ3JheS05MDBcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyYXktY29sb3JzLW1hcFxuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLXZhcmlhYmxlc1xuJGJsdWU6ICAgICMwZDZlZmQgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNkNjMzODQgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzE5ODc1NCAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMwZGNhZjAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3JzLW1hcFxuJGNvbG9yczogKFxuICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcbiAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgXCJvcmFuZ2VcIjogICAgICRvcmFuZ2UsXG4gIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICBcInRlYWxcIjogICAgICAgJHRlYWwsXG4gIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgXCJibGFja1wiOiAgICAgICRibGFjayxcbiAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgXCJncmF5XCI6ICAgICAgICRncmF5LTYwMCxcbiAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3JzLW1hcFxuXG4vLyBUaGUgY29udHJhc3QgcmF0aW8gdG8gcmVhY2ggYWdhaW5zdCB3aGl0ZSwgdG8gZGV0ZXJtaW5lIGlmIGNvbG9yIGNoYW5nZXMgZnJvbSBcImxpZ2h0XCIgdG8gXCJkYXJrXCIuIEFjY2VwdGFibGUgdmFsdWVzIGZvciBXQ0FHIDIuMCBhcmUgMywgNC41IGFuZCA3LlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAvI3Zpc3VhbC1hdWRpby1jb250cmFzdC1jb250cmFzdFxuJG1pbi1jb250cmFzdC1yYXRpbzogICA0LjUgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4kY29sb3ItY29udHJhc3QtZGFyazogICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kY29sb3ItY29udHJhc3QtbGlnaHQ6ICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGJsdWUtMTAwOiB0aW50LWNvbG9yKCRibHVlLCA4MCUpICFkZWZhdWx0O1xuJGJsdWUtMjAwOiB0aW50LWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtMzAwOiB0aW50LWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtNDAwOiB0aW50LWNvbG9yKCRibHVlLCAyMCUpICFkZWZhdWx0O1xuJGJsdWUtNTAwOiAkYmx1ZSAhZGVmYXVsdDtcbiRibHVlLTYwMDogc2hhZGUtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS03MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA0MCUpICFkZWZhdWx0O1xuJGJsdWUtODAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgNjAlKSAhZGVmYXVsdDtcbiRibHVlLTkwMDogc2hhZGUtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG5cbiRpbmRpZ28tMTAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTIwMDogdGludC1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby0zMDA6IHRpbnQtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNDAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTUwMDogJGluZGlnbyAhZGVmYXVsdDtcbiRpbmRpZ28tNjAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCAyMCUpICFkZWZhdWx0O1xuJGluZGlnby03MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDQwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTgwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tOTAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA4MCUpICFkZWZhdWx0O1xuXG4kcHVycGxlLTEwMDogdGludC1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0yMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtMzAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTQwMDogdGludC1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS01MDA6ICRwdXJwbGUgIWRlZmF1bHQ7XG4kcHVycGxlLTYwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgMjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNzAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA0MCUpICFkZWZhdWx0O1xuJHB1cnBsZS04MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDYwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTkwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgODAlKSAhZGVmYXVsdDtcblxuJHBpbmstMTAwOiB0aW50LWNvbG9yKCRwaW5rLCA4MCUpICFkZWZhdWx0O1xuJHBpbmstMjAwOiB0aW50LWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstMzAwOiB0aW50LWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstNDAwOiB0aW50LWNvbG9yKCRwaW5rLCAyMCUpICFkZWZhdWx0O1xuJHBpbmstNTAwOiAkcGluayAhZGVmYXVsdDtcbiRwaW5rLTYwMDogc2hhZGUtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay03MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA0MCUpICFkZWZhdWx0O1xuJHBpbmstODAwOiBzaGFkZS1jb2xvcigkcGluaywgNjAlKSAhZGVmYXVsdDtcbiRwaW5rLTkwMDogc2hhZGUtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG5cbiRyZWQtMTAwOiB0aW50LWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG4kcmVkLTIwMDogdGludC1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC0zMDA6IHRpbnQtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtNDAwOiB0aW50LWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTUwMDogJHJlZCAhZGVmYXVsdDtcbiRyZWQtNjAwOiBzaGFkZS1jb2xvcigkcmVkLCAyMCUpICFkZWZhdWx0O1xuJHJlZC03MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDQwJSkgIWRlZmF1bHQ7XG4kcmVkLTgwMDogc2hhZGUtY29sb3IoJHJlZCwgNjAlKSAhZGVmYXVsdDtcbiRyZWQtOTAwOiBzaGFkZS1jb2xvcigkcmVkLCA4MCUpICFkZWZhdWx0O1xuXG4kb3JhbmdlLTEwMDogdGludC1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0yMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtMzAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTQwMDogdGludC1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS01MDA6ICRvcmFuZ2UgIWRlZmF1bHQ7XG4kb3JhbmdlLTYwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgMjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNzAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA0MCUpICFkZWZhdWx0O1xuJG9yYW5nZS04MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDYwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTkwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgODAlKSAhZGVmYXVsdDtcblxuJHllbGxvdy0xMDA6IHRpbnQtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMjAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTMwMDogdGludC1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy00MDA6IHRpbnQtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNTAwOiAkeWVsbG93ICFkZWZhdWx0O1xuJHllbGxvdy02MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDIwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTcwMDogc2hhZGUtY29sb3IoJHllbGxvdywgNDAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctODAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA2MCUpICFkZWZhdWx0O1xuJHllbGxvdy05MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDgwJSkgIWRlZmF1bHQ7XG5cbiRncmVlbi0xMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuJGdyZWVuLTIwMDogdGludC1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMzAwOiB0aW50LWNvbG9yKCRncmVlbiwgNDAlKSAhZGVmYXVsdDtcbiRncmVlbi00MDA6IHRpbnQtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTUwMDogJGdyZWVuICFkZWZhdWx0O1xuJGdyZWVuLTYwMDogc2hhZGUtY29sb3IoJGdyZWVuLCAyMCUpICFkZWZhdWx0O1xuJGdyZWVuLTcwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTgwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA2MCUpICFkZWZhdWx0O1xuJGdyZWVuLTkwMDogc2hhZGUtY29sb3IoJGdyZWVuLCA4MCUpICFkZWZhdWx0O1xuXG4kdGVhbC0xMDA6IHRpbnQtY29sb3IoJHRlYWwsIDgwJSkgIWRlZmF1bHQ7XG4kdGVhbC0yMDA6IHRpbnQtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC0zMDA6IHRpbnQtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC00MDA6IHRpbnQtY29sb3IoJHRlYWwsIDIwJSkgIWRlZmF1bHQ7XG4kdGVhbC01MDA6ICR0ZWFsICFkZWZhdWx0O1xuJHRlYWwtNjAwOiBzaGFkZS1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTcwMDogc2hhZGUtY29sb3IoJHRlYWwsIDQwJSkgIWRlZmF1bHQ7XG4kdGVhbC04MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA2MCUpICFkZWZhdWx0O1xuJHRlYWwtOTAwOiBzaGFkZS1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcblxuJGN5YW4tMTAwOiB0aW50LWNvbG9yKCRjeWFuLCA4MCUpICFkZWZhdWx0O1xuJGN5YW4tMjAwOiB0aW50LWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tMzAwOiB0aW50LWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tNDAwOiB0aW50LWNvbG9yKCRjeWFuLCAyMCUpICFkZWZhdWx0O1xuJGN5YW4tNTAwOiAkY3lhbiAhZGVmYXVsdDtcbiRjeWFuLTYwMDogc2hhZGUtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi03MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA0MCUpICFkZWZhdWx0O1xuJGN5YW4tODAwOiBzaGFkZS1jb2xvcigkY3lhbiwgNjAlKSAhZGVmYXVsdDtcbiRjeWFuLTkwMDogc2hhZGUtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiRibHVlczogKFxuICBcImJsdWUtMTAwXCI6ICRibHVlLTEwMCxcbiAgXCJibHVlLTIwMFwiOiAkYmx1ZS0yMDAsXG4gIFwiYmx1ZS0zMDBcIjogJGJsdWUtMzAwLFxuICBcImJsdWUtNDAwXCI6ICRibHVlLTQwMCxcbiAgXCJibHVlLTUwMFwiOiAkYmx1ZS01MDAsXG4gIFwiYmx1ZS02MDBcIjogJGJsdWUtNjAwLFxuICBcImJsdWUtNzAwXCI6ICRibHVlLTcwMCxcbiAgXCJibHVlLTgwMFwiOiAkYmx1ZS04MDAsXG4gIFwiYmx1ZS05MDBcIjogJGJsdWUtOTAwXG4pICFkZWZhdWx0O1xuXG4kaW5kaWdvczogKFxuICBcImluZGlnby0xMDBcIjogJGluZGlnby0xMDAsXG4gIFwiaW5kaWdvLTIwMFwiOiAkaW5kaWdvLTIwMCxcbiAgXCJpbmRpZ28tMzAwXCI6ICRpbmRpZ28tMzAwLFxuICBcImluZGlnby00MDBcIjogJGluZGlnby00MDAsXG4gIFwiaW5kaWdvLTUwMFwiOiAkaW5kaWdvLTUwMCxcbiAgXCJpbmRpZ28tNjAwXCI6ICRpbmRpZ28tNjAwLFxuICBcImluZGlnby03MDBcIjogJGluZGlnby03MDAsXG4gIFwiaW5kaWdvLTgwMFwiOiAkaW5kaWdvLTgwMCxcbiAgXCJpbmRpZ28tOTAwXCI6ICRpbmRpZ28tOTAwXG4pICFkZWZhdWx0O1xuXG4kcHVycGxlczogKFxuICBcInB1cnBsZS0xMDBcIjogJHB1cnBsZS0xMDAsXG4gIFwicHVycGxlLTIwMFwiOiAkcHVycGxlLTIwMCxcbiAgXCJwdXJwbGUtMzAwXCI6ICRwdXJwbGUtMzAwLFxuICBcInB1cnBsZS00MDBcIjogJHB1cnBsZS00MDAsXG4gIFwicHVycGxlLTUwMFwiOiAkcHVycGxlLTUwMCxcbiAgXCJwdXJwbGUtNjAwXCI6ICRwdXJwbGUtNjAwLFxuICBcInB1cnBsZS03MDBcIjogJHB1cnBsZS03MDAsXG4gIFwicHVycGxlLTgwMFwiOiAkcHVycGxlLTgwMCxcbiAgXCJwdXJwbGUtOTAwXCI6ICRwdXJwbGUtOTAwXG4pICFkZWZhdWx0O1xuXG4kcGlua3M6IChcbiAgXCJwaW5rLTEwMFwiOiAkcGluay0xMDAsXG4gIFwicGluay0yMDBcIjogJHBpbmstMjAwLFxuICBcInBpbmstMzAwXCI6ICRwaW5rLTMwMCxcbiAgXCJwaW5rLTQwMFwiOiAkcGluay00MDAsXG4gIFwicGluay01MDBcIjogJHBpbmstNTAwLFxuICBcInBpbmstNjAwXCI6ICRwaW5rLTYwMCxcbiAgXCJwaW5rLTcwMFwiOiAkcGluay03MDAsXG4gIFwicGluay04MDBcIjogJHBpbmstODAwLFxuICBcInBpbmstOTAwXCI6ICRwaW5rLTkwMFxuKSAhZGVmYXVsdDtcblxuJHJlZHM6IChcbiAgXCJyZWQtMTAwXCI6ICRyZWQtMTAwLFxuICBcInJlZC0yMDBcIjogJHJlZC0yMDAsXG4gIFwicmVkLTMwMFwiOiAkcmVkLTMwMCxcbiAgXCJyZWQtNDAwXCI6ICRyZWQtNDAwLFxuICBcInJlZC01MDBcIjogJHJlZC01MDAsXG4gIFwicmVkLTYwMFwiOiAkcmVkLTYwMCxcbiAgXCJyZWQtNzAwXCI6ICRyZWQtNzAwLFxuICBcInJlZC04MDBcIjogJHJlZC04MDAsXG4gIFwicmVkLTkwMFwiOiAkcmVkLTkwMFxuKSAhZGVmYXVsdDtcblxuJG9yYW5nZXM6IChcbiAgXCJvcmFuZ2UtMTAwXCI6ICRvcmFuZ2UtMTAwLFxuICBcIm9yYW5nZS0yMDBcIjogJG9yYW5nZS0yMDAsXG4gIFwib3JhbmdlLTMwMFwiOiAkb3JhbmdlLTMwMCxcbiAgXCJvcmFuZ2UtNDAwXCI6ICRvcmFuZ2UtNDAwLFxuICBcIm9yYW5nZS01MDBcIjogJG9yYW5nZS01MDAsXG4gIFwib3JhbmdlLTYwMFwiOiAkb3JhbmdlLTYwMCxcbiAgXCJvcmFuZ2UtNzAwXCI6ICRvcmFuZ2UtNzAwLFxuICBcIm9yYW5nZS04MDBcIjogJG9yYW5nZS04MDAsXG4gIFwib3JhbmdlLTkwMFwiOiAkb3JhbmdlLTkwMFxuKSAhZGVmYXVsdDtcblxuJHllbGxvd3M6IChcbiAgXCJ5ZWxsb3ctMTAwXCI6ICR5ZWxsb3ctMTAwLFxuICBcInllbGxvdy0yMDBcIjogJHllbGxvdy0yMDAsXG4gIFwieWVsbG93LTMwMFwiOiAkeWVsbG93LTMwMCxcbiAgXCJ5ZWxsb3ctNDAwXCI6ICR5ZWxsb3ctNDAwLFxuICBcInllbGxvdy01MDBcIjogJHllbGxvdy01MDAsXG4gIFwieWVsbG93LTYwMFwiOiAkeWVsbG93LTYwMCxcbiAgXCJ5ZWxsb3ctNzAwXCI6ICR5ZWxsb3ctNzAwLFxuICBcInllbGxvdy04MDBcIjogJHllbGxvdy04MDAsXG4gIFwieWVsbG93LTkwMFwiOiAkeWVsbG93LTkwMFxuKSAhZGVmYXVsdDtcblxuJGdyZWVuczogKFxuICBcImdyZWVuLTEwMFwiOiAkZ3JlZW4tMTAwLFxuICBcImdyZWVuLTIwMFwiOiAkZ3JlZW4tMjAwLFxuICBcImdyZWVuLTMwMFwiOiAkZ3JlZW4tMzAwLFxuICBcImdyZWVuLTQwMFwiOiAkZ3JlZW4tNDAwLFxuICBcImdyZWVuLTUwMFwiOiAkZ3JlZW4tNTAwLFxuICBcImdyZWVuLTYwMFwiOiAkZ3JlZW4tNjAwLFxuICBcImdyZWVuLTcwMFwiOiAkZ3JlZW4tNzAwLFxuICBcImdyZWVuLTgwMFwiOiAkZ3JlZW4tODAwLFxuICBcImdyZWVuLTkwMFwiOiAkZ3JlZW4tOTAwXG4pICFkZWZhdWx0O1xuXG4kdGVhbHM6IChcbiAgXCJ0ZWFsLTEwMFwiOiAkdGVhbC0xMDAsXG4gIFwidGVhbC0yMDBcIjogJHRlYWwtMjAwLFxuICBcInRlYWwtMzAwXCI6ICR0ZWFsLTMwMCxcbiAgXCJ0ZWFsLTQwMFwiOiAkdGVhbC00MDAsXG4gIFwidGVhbC01MDBcIjogJHRlYWwtNTAwLFxuICBcInRlYWwtNjAwXCI6ICR0ZWFsLTYwMCxcbiAgXCJ0ZWFsLTcwMFwiOiAkdGVhbC03MDAsXG4gIFwidGVhbC04MDBcIjogJHRlYWwtODAwLFxuICBcInRlYWwtOTAwXCI6ICR0ZWFsLTkwMFxuKSAhZGVmYXVsdDtcblxuJGN5YW5zOiAoXG4gIFwiY3lhbi0xMDBcIjogJGN5YW4tMTAwLFxuICBcImN5YW4tMjAwXCI6ICRjeWFuLTIwMCxcbiAgXCJjeWFuLTMwMFwiOiAkY3lhbi0zMDAsXG4gIFwiY3lhbi00MDBcIjogJGN5YW4tNDAwLFxuICBcImN5YW4tNTAwXCI6ICRjeWFuLTUwMCxcbiAgXCJjeWFuLTYwMFwiOiAkY3lhbi02MDAsXG4gIFwiY3lhbi03MDBcIjogJGN5YW4tNzAwLFxuICBcImN5YW4tODAwXCI6ICRjeWFuLTgwMCxcbiAgXCJjeWFuLTkwMFwiOiAkY3lhbi05MDBcbikgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtbWFwXG4kdGhlbWUtY29sb3JzOiAoXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXG4gIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXG4gIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmtcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9ycy1tYXBcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLXRleHQtdmFyaWFibGVzXG4kcHJpbWFyeS10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS10ZXh0LWVtcGhhc2lzOiBzaGFkZS1jb2xvcigkc2Vjb25kYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtdGV4dC1lbXBoYXNpczogICBzaGFkZS1jb2xvcigkc3VjY2VzcywgNjAlKSAhZGVmYXVsdDtcbiRpbmZvLXRleHQtZW1waGFzaXM6ICAgICAgc2hhZGUtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCR3YXJuaW5nLCA2MCUpICFkZWZhdWx0O1xuJGRhbmdlci10ZXh0LWVtcGhhc2lzOiAgICBzaGFkZS1jb2xvcigkZGFuZ2VyLCA2MCUpICFkZWZhdWx0O1xuJGxpZ2h0LXRleHQtZW1waGFzaXM6ICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kZGFyay10ZXh0LWVtcGhhc2lzOiAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJnLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJnLXN1YnRsZTogICAgICAgdGludC1jb2xvcigkcHJpbWFyeSwgODAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYmctc3VidGxlOiAgICAgdGludC1jb2xvcigkc2Vjb25kYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRzdWNjZXNzLCA4MCUpICFkZWZhdWx0O1xuJGluZm8tYmctc3VidGxlOiAgICAgICAgICB0aW50LWNvbG9yKCRpbmZvLCA4MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCR3YXJuaW5nLCA4MCUpICFkZWZhdWx0O1xuJGRhbmdlci1iZy1zdWJ0bGU6ICAgICAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDgwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtYmctc3VidGxlOiAgICAgICAgIG1peCgkZ3JheS0xMDAsICR3aGl0ZSkgIWRlZmF1bHQ7XG4kZGFyay1iZy1zdWJ0bGU6ICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYm9yZGVyLXN1YnRsZS12YXJpYWJsZXNcbiRwcmltYXJ5LWJvcmRlci1zdWJ0bGU6ICAgdGludC1jb2xvcigkcHJpbWFyeSwgNjAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYm9yZGVyLXN1YnRsZTogdGludC1jb2xvcigkc2Vjb25kYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tYm9yZGVyLXN1YnRsZTogICAgICB0aW50LWNvbG9yKCRpbmZvLCA2MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCR3YXJuaW5nLCA2MCUpICFkZWZhdWx0O1xuJGRhbmdlci1ib3JkZXItc3VidGxlOiAgICB0aW50LWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtYm9yZGVyLXN1YnRsZTogICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkYXJrLWJvcmRlci1zdWJ0bGU6ICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuXG4vLyBDaGFyYWN0ZXJzIHdoaWNoIGFyZSBlc2NhcGVkIGJ5IHRoZSBlc2NhcGUtc3ZnIGZ1bmN0aW9uXG4kZXNjYXBlZC1jaGFyYWN0ZXJzOiAoXG4gIChcIjxcIiwgXCIlM2NcIiksXG4gIChcIj5cIiwgXCIlM2VcIiksXG4gIChcIiNcIiwgXCIlMjNcIiksXG4gIChcIihcIiwgXCIlMjhcIiksXG4gIChcIilcIiwgXCIlMjlcIiksXG4pICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbjogICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtc21vb3RoLXNjcm9sbDogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jb250YWluZXItY2xhc3NlczogICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY3NzZ3JpZDogICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1idXR0b24tcG9pbnRlcnM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmZzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzOiAgdHJ1ZSAhZGVmYXVsdDtcblxuJGVuYWJsZS1kYXJrLW1vZGU6ICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRjb2xvci1tb2RlLXR5cGU6ICAgICAgICAgICAgIGRhdGEgIWRlZmF1bHQ7IC8vIGBkYXRhYCBvciBgbWVkaWEtcXVlcnlgXG5cbi8vIFByZWZpeCBmb3IgOnJvb3QgQ1NTIHZhcmlhYmxlc1xuXG4kdmFyaWFibGUtcHJlZml4OiAgICAgICAgICAgICBicy0gIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wIGZvciB0aGUgc2hvcnRlciBgJHByZWZpeGBcbiRwcmVmaXg6ICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZS1wcmVmaXggIWRlZmF1bHQ7XG5cbi8vIEdyYWRpZW50XG4vL1xuLy8gVGhlIGdyYWRpZW50IHdoaWNoIGlzIGFkZGVkIHRvIGNvbXBvbmVudHMgaWYgYCRlbmFibGUtZ3JhZGllbnRzYCBpcyBgdHJ1ZWBcbi8vIFRoaXMgZ3JhZGllbnQgaXMgYWxzbyBhZGRlZCB0byBlbGVtZW50cyB3aXRoIGAuYmctZ3JhZGllbnRgXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdmFyaWFibGUtZ3JhZGllbnRcbiRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgkd2hpdGUsIC4xNSksIHJnYmEoJHdoaXRlLCAwKSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZhcmlhYmxlLWdyYWRpZW50XG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogJHNwYWNlciAqIC4yNSxcbiAgMjogJHNwYWNlciAqIC41LFxuICAzOiAkc3BhY2VyLFxuICA0OiAkc3BhY2VyICogMS41LFxuICA1OiAkc3BhY2VyICogMyxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNwYWNlci12YXJpYWJsZXMtbWFwc1xuXG4vLyBQb3NpdGlvblxuLy9cbi8vIERlZmluZSB0aGUgZWRnZSBwb3NpdGlvbmluZyBhbmNob3JzIG9mIHRoZSBwb3NpdGlvbiB1dGlsaXRpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3NpdGlvbi1tYXBcbiRwb3NpdGlvbi12YWx1ZXM6IChcbiAgMDogMCxcbiAgNTA6IDUwJSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3NpdGlvbi1tYXBcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktdGV4dC1hbGlnbjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGJvZHktc2Vjb25kYXJ5LWNvbG9yOiAgICAgIHJnYmEoJGJvZHktY29sb3IsIC43NSkgIWRlZmF1bHQ7XG4kYm9keS1zZWNvbmRhcnktYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kYm9keS10ZXJ0aWFyeS1jb2xvcjogICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjUpICFkZWZhdWx0O1xuJGJvZHktdGVydGlhcnktYmc6ICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGJvZHktZW1waGFzaXMtY29sb3I6ICAgICAgICRibGFjayAhZGVmYXVsdDtcblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGxpbmstc2hhZGUtcGVyY2VudGFnZTogICAgICAgICAgICAgICAgICAgMjAlICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgc2hpZnQtY29sb3IoJGxpbmstY29sb3IsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHN0cmV0Y2hlZC1saW5rLXBzZXVkby1lbGVtZW50OiAgICAgICAgICAgYWZ0ZXIgIWRlZmF1bHQ7XG4kc3RyZXRjaGVkLWxpbmstei1pbmRleDogICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4vLyBJY29uIGxpbmtzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaWNvbi1saW5rLXZhcmlhYmxlc1xuJGljb24tbGluay1nYXA6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpY29uLWxpbmstdW5kZXJsaW5lLW9mZnNldDogIC4yNWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXNpemU6ICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zaXRpb246ICAgLjJzIGVhc2UtaW4tb3V0IHRyYW5zZm9ybSAhZGVmYXVsdDtcbiRpY29uLWxpbmstaWNvbi10cmFuc2Zvcm06ICAgIHRyYW5zbGF0ZTNkKC4yNWVtLCAwLCAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaWNvbi1saW5rLXZhcmlhYmxlc1xuXG4vLyBQYXJhZ3JhcGhzXG4vL1xuLy8gU3R5bGUgcCBlbGVtZW50LlxuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgMXJlbSAhZGVmYXVsdDtcblxuXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vL1xuLy8gRGVmaW5lIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsXG4vLyBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBmb3IgdXNlIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmlkLWJyZWFrcG9pbnRzXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweCxcbiAgeHhsOiAxNDAwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGdyaWQtYnJlYWtwb2ludHNcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb250YWluZXItbWF4LXdpZHRoc1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHgsXG4gIHh4bDogMTMyMHB4XG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb250YWluZXItbWF4LXdpZHRoc1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRncmlkLXJvdy1jb2x1bW5zOiAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cbi8vIENvbnRhaW5lciBwYWRkaW5nXG5cbiRjb250YWluZXItcGFkZGluZy14OiAkZ3JpZC1ndXR0ZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci12YXJpYWJsZXNcbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGhzOiAoXG4gIDE6IDFweCxcbiAgMjogMnB4LFxuICAzOiAzcHgsXG4gIDQ6IDRweCxcbiAgNTogNXB4XG4pICFkZWZhdWx0O1xuJGJvcmRlci1zdHlsZTogICAgICAgICAgICAgICAgc29saWQgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50OiAgICByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14bDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteHhsOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXBpbGw6ICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuLy8gZnVzdi1kaXNhYmxlXG4kYm9yZGVyLXJhZGl1cy0yeGw6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy14eGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm94LXNoYWRvdy12YXJpYWJsZXNcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctaW5zZXQ6ICAgICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm94LXNoYWRvdy12YXJpYWJsZXNcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb2N1cy1yaW5nLXZhcmlhYmxlc1xuJGZvY3VzLXJpbmctd2lkdGg6ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctb3BhY2l0eTogICAgLjI1ICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctY29sb3I6ICAgICAgcmdiYSgkcHJpbWFyeSwgJGZvY3VzLXJpbmctb3BhY2l0eSkgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ibHVyOiAgICAgICAwICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctYm94LXNoYWRvdzogMCAwICRmb2N1cy1yaW5nLWJsdXIgJGZvY3VzLXJpbmctd2lkdGggJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvY3VzLXJpbmctdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJldC12YXJpYWJsZXNcbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LXZhcmlhYmxlc1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS10cmFuc2l0aW9uXG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGg6ICAgd2lkdGggLjM1cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xsYXBzZS10cmFuc2l0aW9uXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFzcGVjdC1yYXRpb3NcbiRhc3BlY3QtcmF0aW9zOiAoXG4gIFwiMXgxXCI6IDEwMCUsXG4gIFwiNHgzXCI6IGNhbGMoMyAvIDQgKiAxMDAlKSxcbiAgXCIxNng5XCI6IGNhbGMoOSAvIDE2ICogMTAwJSksXG4gIFwiMjF4OVwiOiBjYWxjKDkgLyAyMSAqIDEwMCUpXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBhc3BlY3QtcmF0aW9zXG4vLyBzdHlsZWxpbnQtZW5hYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXZhcmlhYmxlc1xuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiTm90byBTYW5zXCIsIFwiTGliZXJhdGlvbiBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LXNhbnMtc2VyaWYpICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWNvZGU6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtbW9ub3NwYWNlKSAhZGVmYXVsdDtcblxuLy8gJGZvbnQtc2l6ZS1yb290IGFmZmVjdHMgdGhlIHZhbHVlIG9mIGByZW1gLCB3aGljaCBpcyB1c2VkIGZvciBhcyB3ZWxsIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBhbmQgbWFyZ2luc1xuLy8gJGZvbnQtc2l6ZS1iYXNlIGFmZmVjdHMgdGhlIGZvbnQgc2l6ZSBvZiB0aGUgYm9keSB0ZXh0XG4kZm9udC1zaXplLXJvb3Q6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1tZWRpdW06ICAgICAgICAgIDUwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1zZW1pYm9sZDogICAgICAgIDYwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDIgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtc2l6ZXNcbiRmb250LXNpemVzOiAoXG4gIDE6ICRoMS1mb250LXNpemUsXG4gIDI6ICRoMi1mb250LXNpemUsXG4gIDM6ICRoMy1mb250LXNpemUsXG4gIDQ6ICRoNC1mb250LXNpemUsXG4gIDU6ICRoNS1mb250LXNpemUsXG4gIDY6ICRoNi1mb250LXNpemVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtc2l6ZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGhlYWRpbmdzLXZhcmlhYmxlc1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXN0eWxlOiAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBoZWFkaW5ncy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRpc3BsYXktaGVhZGluZ3NcbiRkaXNwbGF5LWZvbnQtc2l6ZXM6IChcbiAgMTogNXJlbSxcbiAgMjogNC41cmVtLFxuICAzOiA0cmVtLFxuICA0OiAzLjVyZW0sXG4gIDU6IDNyZW0sXG4gIDY6IDIuNXJlbVxuKSAhZGVmYXVsdDtcblxuJGRpc3BsYXktZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXN0eWxlOiAgbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkaXNwbGF5LWhlYWRpbmdzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0eXBlLXZhcmlhYmxlc1xuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgLjg3NWVtICFkZWZhdWx0O1xuXG4kc3ViLXN1cC1mb250LXNpemU6ICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiA1LjMuMFxuLy8gZnVzdi1lbmFibGVcblxuJGluaXRpYWxpc20tZm9udC1zaXplOiAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGhyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kaHItYmctY29sb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuJGhyLWhlaWdodDogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIEFsbG93cyBmb3IgaW5oZXJpdGVkIGNvbG9yc1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kaHItb3BhY2l0eTogICAgICAgICAgICAgICAgICAuMjUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB2ci12YXJpYWJsZXNcbiR2ci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB2ci12YXJpYWJsZXNcblxuJGxlZ2VuZC1tYXJnaW4tYm90dG9tOiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kbGVnZW5kLWZvbnQtd2VpZ2h0OiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4xODc1ZW0gIWRlZmF1bHQ7XG4kbWFyay1jb2xvcjogICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICR5ZWxsb3ctMTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0eXBlLXZhcmlhYmxlc1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLXZhcmlhYmxlc1xuJHRhYmxlLWNlbGwtcGFkZGluZy15OiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXg6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteS1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTogICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJHRhYmxlLWNlbGwtdmVydGljYWwtYWxpZ246ICAgdG9wICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiR0YWJsZS10aC1mb250LXdlaWdodDogICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLWNvbG9yOiAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcjogICAgIC4wNSAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJnOiAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksICR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmctZmFjdG9yOiAgICAgIC4xICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmctZmFjdG9yOiAgICAgICAuMDc1ICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLWhvdmVyLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItZmFjdG9yOiAgICAgICAgIC4yICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtY29sdW1ucy1vcmRlcjogZXZlbiAhZGVmYXVsdDtcblxuJHRhYmxlLWdyb3VwLXNlcGFyYXRvci1jb2xvcjogY3VycmVudGNvbG9yICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJnLXNjYWxlOiAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS1sb29wXG4kdGFibGUtdmFyaWFudHM6IChcbiAgXCJwcmltYXJ5XCI6ICAgIHNoaWZ0LWNvbG9yKCRwcmltYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInNlY29uZGFyeVwiOiAgc2hpZnQtY29sb3IoJHNlY29uZGFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzdWNjZXNzXCI6ICAgIHNoaWZ0LWNvbG9yKCRzdWNjZXNzLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImluZm9cIjogICAgICAgc2hpZnQtY29sb3IoJGluZm8sICR0YWJsZS1iZy1zY2FsZSksXG4gIFwid2FybmluZ1wiOiAgICBzaGlmdC1jb2xvcigkd2FybmluZywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJkYW5nZXJcIjogICAgIHNoaWZ0LWNvbG9yKCRkYW5nZXIsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFyayxcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLWxvb3BcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGlucHV0LWJ0bi12YXJpYWJsZXNcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgICAgJGZvY3VzLXJpbmctd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHk6ICRmb2N1cy1yaW5nLW9wYWNpdHkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICAgICRmb2N1cy1yaW5nLWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ibHVyOiAgICAgICAgICAkZm9jdXMtcmluZy1ibHVyICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1idG4tdmFyaWFibGVzXG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhYmxlc1xuJGJ0bi1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnRuLXdoaXRlLXNwYWNlOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBTZXQgdG8gYG5vd3JhcGAgdG8gcHJldmVudCB0ZXh0IHdyYXBwaW5nXG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJ0bi1saW5rLWZvY3VzLXNoYWRvdy1yZ2I6ICAgdG8tcmdiKG1peChjb2xvci1jb250cmFzdCgkbGluay1jb2xvciksICRsaW5rLWNvbG9yLCAxNSUpKSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRidG4taG92ZXItYmctc2hhZGUtYW1vdW50OiAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50OiAgICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50OiAgIDIwJSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50OiAgICAxMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQ6ICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQ6ICAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAyNSUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQ6ICAgMTAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFibGVzXG5cblxuLy8gRm9ybXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdGV4dC12YXJpYWJsZXNcbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tbGFiZWwtdmFyaWFibGVzXG4kZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1sYWJlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0taW5wdXQtdmFyaWFibGVzXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgNTAlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWJvcmRlci13aWR0aH0gKiAyKSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjogICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjVlbSwgJGlucHV0LXBhZGRpbmcteSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtLCAkaW5wdXQtcGFkZGluZy15ICogLjUpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1jb2xvci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgM3JlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1pbnB1dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tY2hlY2stdmFyaWFibGVzXG4kZm9ybS1jaGVjay1pbnB1dC13aWR0aDogICAgICAgICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1taW4taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ6ICAgICAgICAgICAgICAgICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoICsgLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI6ICAgICAgICAgIGJyaWdodG5lc3MoOTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjogICAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdtNiAxMCAzIDMgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMicgZmlsbD0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBoOCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC41ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTogICAgJGJ0bi1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDogICAgMXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1jaGVjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuJGZvcm0tc3dpdGNoLWNvbG9yOiAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgIDJlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0OiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJnLWltYWdlOiAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1ib3JkZXItcmFkaXVzOiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbjogICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3I6ICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1mb2N1cy1iZy1pbWFnZTogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlOiAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uOiByaWdodCBjZW50ZXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtZ3JvdXAtdmFyaWFibGVzXG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1ncm91cC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgZm9yIGJhY2tncm91bmQtaW1hZ2VcbiRmb3JtLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uOiAgICAgICAgICAgcmlnaHQgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAxNnB4IDEycHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMi41ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgIGNlbnRlciByaWdodCAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtc206ICAgICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZzogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC10cmFuc2l0aW9uOiAgICAgICAgICAkaW5wdXQtdHJhbnNpdGlvbiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuJGZvcm0tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIEVkZ2VcbiRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA3MCUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbjogICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1yYW5nZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmlsZS12YXJpYWJsZXNcbiRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWhvdmVyLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1maWxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcbiRmb3JtLWZsb2F0aW5nLWhlaWdodDogICAgICAgICAgICAgICAgICBhZGQoMy41cmVtLCAkaW5wdXQtaGVpZ2h0LWJvcmRlcikgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDogICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy15OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ6ICAgICAgICAgMS42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI6ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLWhlaWdodDogICAgICAgICAgICAxLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHk6ICAgICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm06ICAgICAgICAgc2NhbGUoLjg1KSB0cmFuc2xhdGVZKC0uNXJlbSkgdHJhbnNsYXRlWCguMTVyZW0pICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb246ICAgICAgICAgICAgICBvcGFjaXR5IC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4xcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJGZvcm0tdGV4dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXN0eWxlOiAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICAkc3VjY2VzcyAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICRkYW5nZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tY29sb3JzXG4kZm9ybS12YWxpZC1jb2xvcjogICAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1jb2xvcjogICAgICAgICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoXG4gIFwidmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3IpLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9c3VjY2VzcyksXG4gICAgXCJmb2N1cy1ib3gtc2hhZG93XCI6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEodmFyKC0tI3skcHJlZml4fXN1Y2Nlc3MtcmdiKSwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgICBcImJvcmRlci1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3IpLFxuICApLFxuICBcImludmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZCxcbiAgICBcInRvb2x0aXAtY29sb3JcIjogI2ZmZixcbiAgICBcInRvb2x0aXAtYmctY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWRhbmdlciksXG4gICAgXCJmb2N1cy1ib3gtc2hhZG93XCI6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEodmFyKC0tI3skcHJlZml4fWRhbmdlci1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yKSxcbiAgKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtc3RhY2tcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wOiAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhczogICAgICAgICAgICAgICAgICAxMDQ1ICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTUgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA4MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9hc3Q6ICAgICAgICAgICAgICAgICAgICAgIDEwOTAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1zdGFja1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LWxldmVscy1tYXBcbiR6aW5kZXgtbGV2ZWxzOiAoXG4gIG4xOiAtMSxcbiAgMDogMCxcbiAgMTogMSxcbiAgMjogMixcbiAgMzogM1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LWxldmVscy1tYXBcblxuXG4vLyBOYXZzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdmFyaWFibGVzXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC1zaXplOiAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRuYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi11bmRlcmxpbmUtZ2FwOiAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aDogICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcjogICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdmFyaWFibGVzXG5cblxuLy8gTmF2YmFyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItdmFyaWFibGVzXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogICAgICAgICRidG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogICAgICAgICBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC42NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAxKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcjogICAgICAgICAgIHJnYmEoJGJvZHktY29sb3IsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjE1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWljb24tY29sb3I6ICAgICAgICAgICAgJG5hdmJhci1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZGFyay12YXJpYWJsZXNcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi12YXJpYWJsZXNcbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBjYWxjKCN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9IC0gI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkZHJvcGRvd24tbGluay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogICAgICAgICAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tZGFyay12YXJpYWJsZXNcbiRkcm9wZG93bi1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJvcmRlci1jb2xvcjogICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1kaXZpZGVyLWJnOiAgICAgICAgICAkZHJvcGRvd24tZGl2aWRlci1iZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJveC1zaGFkb3c6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWNvbG9yOiAgICAgICAgICAkZHJvcGRvd24tZGFyay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItY29sb3I6ICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItYmc6ICAgICAgIHJnYmEoJHdoaXRlLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtY29sb3I6ICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtYmc6ICAgICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1kaXNhYmxlZC1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstaGVhZGVyLWNvbG9yOiAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIFBhZ2luYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tdmFyaWFibGVzXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQ6ICAgICAgICAgICBjYWxjKCN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofSAqIC0xKSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1jb2xvcjogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7IC8vIFRvZG8gaW4gdjY6IHJlbW92ZSB0aGlzP1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLXZhcmlhYmxlc1xuXG5cbi8vIFBsYWNlaG9sZGVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGxhY2Vob2xkZXJzXG4kcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbjogICAgICAgICAgIC4yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwbGFjZWhvbGRlcnNcblxuLy8gQ2FyZHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmQtdmFyaWFibGVzXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLXNwYWNlci15OiAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1zdWJ0aXRsZS1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRjYXJkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgKiAuNSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci14ICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2IpLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAqIC41ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLXZhcmlhYmxlc1xuXG4vLyBBY2NvcmRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFjY29yZGlvbi12YXJpYWJsZXNcbiRhY2NvcmRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgIHN1YnRyYWN0KCRhY2NvcmRpb24tYm9yZGVyLXJhZGl1cywgJGFjY29yZGlvbi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteDogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24sIGJvcmRlci1yYWRpdXMgLjE1cyBlYXNlICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktYmctc3VidGxlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXRleHQtZW1waGFzaXMpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAkcHJpbWFyeS10ZXh0LWVtcGhhc2lzICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm06ICAgICAgICAgICAgICAgIHJvdGF0ZSgtMTgwZGVnKSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24taWNvbjogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skYWNjb3JkaW9uLWljb24tY29sb3J9Jz48cGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtaWNvbjogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3J9Jz48cGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xLjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDEwLjI5M2w1LjY0Ni01LjY0N2EuNS41IDAgMCAxIC43MDguNzA4bC02IDZhLjUuNSAwIDAgMS0uNzA4IDBsLTYtNmEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFjY29yZGlvbi12YXJpYWJsZXNcblxuLy8gVG9vbHRpcHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtdmFyaWFibGVzXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjI1ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gVE9ETzogcmVtb3ZlIHRoaXMgaW4gdjZcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtdmFyaWFibGVzXG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbi8vIHNjc3MtZG9jcy1zdGFydCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDogICAgICR0b29sdGlwLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplOiAgICAgJHRvb2x0aXAtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDogICBudWxsICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLWZlZWRiYWNrLXZhcmlhYmxlc1xuXG5cbi8vIFBvcG92ZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLXZhcmlhYmxlc1xuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIGNhbGMoI3skcG9wb3Zlci1ib3JkZXItcmFkaXVzfSAtICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwb3BvdmVyLXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbi8vIERlcHJlY2F0ZWQgaW4gQm9vdHN0cmFwIDUuMi4wIGZvciBDU1MgdmFyaWFibGVzXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuLy8gZnVzdi1lbmFibGVcblxuXG4vLyBUb2FzdHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvYXN0LXZhcmlhYmxlc1xuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJHRvYXN0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcbiR0b2FzdC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kdG9hc3QtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktYmctcmdiKSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICR0b2FzdC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvYXN0LXZhcmlhYmxlc1xuXG5cbi8vIEJhZGdlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYmFkZ2UtdmFyaWFibGVzXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuNzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjM1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNjVlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYmFkZ2UtdmFyaWFibGVzXG5cblxuLy8gTW9kYWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC12YXJpYWJsZXNcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW46ICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXM6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXM6IHN1YnRyYWN0KCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMsICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG4kbW9kYWwtc2NhbGUtdHJhbnNmb3JtOiAgICAgICAgICAgICBzY2FsZSgxLjAyKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtdmFyaWFibGVzXG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC12YXJpYWJsZXNcbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kYWxlcnQtZGlzbWlzc2libGUtcGFkZGluZy1yOiAgICRhbGVydC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyAzeCBjb3ZlcnMgd2lkdGggb2YgeCBwbHVzIGRlZmF1bHQgcGFkZGluZyBvbiBlaXRoZXIgc2lkZVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4kYWxlcnQtYmctc2NhbGU6ICAgICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtYm9yZGVyLXNjYWxlOiAgICAgICAgICAgIC03MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4kYWxlcnQtY29sb3Itc2NhbGU6ICAgICAgICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLXZhcmlhYmxlc1xuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC43NSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtdmFyaWFibGVzXG5cblxuLy8gTGlzdCBncm91cFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC12YXJpYWJsZXNcbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRsaXN0LWdyb3VwLWl0ZW0tYmctc2NhbGU6ICAgICAgICAgIC04MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4kbGlzdC1ncm91cC1pdGVtLWNvbG9yLXNjYWxlOiAgICAgICA0MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAgICAkbGlzdC1ncm91cC1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC12YXJpYWJsZXNcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aHVtYm5haWwtdmFyaWFibGVzXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctc20pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aHVtYm5haWwtdmFyaWFibGVzXG5cblxuLy8gRmlndXJlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZmlndXJlLXZhcmlhYmxlc1xuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmaWd1cmUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmaWd1cmUtdmFyaWFibGVzXG5cblxuLy8gQnJlYWRjcnVtYnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItdmFyaWFibGVzXG4kYnJlYWRjcnVtYi1mb250LXNpemU6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICAgICAgICAgICAgICAgIHF1b3RlKFwiL1wiKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZDogICAgICAgICRicmVhZGNydW1iLWRpdmlkZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLXZhcmlhYmxlc1xuXG4vLyBDYXJvdXNlbFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtdmFyaWFibGVzXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5OiAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk6ICAxICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J00xMS4zNTQgMS42NDZhLjUuNSAwIDAgMSAwIC43MDhMNS43MDcgOGw1LjY0NyA1LjY0NmEuNS41IDAgMCAxLS43MDguNzA4bC02LTZhLjUuNSAwIDAgMSAwLS43MDhsNi02YS41LjUgMCAwIDEgLjcwOCAweicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J000LjY0NiAxLjY0NmEuNS41IDAgMCAxIC43MDggMGw2IDZhLjUuNSAwIDAgMSAwIC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDgtLjcwOEwxMC4yOTMgOCA0LjY0NiAyLjM1NGEuNS41IDAgMCAxIDAtLjcwOHonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG4kY2Fyb3VzZWwtZGFyay1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY2FwdGlvbi1jb2xvcjogICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjYXJvdXNlbC1kYXJrLWNvbnRyb2wtaWNvbi1maWx0ZXI6ICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLWRhcmstdmFyaWFibGVzXG5cblxuLy8gU3Bpbm5lcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItdmFyaWFibGVzXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAgICRzcGlubmVyLXdpZHRoICFkZWZhdWx0O1xuJHNwaW5uZXItdmVydGljYWwtYWxpZ246ICAtLjEyNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoOiAgICAuMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogLjc1cyAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci12YXJpYWJsZXNcblxuXG4vLyBDbG9zZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtdmFyaWFibGVzXG4kYnRuLWNsb3NlLXdpZHRoOiAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaGVpZ2h0OiAgICAgICAgICAgJGJ0bi1jbG9zZS13aWR0aCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy14OiAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteTogICAgICAgICRidG4tY2xvc2UtcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1jb2xvcjogICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWJnOiAgICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRidG4tY2xvc2UtY29sb3J9Jz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtc2hhZG93OiAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tY2xvc2Utb3BhY2l0eTogICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk6ICAgIC43NSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eTogICAgMSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eTogLjI1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6ICAgICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCUpIGJyaWdodG5lc3MoMjAwJSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNsb3NlLXZhcmlhYmxlc1xuXG5cbi8vIE9mZmNhbnZhc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuJG9mZmNhbnZhcy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXBhZGRpbmcteDogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtaG9yaXpvbnRhbC13aWR0aDogICAgICAgIDQwMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1oZWlnaHQ6ICAgICAgICAgMzB2aCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgIC4zcyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICRtb2RhbC10aXRsZS1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmctY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY29sb3I6ICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAkbW9kYWwtYmFja2Ryb3AtYmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjE4NzVyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHJlbW92aW5nIGluIHY2XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLW1peGluc1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtbWl4aW5zXG4iLCIvL1xuLy8gSGVhZGluZ3Ncbi8vXG4uaDEge1xuICBAZXh0ZW5kIGgxO1xufVxuXG4uaDIge1xuICBAZXh0ZW5kIGgyO1xufVxuXG4uaDMge1xuICBAZXh0ZW5kIGgzO1xufVxuXG4uaDQge1xuICBAZXh0ZW5kIGg0O1xufVxuXG4uaDUge1xuICBAZXh0ZW5kIGg1O1xufVxuXG4uaDYge1xuICBAZXh0ZW5kIGg2O1xufVxuXG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbkBlYWNoICRkaXNwbGF5LCAkZm9udC1zaXplIGluICRkaXNwbGF5LWZvbnQtc2l6ZXMge1xuICAuZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGZvbnQtZmFtaWx5OiAkZGlzcGxheS1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkZGlzcGxheS1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZGlzcGxheS1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG4gIH1cbn1cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuLnNtYWxsIHtcbiAgQGV4dGVuZCBzbWFsbDtcbn1cblxuLm1hcmsge1xuICBAZXh0ZW5kIG1hcms7XG59XG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG59XG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogJGxpc3QtaW5saW5lLXBhZGRpbmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gTWlzY1xuLy9cblxuLy8gQnVpbGRzIG9uIGBhYmJyYFxuLmluaXRpYWxpc20ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGluaXRpYWxpc20tZm9udC1zaXplKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGJsb2NrcXVvdGUtbWFyZ2luLXk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb250LXNpemUpO1xuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogLSRibG9ja3F1b3RlLW1hcmdpbi15O1xuICBtYXJnaW4tYm90dG9tOiAkYmxvY2txdW90ZS1tYXJnaW4teTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemUpO1xuICBjb2xvcjogJGJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwMTRcXDAwQTBcIjsgLy8gZW0gZGFzaCwgbmJzcFxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4vL1xuLy8gVGhpcyBpcyBwdXJwb3NlZnVsbHkgb3B0LWluIHZpYSBhbiBleHBsaWNpdCBjbGFzcyByYXRoZXIgdGhhbiBiZWluZyB0aGUgZGVmYXVsdCBmb3IgYWxsIGA8aW1nPmBzLlxuLy8gV2UgcHJldmlvdXNseSB0cmllZCB0aGUgXCJpbWFnZXMgYXJlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdFwiIGFwcHJvYWNoIGluIEJvb3RzdHJhcCB2Mixcbi8vIGFuZCBhYmFuZG9uZWQgaXQgaW4gQm9vdHN0cmFwIHYzIGJlY2F1c2UgaXQgYnJlYWtzIGxvdHMgb2YgdGhpcmQtcGFydHkgd2lkZ2V0cyAoaW5jbHVkaW5nIEdvb2dsZSBNYXBzKVxuLy8gd2hpY2ggd2VyZW4ndCBleHBlY3RpbmcgdGhlIGltYWdlcyB3aXRoaW4gdGhlbXNlbHZlcyB0byBiZSBpbnZvbHVudGFyaWx5IHJlc2l6ZWQuXG4vLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4MTc4XG4uaW1nLWZsdWlkIHtcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyICogLjU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmlndXJlLWNhcHRpb24ge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZmlndXJlLWNhcHRpb24tY29sb3I7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1jb250YWluZXItY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lcixcbiAgLy8gMTAwJSB3aWRlIGNvbnRhaW5lciBhdCBhbGwgYnJlYWtwb2ludHNcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgY29udGFpbmVycyB0aGF0IGFyZSAxMDAlIHdpZGUgdW50aWwgYSBicmVha3BvaW50XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgIC5jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgQGV4dGVuZCAuY29udGFpbmVyLWZsdWlkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgICAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH0ge1xuICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRlbmQgZWFjaCBicmVha3BvaW50IHdoaWNoIGlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIGN1cnJlbnQgYnJlYWtwb2ludFxuICAgICAgJGV4dGVuZC1icmVha3BvaW50OiB0cnVlO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHdpZHRoIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgQGlmICgkZXh0ZW5kLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRuYW1lLCAkZ3JpZC1icmVha3BvaW50cyl9IHtcbiAgICAgICAgICAgIEBleHRlbmQgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIE9uY2UgdGhlIGN1cnJlbnQgYnJlYWtwb2ludCBpcyByZWFjaGVkLCBzdG9wIGV4dGVuZGluZ1xuICAgICAgICAgIEBpZiAoJGJyZWFrcG9pbnQgPT0gJG5hbWUpIHtcbiAgICAgICAgICAgICRleHRlbmQtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250YWluZXIgbWl4aW5zXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkY29udGFpbmVyLXBhZGRpbmcteCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwgeHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiB5b3VyIGNvbHVtbnMuXG5cbjpyb290IHtcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgLS0jeyRwcmVmaXh9YnJlYWtwb2ludC0jeyRuYW1lfTogI3skdmFsdWV9O1xuICB9XG59XG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG5cbiAgICA+ICoge1xuICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtcmVhZHkoKTtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtY3NzZ3JpZCB7XG4gIC5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KHZhcigtLSN7JHByZWZpeH1yb3dzLCAxKSwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS0jeyRwcmVmaXh9Y29sdW1ucywgI3skZ3JpZC1jb2x1bW5zfSksIDFmcik7XG4gICAgZ2FwOiB2YXIoLS0jeyRwcmVmaXh9Z2FwLCAjeyRncmlkLWd1dHRlci13aWR0aH0pO1xuXG4gICAgQGluY2x1ZGUgbWFrZS1jc3NncmlkKCk7XG4gIH1cbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucygpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JGd1dHRlcn07XG4gIC0tI3skcHJlZml4fWd1dHRlci15OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8vIFRPRE86IFJldmlzaXQgY2FsYyBvcmRlciBhZnRlciBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtYm9vdHN0cmFwL3JlYWN0LWJvb3RzdHJhcC9pc3N1ZXMvNjAzOSBpcyBmaXhlZFxuICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWd1dHRlci15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWd1dHRlci14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgpIHtcbiAgLy8gQWRkIGJveCBzaXppbmcgaWYgb25seSB0aGUgZ3JpZCBpcyBsb2FkZWRcbiAgYm94LXNpemluZzogaWYodmFyaWFibGUtZXhpc3RzKGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcpIGFuZCAkaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZywgYm9yZGVyLWJveCwgbnVsbCk7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSBzZXQgdGhlIHdpZHRoXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFByZXZlbnQgYC5jb2wtYXV0b2AsIGAuY29sYCAoJiByZXNwb25zaXZlIHZhcmlhbnRzKSBmcm9tIGJyZWFraW5nIG91dCB0aGUgZ3JpZFxuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tdG9wOiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXkpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemU6IGZhbHNlLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgJHNpemUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcblxuICB9IEBlbHNlIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogZGl2aWRlKCRzaXplLCAkY29sdW1ucyk7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyIG9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoMSwgJGNvdW50KSk7XG4gIH1cbn1cblxuLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAvLyBQcm92aWRlIGJhc2ljIGAuY29sLXticH1gIGNsYXNzZXMgZm9yIGVxdWFsLXdpZHRoIGZsZXhib3ggY29sdW1uc1xuICAgICAgLmNvbCN7JGluZml4fSB7XG4gICAgICAgIGZsZXg6IDEgMCAwJTsgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICB9XG5cbiAgICAgIC5yb3ctY29scyN7JGluZml4fS1hdXRvID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gR3V0dGVyc1xuICAgICAgLy9cbiAgICAgIC8vIE1ha2UgdXNlIG9mIGAuZy0qYCwgYC5neC0qYCBvciBgLmd5LSpgIHV0aWxpdGllcyB0byBjaGFuZ2Ugc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRndXR0ZXJzIHtcbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd4I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3kjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jc3NncmlkKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5nLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgd2l0aCBgMWAgYmVjYXVzZSBgMGAgaXMgYW5kIGludmFsaWQgdmFsdWUuXG4gICAgICAgIC8vIEVuZHMgd2l0aCBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGUuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC5nLXN0YXJ0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIC8vIFJlc2V0IG5lZWRlZCBmb3IgbmVzdGluZyB0YWJsZXNcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IGluaXRpYWw7XG4gIC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlOiBpbml0aWFsO1xuICAvLyBFbmQgb2YgcmVzZXRcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JHRhYmxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmc6ICN7JHRhYmxlLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmc6ICN7JHRhYmxlLWFjY2VudC1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7JHRhYmxlLXN0cmlwZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnOiAjeyR0YWJsZS1zdHJpcGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAjeyR0YWJsZS1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JHRhYmxlLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAjeyR0YWJsZS1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyR0YWJsZS1ob3Zlci1iZ307XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIHZlcnRpY2FsLWFsaWduOiAkdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcblxuICAvLyBUYXJnZXQgdGggJiB0ZFxuICAvLyBXZSBuZWVkIHRoZSBjaGlsZCBjb21iaW5hdG9yIHRvIHByZXZlbnQgc3R5bGVzIGxlYWtpbmcgdG8gbmVzdGVkIHRhYmxlcyB3aGljaCBkb2Vzbid0IGhhdmUgYSBgLnRhYmxlYCBjbGFzcy5cbiAgLy8gV2UgdXNlIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3JzIGhlcmUgdG8gc2ltcGxpZnkgdGhlIHNlbGVjdG9yIChlbHNlIHdlIHdvdWxkIG5lZWQgNiBkaWZmZXJlbnQgc2VsZWN0b3JzKS5cbiAgLy8gQW5vdGhlciBhZHZhbnRhZ2UgaXMgdGhhdCB0aGlzIGdlbmVyYXRlcyBsZXNzIGNvZGUgYW5kIG1ha2VzIHRoZSBzZWxlY3RvciBsZXNzIHNwZWNpZmljIG1ha2luZyBpdCBlYXNpZXIgdG8gb3ZlcnJpZGUuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXkgJHRhYmxlLWNlbGwtcGFkZGluZy14O1xuICAgIC8vIEZvbGxvd2luZyB0aGUgcHJlY2VwdCBvZiBjYXNjYWRlczogaHR0cHM6Ly9jb2RlcGVuLmlvL21pcmlhbXN1emFubmUvZnVsbC92WU5nb2RiXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXR5cGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcikpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmcpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgOTk5OXB4IHZhcigtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGUsIHZhcigtLSN7JHByZWZpeH10YWJsZS1hY2NlbnQtYmcpKSk7XG4gIH1cblxuICA+IHRib2R5IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgfVxuXG4gID4gdGhlYWQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbn1cblxuLnRhYmxlLWdyb3VwLWRpdmlkZXIge1xuICBib3JkZXItdG9wOiBjYWxjKCN7JHRhYmxlLWJvcmRlci13aWR0aH0gKiAyKSBzb2xpZCAkdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG4vL1xuLy8gQ2hhbmdlIHBsYWNlbWVudCBvZiBjYXB0aW9ucyB3aXRoIGEgY2xhc3Ncbi8vXG5cbi5jYXB0aW9uLXRvcCB7XG4gIGNhcHRpb24tc2lkZTogdG9wO1xufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXVuaXZlcnNhbFxuICA+IDpub3QoY2FwdGlvbikgPiAqID4gKiB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtICR0YWJsZS1jZWxsLXBhZGRpbmcteC1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG4vL1xuLy8gV2hlbiBib3JkZXJzIGFyZSBhZGRlZCBvbiBhbGwgc2lkZXMgb2YgdGhlIGNlbGxzLCB0aGUgY29ybmVycyBjYW4gcmVuZGVyIG9kZCB3aGVuXG4vLyB0aGVzZSBib3JkZXJzIGRvIG5vdCBoYXZlIHRoZSBzYW1lIGNvbG9yIG9yIGlmIHRoZXkgYXJlIHNlbWktdHJhbnNwYXJlbnQuXG4vLyBUaGVyZWZvciB3ZSBhZGQgdG9wIGFuZCBib3JkZXIgYm90dG9tcyB0byB0aGUgYHRyYHMgYW5kIGxlZnQgYW5kIHJpZ2h0IGJvcmRlcnNcbi8vIHRvIHRoZSBgdGRgcyBvciBgdGhgc1xuXG4udGFibGUtYm9yZGVyZWQge1xuICA+IDpub3QoY2FwdGlvbikgPiAqIHtcbiAgICBib3JkZXItd2lkdGg6ICR0YWJsZS1ib3JkZXItd2lkdGggMDtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gICAgPiAqIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG5cbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4vLyBGb3Igcm93c1xuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgfVxufVxuXG4vLyBGb3IgY29sdW1uc1xuLnRhYmxlLXN0cmlwZWQtY29sdW1ucyB7XG4gID4gOm5vdChjYXB0aW9uKSA+IHRyID4gOm50aC1jaGlsZCgjeyR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXJ9KSB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgfVxufVxuXG4vLyBBY3RpdmUgdGFibGVcbi8vXG4vLyBUaGUgYC50YWJsZS1hY3RpdmVgIGNsYXNzIGNhbiBiZSBhZGRlZCB0byBoaWdobGlnaHQgcm93cyBvciBjZWxsc1xuXG4udGFibGUtYWN0aXZlIHtcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3IpO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZyk7XG59XG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZyk7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSB2YXJpYW50c1xuLy9cbi8vIFRhYmxlIHZhcmlhbnRzIHNldCB0aGUgdGFibGUgY2VsbCBiYWNrZ3JvdW5kcywgYm9yZGVyIGNvbG9yc1xuLy8gYW5kIHRoZSBjb2xvcnMgb2YgdGhlIHN0cmlwZWQsIGhvdmVyZWQgJiBhY3RpdmUgdGFibGVzXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0YWJsZS12YXJpYW50cyB7XG4gIEBpbmNsdWRlIHRhYmxlLXZhcmlhbnQoJGNvbG9yLCAkdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC50YWJsZS1yZXNwb25zaXZlI3skaW5maXh9IHtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFudFxuQG1peGluIHRhYmxlLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KG9wYXF1ZSgkYm9keS1iZywgJGJhY2tncm91bmQpKTtcbiAgICAkaG92ZXItYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpKTtcbiAgICAkc3RyaXBlZC1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSk7XG4gICAgJGFjdGl2ZS1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpKTtcbiAgICAkdGFibGUtYm9yZGVyLWNvbG9yOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYm9yZGVyLWZhY3RvcikpO1xuXG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JGNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZzogI3skYmFja2dyb3VuZH07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmc6ICN7JHN0cmlwZWQtYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJHN0cmlwZWQtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skaG92ZXItYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRob3Zlci1iZyl9O1xuXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYW50XG4iLCIvL1xuLy8gTGFiZWxzXG4vL1xuXG4uZm9ybS1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1sYWJlbC1mb250LXNpemUpO1xuICBmb250LXN0eWxlOiAkZm9ybS1sYWJlbC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbn1cbiIsIi8vXG4vLyBGb3JtIHRleHRcbi8vXG5cbi5mb3JtLXRleHQge1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS10ZXh0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtc3R5bGU6ICRmb3JtLXRleHQtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLXRleHQtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xufVxuIiwiLy9cbi8vIEdlbmVyYWwgZm9ybSBjb250cm9scyAocGx1cyBhIGZldyBzcGVjaWZpYyBoaWdoLWxldmVsIGludGVydmVudGlvbnMpXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gICZbdHlwZT1cImZpbGVcIl0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIHByZXZlbnQgcHNldWRvIGVsZW1lbnQgYnV0dG9uIG92ZXJsYXBcblxuICAgICY6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHtcbiAgICAvLyBPbiBBbmRyb2lkIENocm9tZSwgZm9ybS1jb250cm9sJ3MgXCJ3aWR0aDogMTAwJVwiIG1ha2VzIHRoZSBpbnB1dCB3aWR0aCB0b28gc21hbGxcbiAgICAvLyBUZXN0ZWQgdW5kZXIgQW5kcm9pZCAxMSAvIENocm9tZSA4OSwgQW5kcm9pZCAxMiAvIENocm9tZSAxMDAsIEFuZHJvaWQgMTMgLyBDaHJvbWUgMTA5XG4gICAgLy9cbiAgICAvLyBPbiBpT1MgU2FmYXJpLCBmb3JtLWNvbnRyb2wncyBcImFwcGVhcmFuY2U6IG5vbmVcIiArIFwid2lkdGg6IDEwMCVcIiBtYWtlcyB0aGUgaW5wdXQgd2lkdGggdG9vIHNtYWxsXG4gICAgLy8gVGVzdGVkIHVuZGVyIGlPUyAxNi4yIC8gU2FmYXJpIDE2LjJcbiAgICBtaW4td2lkdGg6IDg1cHg7IC8vIFNlZW1zIHRvIGJlIGEgZ29vZCBtaW5pbXVtIHNhZmUgd2lkdGhcblxuICAgIC8vIEFkZCBzb21lIGhlaWdodCB0byBkYXRlIGlucHV0cyBvbiBpT1NcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzIzMzA3XG4gICAgLy8gVE9ETzogd2UgY2FuIHJlbW92ZSB0aGlzIHdvcmthcm91bmQgb25jZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTU5IGlzIHJlc29sdmVkXG4gICAgLy8gTXVsdGlwbHkgbGluZS1oZWlnaHQgYnkgMWVtIGlmIGl0IGhhcyBubyB1bml0XG4gICAgaGVpZ2h0OiBpZih1bml0KCRpbnB1dC1saW5lLWhlaWdodCkgPT0gXCJcIiwgJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtbGluZS1oZWlnaHQpO1xuXG4gICAgLy8gQW5kcm9pZCBDaHJvbWUgdHlwZT1cImRhdGVcIiBpcyB0YWxsZXIgdGhhbiB0aGUgb3RoZXIgaW5wdXRzXG4gICAgLy8gYmVjYXVzZSBvZiBcIm1hcmdpbjogMXB4IDI0cHggMXB4IDRweFwiIGluc2lkZSB0aGUgc2hhZG93IERPTVxuICAgIC8vIFRlc3RlZCB1bmRlciBBbmRyb2lkIDExIC8gQ2hyb21lIDg5LCBBbmRyb2lkIDEyIC8gQ2hyb21lIDEwMCwgQW5kcm9pZCAxMyAvIENocm9tZSAxMDlcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBQcmV2ZW50IGV4Y2Vzc2l2ZSBkYXRlIGlucHV0IGhlaWdodCBpbiBXZWJraXRcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8zNDQzM1xuICAmOjotd2Via2l0LWRhdGV0aW1lLWVkaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIEZpbGUgaW5wdXQgYnV0dG9ucyB0aGVtaW5nXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXkpICgtJGlucHV0LXBhZGRpbmcteCk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXg7XG4gICAgY29sb3I6ICRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG4gIH1cblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZpbGUtYnV0dG9uLWhvdmVyLWJnO1xuICB9XG59XG5cbi8vIFJlYWRvbmx5IGNvbnRyb2xzIGFzIHBsYWluIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxuLy8gdGV4dCAod2l0aG91dCBhbnkgYm9yZGVyLCBiYWNrZ3JvdW5kIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3IpXG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBSZXBlYXRlZCBpbiBgX2lucHV0X2dyb3VwLnNjc3NgIHRvIGF2b2lkIFNhc3MgZXh0ZW5kIGlzc3Vlcy5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcblxuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15LXNtKSAoLSRpbnB1dC1wYWRkaW5nLXgtc20pO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14LXNtO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteS1sZykgKC0kaW5wdXQtcGFkZGluZy14LWxnKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteC1sZztcbiAgfVxufVxuXG4vLyBNYWtlIHN1cmUgdGV4dGFyZWFzIGRvbid0IHNocmluayB0b28gbXVjaCB3aGVuIHJlc2l6ZWRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI5MTI0XG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbnRleHRhcmVhIHtcbiAgJi5mb3JtLWNvbnRyb2wge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICB9XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4uZm9ybS1jb250cm9sLWNvbG9yIHtcbiAgd2lkdGg6ICRmb3JtLWNvbG9yLXdpZHRoO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXk7XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6Oi1tb3otY29sb3Itc3dhdGNoIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtY29sb3Itc3dhdGNoIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtIHsgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtOyB9XG4gICYuZm9ybS1jb250cm9sLWxnIHsgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnOyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBAaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JhZGllbnQtYmctbWl4aW5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3I6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1iZy1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JhZGllbnQtbWl4aW5zXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogbnVsbCwgJGVuZC1wZXJjZW50OiBudWxsKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LW1peGluc1xuIiwiLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cblxuLmZvcm0tc2VsZWN0IHtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nOiAje2VzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvcil9O1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGZvcm0tc2VsZWN0LXBhZGRpbmcteSAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgJGZvcm0tc2VsZWN0LXBhZGRpbmcteSAkZm9ybS1zZWxlY3QtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGZvcm0tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1zZWxlY3QtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1zZWxlY3QtY29sb3I7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXNlbGVjdC1iZztcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWltZyksIHZhcigtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pY29uLCBub25lKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplO1xuICBib3JkZXI6ICRmb3JtLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cywgMCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXNlbGVjdC10cmFuc2l0aW9uKTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3csICRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICZbbXVsdGlwbGVdLFxuICAmW3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBSZW1vdmUgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkZm9ybS1zZWxlY3QtY29sb3I7XG4gIH1cbn1cblxuLmZvcm0tc2VsZWN0LXNtIHtcbiAgcGFkZGluZy10b3A6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLXNlbGVjdC1sZyB7XG4gIHBhZGRpbmctdG9wOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nOiAje2VzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvci1kYXJrKX07XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ2hlY2svcmFkaW9cbi8vXG5cbi5mb3JtLWNoZWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6ICRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTtcblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgcGFkZGluZy1yaWdodDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydCAqIC0xO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZzogI3skZm9ybS1jaGVjay1pbnB1dC1iZ307XG5cbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgaGVpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgbWFyZ2luLXRvcDogKCRsaW5lLWhlaWdodC1iYXNlIC0gJGZvcm0tY2hlY2staW5wdXQtd2lkdGgpICogLjU7IC8vIGxpbmUtaGVpZ2h0IG1pbnVzIGNoZWNrIGhlaWdodFxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJvcmRlcjogJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyO1xuICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyAvLyBLZWVwIHRoZW1lZCBhcHBlYXJhbmNlIGZvciBwcmludFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLWNoZWNrLXRyYW5zaXRpb24pO1xuXG4gICZbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJlt0eXBlPVwicmFkaW9cIl0ge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1jaGVjay1yYWRpby1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGZpbHRlcjogJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gICY6Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuXG4gICAgJlt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cblxuICAgICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW3R5cGU9XCJjaGVja2JveFwiXTppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG5cbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlKX07XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZmlsdGVyOiBub25lO1xuICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cblxuICAvLyBVc2UgZGlzYWJsZWQgYXR0cmlidXRlIGluIGFkZGl0aW9uIG9mIDpkaXNhYmxlZCBwc2V1ZG8tY2xhc3NcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgY29sb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yO1xuICBjdXJzb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjtcbn1cblxuLy9cbi8vIFN3aXRjaFxuLy9cblxuLmZvcm0tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDtcblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtYmctaW1hZ2UpfTtcblxuICAgIHdpZHRoOiAkZm9ybS1zd2l0Y2gtd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXN3aXRjaC1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXN3aXRjaC10cmFuc2l0aW9uKTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtZm9jdXMtYmctaW1hZ2UpfTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb247XG5cbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlKX07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5mb3JtLWNoZWNrLXJldmVyc2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0O1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi1lbmQ7XG59XG5cbi5idG4tY2hlY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICArIC5idG4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmZvcm0tc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0Om5vdCg6Y2hlY2tlZCk6bm90KDpmb2N1cykge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtYmctaW1hZ2UtZGFyayl9O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uZm9ybS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGFkZCgkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQsICRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIgICAgIHsgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0KSAqIC41OyAvLyBXZWJraXQgc3BlY2lmaWNcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uKTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uKTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGaXJlZm94IHNwZWNpZmljP1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cbiIsIi5mb3JtLWZsb2F0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIGhlaWdodDogJGZvcm0tZmxvYXRpbmctaGVpZ2h0O1xuICAgIG1pbi1oZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmxvYXRpbmctbGluZS1oZWlnaHQ7XG4gIH1cblxuICA+IGxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IDEwMCU7IC8vIGFsbG93IHRleHRhcmVhc1xuICAgIHBhZGRpbmc6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gUmVxdWlyZWQgZm9yIGFsaWduaW5nIGxhYmVsJ3MgdGV4dCB3aXRoIHRoZSBpbnB1dCBhcyBpdCBhZmZlY3RzIGlubmVyIGJveCBtb2RlbFxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICBwYWRkaW5nOiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgJGZvcm0tZmxvYXRpbmctcGFkZGluZy14O1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gICAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgICB9XG4gICAgLy8gRHVwbGljYXRlZCBiZWNhdXNlIGA6LXdlYmtpdC1hdXRvZmlsbGAgaW52YWxpZGF0ZXMgb3RoZXIgc2VsZWN0b3JzIHdoZW4gZ3JvdXBlZFxuICAgICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgICB9XG4gIH1cblxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLWNvbnRyb2w6bm90KDpwbGFjZWhvbGRlci1zaG93biksXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQsXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksICN7JGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eX0pO1xuICAgICAgdHJhbnNmb3JtOiAkZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm07XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICgkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXggKiAuNSk7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBoZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWxhYmVsLWhlaWdodDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gRHVwbGljYXRlZCBiZWNhdXNlIGA6LXdlYmtpdC1hdXRvZmlsbGAgaW52YWxpZGF0ZXMgb3RoZXIgc2VsZWN0b3JzIHdoZW4gZ3JvdXBlZFxuICA+IC5mb3JtLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICBjb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2IpLCAjeyRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHl9KTtcbiAgICAgIHRyYW5zZm9ybTogJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgIH4gbGFiZWwge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7IC8vIFJlcXVpcmVkIHRvIHByb3Blcmx5IHBvc2l0aW9uIGxhYmVsIHRleHQgLSBhcyBleHBsYWluZWQgYWJvdmVcbiAgICB9XG4gIH1cblxuICA+IDpkaXNhYmxlZCB+IGxhYmVsLFxuICA+IC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQgfiBsYWJlbCB7IC8vIFJlcXVpcmVkIGZvciBgLmZvcm0tY29udHJvbGBzIGJlY2F1c2Ugb2Ygc3BlY2lmaWNpdHlcbiAgICBjb2xvcjogJGZvcm0tZmxvYXRpbmctbGFiZWwtZGlzYWJsZWQtY29sb3I7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tc2VsZWN0LFxuICA+IC5mb3JtLWZsb2F0aW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNjI0NzE0MC93aHktZG9udC1mbGV4LWl0ZW1zLXNocmluay1wYXN0LWNvbnRlbnQtc2l6ZVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5mb3JtLXNlbGVjdDpmb2N1cyxcbiAgPiAuZm9ybS1mbG9hdGluZzpmb2N1cy13aXRoaW4ge1xuICAgIHotaW5kZXg6IDU7XG4gIH1cblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiA1O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15ICRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTsgLy8gTWF0Y2ggaW5wdXRzXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1zZWxlY3QsXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nO1xufVxuXG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi5pbnB1dC1ncm91cCB7XG4gICY6bm90KC5oYXMtdmFsaWRhdGlvbikge1xuICAgID4gOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDMpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmxhc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXZhbGlkYXRpb24ge1xuICAgID4gOm50aC1sYXN0LWNoaWxkKG4gKyAzKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSk6bm90KC5kcm9wZG93bi1tZW51KTpub3QoLmZvcm0tZmxvYXRpbmcpLFxuICAgID4gLmRyb3Bkb3duLXRvZ2dsZTpudGgtbGFzdC1jaGlsZChuICsgNCksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpudGgtbGFzdC1jaGlsZChuICsgMykgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuXG4gICR2YWxpZGF0aW9uLW1lc3NhZ2VzOiBcIlwiO1xuICBAZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMpIHtcbiAgICAkdmFsaWRhdGlvbi1tZXNzYWdlczogJHZhbGlkYXRpb24tbWVzc2FnZXMgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItdG9vbHRpcClcIiArIFwiOm5vdCguXCIgKyB1bnF1b3RlKCRzdGF0ZSkgKyBcIi1mZWVkYmFjaylcIjtcbiAgfVxuXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tbWVudSkjeyR2YWxpZGF0aW9uLW1lc3NhZ2VzfSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIC0xKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG5cbiAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZpcnN0LWNoaWxkKSA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmaXJzdC1jaGlsZCkgPiAuZm9ybS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cbn1cbiIsIi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoXG4gICRzdGF0ZSxcbiAgJGNvbG9yLFxuICAkaWNvbixcbiAgJHRvb2x0aXAtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICR0b29sdGlwLWJnLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KSxcbiAgJGZvY3VzLWJveC1zaGFkb3c6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAkYm9yZGVyLWNvbG9yOiAkY29sb3Jcbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgZm9udC1zdHlsZTogJGZvcm0tZmVlZGJhY2stZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZy1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICAmOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSxcbiAgICAgICAgJjpub3QoW211bHRpcGxlXSlbc2l6ZT1cIjFcIl0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWljb246ICN7ZXNjYXBlLXN2ZygkaWNvbil9O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbiwgJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb247XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkZm9ybS1zZWxlY3QtYmctc2l6ZSwgJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sLWNvbG9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgd2lkdGg6IGFkZCgkZm9ybS1jb2xvci13aWR0aCwgJGlucHV0LWhlaWdodC1pbm5lcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG5cbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgICBtYXJnaW4tbGVmdDogLjVlbTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAge1xuICAgID4gLmZvcm0tY29udHJvbDpub3QoOmZvY3VzKSxcbiAgICA+IC5mb3JtLXNlbGVjdDpub3QoOmZvY3VzKSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICAgIEBpZiAkc3RhdGUgPT0gXCJ2YWxpZFwiIHtcbiAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB9IEBlbHNlIGlmICRzdGF0ZSA9PSBcImludmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tbWl4aW5zXG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5idG4ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXg6ICN7JGJ0bi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRidG4tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtZmFtaWx5OiAjeyRidG4tZm9udC1mYW1pbHl9O1xuICBAaW5jbHVkZSByZnMoJGJ0bi1mb250LXNpemUsIC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQ6ICN7JGJ0bi1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fWJ0bi1saW5lLWhlaWdodDogI3skYnRuLWxpbmUtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXdpZHRoOiAjeyRidG4tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzOiAjeyRidG4tYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdzogI3skYnRuLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtb3BhY2l0eTogI3skYnRuLWRpc2FibGVkLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdzogMCAwIDAgI3skYnRuLWZvY3VzLXdpZHRofSByZ2JhKHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYiksIC41KTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBidG4tY3NzLXZhcnNcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1idG4tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtZmFtaWx5KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1idG4tZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1idG4tbGluZS1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICB3aGl0ZS1zcGFjZTogJGJ0bi13aGl0ZS1zcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBpZigkZW5hYmxlLWJ1dHRvbi1wb2ludGVycywgcG9pbnRlciwgbnVsbCk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1idG4tYmcpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYnRuLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC5idG4tY2hlY2sgKyAmOmhvdmVyIHtcbiAgICAvLyBvdmVycmlkZSBmb3IgdGhlIGNoZWNrYm94L3JhZGlvIGJ1dHRvbnNcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnKSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAuYnRuLWNoZWNrOmZvY3VzLXZpc2libGUgKyAmIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Y2hlY2tlZCArICYsXG4gIDpub3QoLmJ0bi1jaGVjaykgKyAmOmFjdGl2ZSxcbiAgJjpmaXJzdC1jaGlsZDphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAmLnNob3cge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmcpO1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpKTtcblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0OmRpc2FibGVkICYge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy9cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vL1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXZhcmlhbnQtbG9vcHNcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLSN7JGNvbG9yfSB7XG4gICAgQGlmICRjb2xvciA9PSBcImxpZ2h0XCIge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkaG92ZXItYmFja2dyb3VuZDogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRob3Zlci1ib3JkZXI6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYm9yZGVyOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQpXG4gICAgICApO1xuICAgIH0gQGVsc2UgaWYgJGNvbG9yID09IFwiZGFya1wiIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJGhvdmVyLWJhY2tncm91bmQ6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGhvdmVyLWJvcmRlcjogdGludC1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJvcmRlcjogdGludC1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudClcbiAgICAgICk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYnRuLW91dGxpbmUtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCR2YWx1ZSk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhbnQtbG9vcHNcblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvbnQtd2VpZ2h0OiAjeyRmb250LXdlaWdodC1ub3JtYWx9O1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGJ0bi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skYnRuLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYnRuLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skYnRuLWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJveC1zaGFkb3c6IDAgMCAwICMwMDA7IC8vIENhbid0IHVzZSBgbm9uZWAgYXMga2V5d29yZCBuZWdhdGVzIGFsbCB2YWx1ZXMgd2hlbiB1c2VkIHdpdGggbXVsdGlwbGUgc2hhZG93c1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3skYnRuLWxpbmstZm9jdXMtc2hhZG93LXJnYn07XG5cbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY29sb3IpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICB9XG5cbiAgLy8gTm8gbmVlZCBmb3IgYW4gYWN0aXZlIHN0YXRlIGhlcmVcbn1cblxuXG4vL1xuLy8gQnV0dG9uIFNpemVzXG4vL1xuXG4uYnRuLWxnIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktbGcsICRidG4tcGFkZGluZy14LWxnLCAkYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmJ0bi1zbSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LXNtLCAkYnRuLXBhZGRpbmcteC1zbSwgJGJ0bi1mb250LXNpemUtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LW1peGluXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoXG4gICRiYWNrZ3JvdW5kLFxuICAkYm9yZGVyLFxuICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSxcbiAgJGhvdmVyLWJhY2tncm91bmQ6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4taG92ZXItYmctdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWJvcmRlcjogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkaG92ZXItY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRob3Zlci1iYWNrZ3JvdW5kKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRib3JkZXIsICRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudCkpLFxuICAkYWN0aXZlLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWN0aXZlLWJhY2tncm91bmQpLFxuICAkZGlzYWJsZWQtYmFja2dyb3VuZDogJGJhY2tncm91bmQsXG4gICRkaXNhYmxlZC1ib3JkZXI6ICRib3JkZXIsXG4gICRkaXNhYmxlZC1jb2xvcjogY29sb3ItY29udHJhc3QoJGRpc2FibGVkLWJhY2tncm91bmQpXG4pIHtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogI3skYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6ICN7JGJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGhvdmVyLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRob3Zlci1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IobWl4KCRjb2xvciwgJGJvcmRlciwgMTUlKSl9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yOiAjeyRhY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRhY3RpdmUtYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3c6ICN7JGJ0bi1hY3RpdmUtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcjogI3skZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYmc6ICN7JGRpc2FibGVkLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAjeyRkaXNhYmxlZC1ib3JkZXJ9O1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoXG4gICRjb2xvcixcbiAgJGNvbG9yLWhvdmVyOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvcixcbiAgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcixcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1jb2xvcjogI3skY29sb3ItaG92ZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAje3RvLXJnYigkY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1ncmFkaWVudDogbm9uZTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLW91dGxpbmUtdmFyaWFudC1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnRuLXNpemUtbWl4aW5cbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy15OiAjeyRwYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1idG4tcGFkZGluZy14OiAjeyRwYWRkaW5nLXh9O1xuICBAaW5jbHVkZSByZnMoJGZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItcmFkaXVzOiAjeyRib3JkZXItcmFkaXVzfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXNpemUtbWl4aW5cbiIsIi5mYWRlIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmOm5vdCguc2hvdykge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLWNsYXNzZXNcbi5jb2xsYXBzZSB7XG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG5cbiAgJi5jb2xsYXBzZS1ob3Jpem9udGFsIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aCk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY29sbGFwc2UtY2xhc3Nlc1xuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3BlbmQsXG4uZHJvcGRvd24sXG4uZHJvcHN0YXJ0LFxuLmRyb3B1cC1jZW50ZXIsXG4uZHJvcGRvd24tY2VudGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldCgpO1xufVxuXG4vLyBUaGUgZHJvcGRvd24gbWVudVxuLmRyb3Bkb3duLW1lbnUge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24temluZGV4OiAjeyR6aW5kZXgtZHJvcGRvd259O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1taW4td2lkdGg6ICN7JGRyb3Bkb3duLW1pbi13aWR0aH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteDogI3skZHJvcGRvd24tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy15OiAjeyRkcm9wZG93bi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXI6ICN7JGRyb3Bkb3duLXNwYWNlcn07XG4gIEBpbmNsdWRlIHJmcygkZHJvcGRvd24tZm9udC1zaXplLCAtLSN7JHByZWZpeH1kcm9wZG93bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcjogI3skZHJvcGRvd24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1iZzogI3skZHJvcGRvd24tYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JGRyb3Bkb3duLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItd2lkdGg6ICN7JGRyb3Bkb3duLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnOiAjeyRkcm9wZG93bi1kaXZpZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogI3skZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3c6ICN7JGRyb3Bkb3duLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogI3skZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICN7JGRyb3Bkb3duLWxpbmstaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogI3skZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogI3skZHJvcGRvd24tbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1oZWFkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAjeyRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogI3skZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tY3NzLXZhcnNcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi16aW5kZXgpO1xuICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICBtaW4td2lkdGg6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1taW4td2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tcGFkZGluZy14KTtcbiAgbWFyZ2luOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IG1hcmdpbiBvZiB1bFxuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3cpKTtcblxuICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICBAaWYgJGRyb3Bkb3duLXBhZGRpbmcteSA9PSAwIHtcbiAgICA+IC5kcm9wZG93bi1pdGVtOmZpcnN0LWNoaWxkLFxuICAgID4gbGk6Zmlyc3QtY2hpbGQgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gICAgPiAuZHJvcGRvd24taXRlbTpsYXN0LWNoaWxkLFxuICAgID4gbGk6bGFzdC1jaGlsZCAuZHJvcGRvd24taXRlbSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cblxuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZXNwb25zaXZlLWJyZWFrcG9pbnRzXG4vLyBXZSBkZWxpYmVyYXRlbHkgaGFyZGNvZGUgdGhlIGBicy1gIHByZWZpeCBiZWNhdXNlIHdlIGNoZWNrXG4vLyB0aGlzIGN1c3RvbSBwcm9wZXJ0eSBpbiBKUyB0byBkZXRlcm1pbmUgUG9wcGVyJ3MgcG9zaXRpb25pbmdcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tc3RhcnQge1xuICAgICAgLS1icy1wb3NpdGlvbjogc3RhcnQ7XG5cbiAgICAgICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUjeyRpbmZpeH0tZW5kIHtcbiAgICAgIC0tYnMtcG9zaXRpb246IGVuZDtcblxuICAgICAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldC5cbi5kcm9wdXAge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyKTtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcGVuZCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChlbmQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcHN0YXJ0IHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChzdGFydCk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnKTtcbiAgb3BhY2l0eTogMTsgLy8gUmV2aXNpdCBpbiB2NiB0byBkZS1kdXBlIHN0eWxlcyB0aGF0IGNvbmZsaWN0IHdpdGggPGhyPiBlbGVtZW50XG59XG5cbi8vIExpbmtzLCBidXR0b25zLCBhbmQgbW9yZSB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbi8vXG4vLyBgPGJ1dHRvbj5gLXNwZWNpZmljIHN0eWxlcyBhcmUgZGVub3RlZCB3aXRoIGAvLyBGb3IgPGJ1dHRvbj5zYFxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1ib3JkZXItcmFkaXVzLCAwKSk7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1iZykpO1xuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnKSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRzIGlmIHRoZXkncmUgZW5hYmxlZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBub25lLCBudWxsKTtcbiAgfVxufVxuXG4uZHJvcGRvd24tbWVudS5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBEcm9wZG93biB0ZXh0XG4uZHJvcGRvd24taXRlbS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yKTtcbn1cblxuLy8gRGFyayBkcm9wZG93bnNcbi5kcm9wZG93bi1tZW51LWRhcmsge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tZGFyay1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcjogI3skZHJvcGRvd24tZGFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJnOiAjeyRkcm9wZG93bi1kYXJrLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3c6ICN7JGRyb3Bkb3duLWRhcmstYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItYmc6ICN7JGRyb3Bkb3duLWRhcmstZGl2aWRlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICN7JGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICN7JGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstaGVhZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1kYXJrLWNzcy12YXJzXG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtbWl4aW5zXG5AbWl4aW4gY2FyZXQtZG93bigkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LWVuZCgkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtc3RhcnQoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoXG4gICRkaXJlY3Rpb246IGRvd24sXG4gICR3aWR0aDogJGNhcmV0LXdpZHRoLFxuICAkc3BhY2luZzogJGNhcmV0LXNwYWNpbmcsXG4gICR2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduXG4pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oJHdpZHRoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCR3aWR0aCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZW5kIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZW5kKCR3aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gc3RhcnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXN0YXJ0KCR3aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LW1peGluc1xuIiwiLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgPiAuYnRuLWNoZWNrOmNoZWNrZWQgKyAuYnRuLFxuICA+IC5idG4tY2hlY2s6Zm9jdXMgKyAuYnRuLFxuICA+IC5idG46aG92ZXIsXG4gID4gLmJ0bjpmb2N1cyxcbiAgPiAuYnRuOmFjdGl2ZSxcbiAgPiAuYnRuLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRidG4tYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuICA+IDpub3QoLmJ0bi1jaGVjazpmaXJzdC1jaGlsZCkgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JGJ0bi1ib3JkZXItd2lkdGh9ICogLTEpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDpmaXJzdC1jaGlsZCxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgfVxuXG4gIC8vIFRoZSBsZWZ0IHJhZGl1cyBzaG91bGQgYmUgMCBpZiB0aGUgYnV0dG9uIGlzOlxuICAvLyAtIHRoZSBcInRoaXJkIG9yIG1vcmVcIiBjaGlsZFxuICAvLyAtIHRoZSBzZWNvbmQgY2hpbGQgYW5kIHRoZSBwcmV2aW91cyBlbGVtZW50IGlzbid0IGAuYnRuLWNoZWNrYCAobWFraW5nIGl0IHRoZSBmaXJzdCBjaGlsZCB2aXN1YWxseSlcbiAgLy8gLSBwYXJ0IG9mIGEgYnRuLWdyb3VwIHdoaWNoIGlzbid0IHRoZSBmaXJzdCBjaGlsZFxuICA+IC5idG46bnRoLWNoaWxkKG4gKyAzKSxcbiAgPiA6bm90KC5idG4tY2hlY2spICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3BlbmQgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmRyb3BzdGFydCAmOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gU2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5zaG93IC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBWZXJ0aWNhbCBidXR0b24gZ3JvdXBzXG4vL1xuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCN7JGJ0bi1ib3JkZXItd2lkdGh9ICogLTEpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0biB+IC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gS2lja3N0YXJ0IGFueSBuYXZpZ2F0aW9uIGNvbXBvbmVudCB3aXRoIGEgc2V0IG9mIHN0eWxlIHJlc2V0cy4gV29ya3Mgd2l0aFxuLy8gYDxuYXY+YHMsIGA8dWw+YHMgb3IgYDxvbD5gcy5cblxuLm5hdiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14OiAjeyRuYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXk6ICN7JG5hdi1saW5rLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkbmF2LWxpbmstZm9udC1zaXplLCAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodDogI3skbmF2LWxpbmstZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcjogI3skbmF2LWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcjogI3skbmF2LWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1kaXNhYmxlZC1jb2xvcjogI3skbmF2LWxpbmstZGlzYWJsZWQtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJG5hdi1saW5rLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRuYXYtbGluay1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLy9cbi8vIFRhYnNcbi8vXG5cbi5uYXYtdGFicyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdGFicy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGg6ICN7JG5hdi10YWJzLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXJhZGl1czogI3skbmF2LXRhYnMtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogI3skbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdGFicy1jc3MtdmFyc1xuXG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItY29sb3IpO1xuXG4gIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gUHJldmVudHMgYWN0aXZlIC5uYXYtbGluayB0YWIgb3ZlcmxhcHBpbmcgZm9jdXMgb3V0bGluZSBvZiBwcmV2aW91cy9uZXh0IC5uYXYtbGlua1xuICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIC8vIE1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtcGlsbHMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICN7JG5hdi1waWxscy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAjeyRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICN7JG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZ307XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXBpbGxzLWNzcy12YXJzXG5cbiAgLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtYm9yZGVyLXJhZGl1cykpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9bmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnKSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVW5kZXJsaW5lXG4vL1xuXG4ubmF2LXVuZGVybGluZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdW5kZXJsaW5lLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtZ2FwOiAjeyRuYXYtdW5kZXJsaW5lLWdhcH07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAjeyRuYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi11bmRlcmxpbmUtY3NzLXZhcnNcblxuICBnYXA6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWdhcCk7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudGNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIEp1c3RpZmllZCB2YXJpYW50c1xuLy9cblxuLm5hdi1maWxsIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgPiAubmF2LWxpbmssXG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5uYXYtZmlsbCxcbi5uYXYtanVzdGlmaWVkIHtcbiAgLm5hdi1pdGVtIC5uYXYtbGluayB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIE1ha2Ugc3VyZSBidXR0b24gd2lsbCBncm93XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vL1xuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG5cbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8vIE5hdmJhclxuLy9cbi8vIFByb3ZpZGUgYSBzdGF0aWMgbmF2YmFyIGZyb20gd2hpY2ggd2UgZXhwYW5kIHRvIGNyZWF0ZSBmdWxsLXdpZHRoLCBmaXhlZCwgYW5kXG4vLyBvdGhlciBuYXZiYXIgdmFyaWF0aW9ucy5cblxuLm5hdmJhciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteDogI3tpZigkbmF2YmFyLXBhZGRpbmcteCA9PSBudWxsLCAwLCAkbmF2YmFyLXBhZGRpbmcteCl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy15OiAjeyRuYXZiYXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItaG92ZXItY29sb3I6ICN7JG5hdmJhci1saWdodC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICN7JG5hdmJhci1icmFuZC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtbWFyZ2luLWVuZDogI3skbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmR9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtZm9udC1zaXplOiAjeyRuYXZiYXItYnJhbmQtZm9udC1zaXplfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3I6ICN7JG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICN7JG5hdmJhci10b2dnbGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogI3skbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAjeyRuYXZiYXItdG9nZ2xlci1mb250LXNpemV9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmcpfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAjeyRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGg6ICN7JG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogI3skbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIGFsbG93IHVzIHRvIGRvIHRoZSBsaW5lIGJyZWFrIGZvciBjb2xsYXBzaW5nIGNvbnRlbnRcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvLyBzcGFjZSBvdXQgYnJhbmQgZnJvbSBsb2dvXG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCk7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3BlcnRpZXMgc28gdGhhdCBjb250ZW50IG5lc3RlZCB3aXRoaW4gYmVoYXZlIHByb3Blcmx5LlxuICAvLyBUaGUgYGZsZXgtd3JhcGAgcHJvcGVydHkgaXMgaW5oZXJpdGVkIHRvIHNpbXBsaWZ5IHRoZSBleHBhbmRlZCBuYXZiYXJzXG4gICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogaW5oZXJpdDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gID4gLmNvbnRhaW5lcixcbiAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgPiAuY29udGFpbmVyI3ticmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aHMpfSB7XG4gICAgICBAZXh0ZW5kICVjb250YWluZXItZmxleC1wcm9wZXJ0aWVzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBicmFuZFxuLy9cbi8vIFVzZWQgZm9yIGJyYW5kLCBwcm9qZWN0LCBvciBzaXRlIG5hbWVzLlxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtcGFkZGluZy15KTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtaG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItbmF2LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteDogMDtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15OiAjeyRuYXYtbGluay1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJG5hdi1saW5rLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZm9udC13ZWlnaHQ6ICN7JG5hdi1saW5rLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcik7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yKTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItbmF2LWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gY2Fubm90IHVzZSBgaW5oZXJpdGAgdG8gZ2V0IHRoZSBgLm5hdmJhcmBzIHZhbHVlXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAubmF2LWxpbmsge1xuICAgICYuYWN0aXZlLFxuICAgICYuc2hvdyB7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBwYWRkaW5nLXRvcDogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXYtbGluay1wYWRkaW5nLXk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yKTtcblxuICBhLFxuICBhOmhvdmVyLFxuICBhOmZvY3VzICB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yKTtcbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vL1xuLy8gQ3VzdG9tIHN0eWxlcyBmb3IgcmVzcG9uc2l2ZSBjb2xsYXBzaW5nIGFuZCB0b2dnbGluZyBvZiBuYXZiYXIgY29udGVudHMuXG4vLyBQb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZSBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi8vIFdoZW4gY29sbGFwc2VkLCBwcmV2ZW50IHRoZSB0b2dnbGVhYmxlIG5hdmJhciBjb250ZW50cyBmcm9tIGFwcGVhcmluZyBpblxuLy8gdGhlIGRlZmF1bHQgZmxleGJveCByb3cgb3JpZW50YXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZSkpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcik7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXRyYW5zaXRpb24pKTtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGgpO1xuICB9XG59XG5cbi8vIEtlZXAgYXMgYSBzZXBhcmF0ZSBlbGVtZW50IHNvIGZvbGtzIGNhbiBlYXNpbHkgb3ZlcnJpZGUgaXQgd2l0aCBhbm90aGVyIGljb25cbi8vIG9yIGltYWdlIGZpbGUgYXMgbmVlZGVkLlxuLm5hdmJhci10b2dnbGVyLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbn1cblxuLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgbWF4LWhlaWdodDogdmFyKC0tI3skcHJlZml4fXNjcm9sbC1oZWlnaHQsIDc1dmgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWV4cGFuZC1sb29wXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC5uYXZiYXItZXhwYW5kLSpgIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgY29uZmlndXJpbmdcbi8vIHdoZXJlIHlvdXIgbmF2YmFyIGNvbGxhcHNlcy5cbi5uYXZiYXItZXhwYW5kIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9zZWxlY3Rvci1uby11bmlvbi1jbGFzcy1uYW1lXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgLm5hdmJhci1uYXYge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItbmF2LWxpbmstcGFkZGluZy14KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItbmF2LXNjcm9sbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vZmZjYW52YXMge1xuICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgei1pbmRleDogYXV0bztcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obm9uZSk7XG4gICAgICAgICAgLy8gc3R5bGVsaW50LWVuYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuICAgICAgICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLWV4cGFuZC1sb29wXG5cbi8vIE5hdmJhciB0aGVtZXNcbi8vXG4vLyBTdHlsZXMgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIG5hdmJhcnMgd2l0aCBsaWdodCBvciBkYXJrIGJhY2tncm91bmQuXG5cbi5uYXZiYXItbGlnaHQge1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgLm5hdmJhci1saWdodGBcIiwgXCJ2NS4yLjBcIiwgXCJ2Ni4wLjBcIiwgdHJ1ZSk7XG59XG5cbi5uYXZiYXItZGFyayxcbi5uYXZiYXJbZGF0YS1icy10aGVtZT1cImRhcmtcIl0ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWRhcmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3I6ICN7JG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcjogI3skbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWNvbG9yOiAjeyRuYXZiYXItZGFyay1icmFuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3I6ICN7JG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZzogI3tlc2NhcGUtc3ZnKCRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmcpfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZGFyay1jc3MtdmFyc1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyl9O1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBjYXJkLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXk6ICN7JGNhcmQtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14OiAjeyRjYXJkLXNwYWNlci14fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteTogI3skY2FyZC10aXRsZS1zcGFjZXIteX07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3I6ICN7JGNhcmQtdGl0bGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yOiAjeyRjYXJkLXN1YnRpdGxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGg6ICN7JGNhcmQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3I6ICN7JGNhcmQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzOiAjeyRjYXJkLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3c6ICN7JGNhcmQtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogI3skY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXg6ICN7JGNhcmQtY2FwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWJnOiAjeyRjYXJkLWNhcC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yOiAjeyRjYXJkLWNhcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0OiAjeyRjYXJkLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWNhcmQtY29sb3I6ICN7JGNhcmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJnOiAjeyRjYXJkLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAjeyRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbjogI3skY2FyZC1ncm91cC1tYXJnaW59O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNhcmQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWNhcmQtYm94LXNoYWRvdykpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHVlIHRvIHNwZWNpZmljaXR5IG9mIHRoZSBhYm92ZSBzZWxlY3RvciAoYC5jYXJkID4gLmxpc3QtZ3JvdXBgKSwgd2UgbXVzdFxuICAvLyB1c2UgYSBjaGlsZCBzZWxlY3RvciBoZXJlIHRvIHByZXZlbnQgZG91YmxlIGJvcmRlcnMuXG4gID4gLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAsXG4gID4gLmxpc3QtZ3JvdXAgKyAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNvbG9yKTtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1jb2xvcik7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtc3VidGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICB9XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtZ3JvdXAtbWFyZ2luKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWNjb3JkaW9uIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGFjY29yZGlvbi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tY29sb3I6ICN7JGFjY29yZGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1iZzogI3skYWNjb3JkaW9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLXRyYW5zaXRpb246ICN7JGFjY29yZGlvbi10cmFuc2l0aW9ufTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcjogI3skYWNjb3JkaW9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICN7JGFjY29yZGlvbi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1czogI3skYWNjb3JkaW9uLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogI3skYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteTogI3skYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1iZzogI3skYWNjb3JkaW9uLWJ1dHRvbi1iZ307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWljb24pfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoOiAjeyRhY2NvcmRpb24taWNvbi13aWR0aH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm06ICN7JGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2l0aW9uOiAjeyRhY2NvcmRpb24taWNvbi10cmFuc2l0aW9ufTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm9yZGVyLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdzogI3skYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy14OiAjeyRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICN7JGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtY29sb3I6ICN7JGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZzogI3skYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmd9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGFjY29yZGlvbi1jc3MtdmFyc1xufVxuXG4uYWNjb3JkaW9uLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIFJlc2V0IGJ1dHRvbiBzdHlsZVxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1iZyk7XG4gIGJvcmRlcjogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgb3ZlcmZsb3ctYW5jaG9yOiBub25lO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tdHJhbnNpdGlvbikpO1xuXG4gICY6bm90KC5jb2xsYXBzZWQpIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJnKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aCkpIDAgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3IpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb24pO1xuICAgICAgdHJhbnNmb3JtOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zZm9ybSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWNjb3JkaW9uIGljb25cbiAgJjo6YWZ0ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2l0aW9uKSk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJvcmRlci1jb2xvcik7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgfVxufVxuXG4uYWNjb3JkaW9uLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hY2NvcmRpb24taXRlbSB7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG5cbiAgLy8gT25seSBzZXQgYSBib3JkZXItcmFkaXVzIG9uIHRoZSBsYXN0IGl0ZW0gaWYgdGhlIGFjY29yZGlvbiBpcyBjb2xsYXBzZWRcbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuXG4gICAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgJi5jb2xsYXBzZWQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxufVxuXG4uYWNjb3JkaW9uLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy14KTtcbn1cblxuXG4vLyBGbHVzaCBhY2NvcmRpb24gaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGFjY29yZGlvbiBpdGVtcyBlZGdlLXRvLWVkZ2UuXG5cbi5hY2NvcmRpb24tZmx1c2gge1xuICAuYWNjb3JkaW9uLWNvbGxhcHNlIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7IGJvcmRlci10b3A6IDA7IH1cbiAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAwOyB9XG5cbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAmLFxuICAgICAgJi5jb2xsYXBzZWQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuYWNjb3JkaW9uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24taWNvbi1kYXJrKX07XG4gICAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb24tZGFyayl9O1xuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteTogI3skYnJlYWRjcnVtYi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICN7JGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbX07XG4gIEBpbmNsdWRlIHJmcygkYnJlYWRjcnVtYi1mb250LXNpemUsIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1iZzogI3skYnJlYWRjcnVtYi1iZ307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogI3skYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAjeyRicmVhZGNydW1iLWRpdmlkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAjeyRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogI3skYnJlYWRjcnVtYi1hY3RpdmUtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1mb250LXNpemUpKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBmbG9hdDogbGVmdDsgLy8gU3VwcHJlc3MgaW5saW5lIHNwYWNpbmdzIGFuZCB1bmRlcmxpbmluZyBvZiB0aGUgc2VwYXJhdG9yXG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcik7XG4gICAgICBjb250ZW50OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLCBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpKSAje1wiLyogcnRsOlwifSB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLCBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZCkpICN7XCIqL1wifTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yKTtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteDogI3skcGFnaW5hdGlvbi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteTogI3skcGFnaW5hdGlvbi1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJHBhZ2luYXRpb24tZm9udC1zaXplLCAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tY29sb3I6ICN7JHBhZ2luYXRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJnOiAjeyRwYWdpbmF0aW9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAjeyRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1iZzogI3skcGFnaW5hdGlvbi1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtY29sb3I6ICN7JHBhZ2luYXRpb24tZm9jdXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJnOiAjeyRwYWdpbmF0aW9uLWZvY3VzLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAjeyRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogI3skcGFnaW5hdGlvbi1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1iZzogI3skcGFnaW5hdGlvbi1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICN7JHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkcGFnaW5hdGlvbi10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1iZyk7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAuYWN0aXZlID4gJiB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYmcpKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgLmRpc2FibGVkID4gJiB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5wYWdlLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQ7XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0ID09IGNhbGMoI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9ICogLTEpIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEFkZCBib3JkZXItcmFkaXVzIHRvIGFsbCBwYWdlTGlua3MgaW4gY2FzZSB0aGV5IGhhdmUgbGVmdCBtYXJnaW5cbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi1taXhpblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteDogI3skcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLCAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG59XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tbWl4aW5cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXg6ICN7JGJhZGdlLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteTogI3skYmFkZ2UtcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRiYWRnZS1mb250LXNpemUsIC0tI3skcHJlZml4fWJhZGdlLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJhZGdlLWZvbnQtd2VpZ2h0OiAjeyRiYWRnZS1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fWJhZGdlLWNvbG9yOiAjeyRiYWRnZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJhZGdlLWJvcmRlci1yYWRpdXM6ICN7JGJhZGdlLWJvcmRlci1yYWRpdXN9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGJhZGdlLWNzcy12YXJzXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1iYWRnZS1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJhZGdlLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJhZGdlLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoKTtcblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1hbGVydC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteDogI3skYWxlcnQtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy15OiAjeyRhbGVydC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hbGVydC1tYXJnaW4tYm90dG9tOiAjeyRhbGVydC1tYXJnaW4tYm90dG9tfTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtY29sb3I6IGluaGVyaXQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlcjogI3skYWxlcnQtYm9yZGVyLXdpZHRofSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLXJhZGl1czogI3skYWxlcnQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3I6IGluaGVyaXQ7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtbWFyZ2luLWJvdHRvbSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXIpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yKTtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGFsZXJ0LWRpc21pc3NpYmxlLXBhZGRpbmctcjtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuYnRuLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6ICRzdHJldGNoZWQtbGluay16LWluZGV4ICsgMTtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICogMS4yNSAkYWxlcnQtcGFkZGluZy14O1xuICB9XG59XG5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LW1vZGlmaWVyc1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydFxuQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCR0aGVtZS1jb2xvcnMpIHtcbiAgLmFsZXJ0LSN7JHN0YXRlfSB7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYm9yZGVyLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC1tb2RpZmllcnNcbiIsIi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3Mta2V5ZnJhbWVzXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAkcHJvZ3Jlc3MtaGVpZ2h0OyB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3Mta2V5ZnJhbWVzXG5cbi5wcm9ncmVzcyxcbi5wcm9ncmVzcy1zdGFja2VkIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHByb2dyZXNzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodDogI3skcHJvZ3Jlc3MtaGVpZ2h0fTtcbiAgQGluY2x1ZGUgcmZzKCRwcm9ncmVzcy1mb250LXNpemUsIC0tI3skcHJlZml4fXByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJnOiAjeyRwcm9ncmVzcy1iZ307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICN7JHByb2dyZXNzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3gtc2hhZG93OiAjeyRwcm9ncmVzcy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWNvbG9yOiAjeyRwcm9ncmVzcy1iYXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItYmc6ICN7JHByb2dyZXNzLWJhci1iZ307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAjeyRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcHJvZ3Jlc3MtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpO1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1mb250LXNpemUpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3gtc2hhZG93KSk7XG59XG5cbi5wcm9ncmVzcy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItYmcpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItdHJhbnNpdGlvbikpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodCkgdmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWhlaWdodCk7XG59XG5cbi5wcm9ncmVzcy1zdGFja2VkID4gLnByb2dyZXNzIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5wcm9ncmVzcy1zdGFja2VkID4gLnByb2dyZXNzID4gLnByb2dyZXNzLWJhciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIC5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbjogJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nIHByb2dyZXNzLWJhci1zdHJpcGVzO1xuXG4gICAgQGlmICRlbmFibGUtcmVkdWNlZC1tb3Rpb24ge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1jb2xvcjogI3skbGlzdC1ncm91cC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmc6ICN7JGxpc3QtZ3JvdXAtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogI3skbGlzdC1ncm91cC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aDogI3skbGlzdC1ncm91cC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICN7JGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICN7JGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAjeyRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6ICN7JGxpc3QtZ3JvdXAtaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogI3skbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogI3skbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICN7JGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogI3skbGlzdC1ncm91cC1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1iZzogI3skbGlzdC1ncm91cC1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbGlzdC1ncm91cC1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5saXN0LWdyb3VwLW51bWJlcmVkIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBzZWN0aW9uO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbTo6YmVmb3JlIHtcbiAgICAvLyBJbmNyZW1lbnRzIG9ubHkgdGhpcyBpbnN0YW5jZSBvZiB0aGUgc2VjdGlvbiBjb3VudGVyXG4gICAgY29udGVudDogY291bnRlcnMoc2VjdGlvbiwgXCIuXCIpIFwiLiBcIjtcbiAgICBjb3VudGVyLWluY3JlbWVudDogc2VjdGlvbjtcbiAgfVxufVxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB6LWluZGV4OiAxOyAvLyBQbGFjZSBob3Zlci9mb2N1cyBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZyk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmcpO1xuICB9XG59XG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoaW5oZXJpdCk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWJnKTtcbiAgfVxuXG4gIC8vIEluY2x1ZGUgYm90aCBoZXJlIGZvciBgPGE+YHMgYW5kIGA8YnV0dG9uPmBzXG4gICYuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL3NlbGVjdG9yLW5vLXJlZHVuZGFudC1uZXN0aW5nLXNlbGVjdG9yXG4gICYgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLWVuZC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtZW5kLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKSk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcblxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICA+IC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci13aWR0aDogMCAwIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci13aWR0aCk7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbGlzdC1ncm91cC1tb2RpZmllcnNcbi8vIExpc3QgZ3JvdXAgY29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG5AZWFjaCAkc3RhdGUgaW4gbWFwLWtleXMoJHRoZW1lLWNvbG9ycykge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJnLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYm9yZGVyLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYm9yZGVyLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1iZy1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuIiwiLy8gVHJhbnNwYXJlbnQgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHByb3BlcnRpZXMgaW5jbHVkZWQgZm9yIGJ1dHRvbiB2ZXJzaW9uLlxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4vLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG4uYnRuLWNsb3NlIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsb3NlLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1jb2xvcjogI3skYnRuLWNsb3NlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWJnOiAjeyBlc2NhcGUtc3ZnKCRidG4tY2xvc2UtYmcpIH07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1vcGFjaXR5OiAjeyRidG4tY2xvc2Utb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5OiAjeyRidG4tY2xvc2UtaG92ZXItb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICN7JGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtb3BhY2l0eTogI3skYnRuLWNsb3NlLWZvY3VzLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eTogI3skYnRuLWNsb3NlLWRpc2FibGVkLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2Utd2hpdGUtZmlsdGVyOiAjeyRidG4tY2xvc2Utd2hpdGUtZmlsdGVyfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBjbG9zZS1jc3MtdmFyc1xuXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB3aWR0aDogJGJ0bi1jbG9zZS13aWR0aDtcbiAgaGVpZ2h0OiAkYnRuLWNsb3NlLWhlaWdodDtcbiAgcGFkZGluZzogJGJ0bi1jbG9zZS1wYWRkaW5nLXkgJGJ0bi1jbG9zZS1wYWRkaW5nLXg7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWNvbG9yKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1iZykgY2VudGVyIC8gJGJ0bi1jbG9zZS13aWR0aCBhdXRvIG5vLXJlcGVhdDsgLy8gaW5jbHVkZSB0cmFuc3BhcmVudCBmb3IgYnV0dG9uIGVsZW1lbnRzXG4gIGJvcmRlcjogMDsgLy8gZm9yIGJ1dHRvbiBlbGVtZW50c1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG4gIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2Utb3BhY2l0eSk7XG5cbiAgLy8gT3ZlcnJpZGUgPGE+J3MgaG92ZXIgc3R5bGVcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWhvdmVyLW9wYWNpdHkpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLXNoYWRvdyk7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eSk7XG4gIH1cbn1cblxuQG1peGluIGJ0bi1jbG9zZS13aGl0ZSgpIHtcbiAgZmlsdGVyOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLXdoaXRlLWZpbHRlcik7XG59XG5cbi5idG4tY2xvc2Utd2hpdGUge1xuICBAaW5jbHVkZSBidG4tY2xvc2Utd2hpdGUoKTtcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmJ0bi1jbG9zZSB7XG4gICAgICBAaW5jbHVkZSBidG4tY2xvc2Utd2hpdGUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIi50b2FzdCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH10b2FzdC16aW5kZXg6ICN7JHppbmRleC10b2FzdH07XG4gIC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteDogI3skdG9hc3QtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy15OiAjeyR0b2FzdC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH10b2FzdC1zcGFjaW5nOiAjeyR0b2FzdC1zcGFjaW5nfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtbWF4LXdpZHRoOiAjeyR0b2FzdC1tYXgtd2lkdGh9O1xuICBAaW5jbHVkZSByZnMoJHRvYXN0LWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9dG9hc3QtZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtY29sb3I6ICN7JHRvYXN0LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYmc6ICN7JHRvYXN0LWJhY2tncm91bmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGg6ICN7JHRvYXN0LWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1jb2xvcjogI3skdG9hc3QtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1czogI3skdG9hc3QtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXRvYXN0LWJveC1zaGFkb3c6ICN7JHRvYXN0LWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItY29sb3I6ICN7JHRvYXN0LWhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1iZzogI3skdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjeyR0b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC1jc3MtdmFyc1xuXG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtbWF4LXdpZHRoKTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXRvYXN0LWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1cykpO1xuXG4gICYuc2hvd2luZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6bm90KC5zaG93KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9hc3QtY29udGFpbmVyIHtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtemluZGV4OiAjeyR6aW5kZXgtdG9hc3R9O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXRvYXN0LXppbmRleCk7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICA+IDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3Qtc3BhY2luZyk7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGNhbGModmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aCkpKTtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KTtcbiAgfVxufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bW9kYWwtemluZGV4OiAjeyR6aW5kZXgtbW9kYWx9O1xuICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwtbWR9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nOiAjeyRtb2RhbC1pbm5lci1wYWRkaW5nfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luOiAjeyRtb2RhbC1kaWFsb2ctbWFyZ2lufTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtY29sb3I6ICN7JG1vZGFsLWNvbnRlbnQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1iZzogI3skbW9kYWwtY29udGVudC1iZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1jb2xvcjogI3skbW9kYWwtY29udGVudC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXJhZGl1czogI3skbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdzogI3skbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaW5uZXItYm9yZGVyLXJhZGl1czogI3skbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteDogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICN7JG1vZGFsLWhlYWRlci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZzogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmd9OyAvLyBUb2RvIGluIHY2OiBTcGxpdCB0aGlzIHBhZGRpbmcgaW50byB4IGFuZCB5XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICN7JG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWdhcDogI3skbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVufTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJnOiAjeyRtb2RhbC1mb290ZXItYmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogI3skbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbW9kYWwtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXppbmRleCk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbik7XG4gIC8vIGFsbG93IGNsaWNrcyB0byBwYXNzIHRocm91Z2ggZm9yIGN1c3RvbSBjbGljayBoYW5kbGluZyB0byBjbG9zZSBtb2RhbFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAubW9kYWwuZmFkZSAmIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRtb2RhbC10cmFuc2l0aW9uKTtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1mYWRlLXRyYW5zZm9ybTtcbiAgfVxuICAubW9kYWwuc2hvdyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zaG93LXRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIFdoZW4gdHJ5aW5nIHRvIGNsb3NlLCBhbmltYXRlIGZvY3VzIHRvIHNjYWxlXG4gIC5tb2RhbC5tb2RhbC1zdGF0aWMgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2NhbGUtdHJhbnNmb3JtO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbikgKiAyKTtcblxuICAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW4pICogMik7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWNvbG9yKTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdykpO1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtYmFja2Ryb3AtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YmFja2Ryb3AtemluZGV4OiAjeyR6aW5kZXgtbW9kYWwtYmFja2Ryb3B9O1xuICAtLSN7JHByZWZpeH1iYWNrZHJvcC1iZzogI3skbW9kYWwtYmFja2Ryb3AtYmd9O1xuICAtLSN7JHByZWZpeH1iYWNrZHJvcC1vcGFjaXR5OiAjeyRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1iYWNrZHJvcC1jc3MtdmFyc1xuXG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AodmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLXppbmRleCksIHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC1iZyksIHZhcigtLSN7JHByZWZpeH1iYWNrZHJvcC1vcGFjaXR5KSk7XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSAqIC41KSBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14KSAqIC41KTtcbiAgICBtYXJnaW46IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nLXkpKSBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14KSkgY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkpIGF1dG87XG4gIH1cbn1cblxuLy8gVGl0bGUgdGV4dCB3aXRoaW4gaGVhZGVyXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fW1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBzbyB0aGF0IHRoZSBib2R5IHRha2UgdXAgYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZVxuICAvLyB3aGVuIHRoZXJlIHNob3VsZCBiZSBhIGZpeGVkIGhlaWdodCBvbiBgLm1vZGFsLWRpYWxvZ2AuXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtcGFkZGluZyk7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmcpIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXApICogLjUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAvLyBQbGFjZSBtYXJnaW4gYmV0d2VlbiBmb290ZXIgZWxlbWVudHNcbiAgLy8gVGhpcyBzb2x1dGlvbiBpcyBmYXIgZnJvbSBpZGVhbCBiZWNhdXNlIG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgdXNhZ2UsXG4gIC8vIGJ1dCBpcyBuZWVkZWQgdG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ4MDBcbiAgPiAqIHtcbiAgICBtYXJnaW46IGNhbGModmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1nYXApICogLjUpOyAvLyBUb2RvIGluIHY2OiByZXBsYWNlIHdpdGggZ2FwIG9uIHBhcmVudCBjbGFzc1xuICB9XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAubW9kYWwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbjogI3skbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwfTtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93OiAjeyRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXB9O1xuICB9XG5cbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1tb2RhbC13aWR0aCk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLXNtIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwtc219O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgLm1vZGFsLWxnLFxuICAubW9kYWwteGwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1sZ307XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAubW9kYWwteGwge1xuICAgIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC14bH07XG4gIH1cbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLWZ1bGxzY3JlZW4tbG9vcFxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRwb3N0Zml4OiBpZigkaW5maXggIT0gXCJcIiwgJGluZml4ICsgXCItZG93blwiLCBcIlwiKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAubW9kYWwtZnVsbHNjcmVlbiN7JHBvc3RmaXh9IHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cblxuICAgICAgLm1vZGFsLWhlYWRlcixcbiAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAubW9kYWwtYm9keSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWZ1bGxzY3JlZW4tbG9vcFxuIiwiLy8gU2hhcmVkIGJldHdlZW4gbW9kYWxzIGFuZCBvZmZjYW52YXNlc1xuQG1peGluIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleCwgJGJhY2tkcm9wLWJnLCAkYmFja2Ryb3Atb3BhY2l0eSkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH10b29sdGlwLXppbmRleDogI3skemluZGV4LXRvb2x0aXB9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLW1heC13aWR0aDogI3skdG9vbHRpcC1tYXgtd2lkdGh9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteDogI3skdG9vbHRpcC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteTogI3skdG9vbHRpcC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLW1hcmdpbjogI3skdG9vbHRpcC1tYXJnaW59O1xuICBAaW5jbHVkZSByZnMoJHRvb2x0aXAtZm9udC1zaXplLCAtLSN7JHByZWZpeH10b29sdGlwLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtY29sb3I6ICN7JHRvb2x0aXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWJnOiAjeyR0b29sdGlwLWJnfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1ib3JkZXItcmFkaXVzOiAjeyR0b29sdGlwLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLW9wYWNpdHk6ICN7JHRvb2x0aXAtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGg6ICN7JHRvb2x0aXAtYXJyb3ctd2lkdGh9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodDogI3skdG9vbHRpcC1hcnJvdy1oZWlnaHR9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtY3NzLXZhcnNcblxuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC16aW5kZXgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXJnaW4pO1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgJHRvb2x0aXAtbWFyZ2luYFwiLCBcInY1XCIsIFwidjUueFwiLCB0cnVlKTtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1mb250LXNpemUpKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW9wYWNpdHkpOyB9XG5cbiAgLnRvb2x0aXAtYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtdG9wIC50b29sdGlwLWFycm93IHtcbiAgYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy10b29sdGlwLWVuZCAudG9vbHRpcC1hcnJvdyB7XG4gIGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIH1cbn1cblxuLyogcnRsOmVuZDppZ25vcmUgKi9cblxuLmJzLXRvb2x0aXAtYm90dG9tIC50b29sdGlwLWFycm93IHtcbiAgdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBib3R0b206IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiAwIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy10b29sdGlwLXN0YXJ0IC50b29sdGlwLWFycm93IHtcbiAgcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgbGVmdDogLTFweDtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy10b29sdGlwLWF1dG8ge1xuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtdG9wO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWVuZDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtYm90dG9tO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtc3RhcnQ7XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLW1heC13aWR0aCk7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYm9yZGVyLXJhZGl1cykpO1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIG92ZXJmbG93LXdyYXAgLyB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIucG9wb3ZlciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwb3BvdmVyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXBvcG92ZXItemluZGV4OiAjeyR6aW5kZXgtcG9wb3Zlcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItbWF4LXdpZHRoOiAjeyRwb3BvdmVyLW1heC13aWR0aH07XG4gIEBpbmNsdWRlIHJmcygkcG9wb3Zlci1mb250LXNpemUsIC0tI3skcHJlZml4fXBvcG92ZXItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1iZzogI3skcG9wb3Zlci1iZ307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoOiAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yOiAjeyRwb3BvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXJhZGl1czogI3skcG9wb3Zlci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJveC1zaGFkb3c6ICN7JHBvcG92ZXItYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogI3skcG9wb3Zlci1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAjeyRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItY29sb3I6ICN7JHBvcG92ZXItaGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmc6ICN7JHBvcG92ZXItaGVhZGVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteDogI3skcG9wb3Zlci1ib2R5LXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICN7JHBvcG92ZXItYm9keS1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktY29sb3I6ICN7JHBvcG92ZXItYm9keS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGg6ICN7JHBvcG92ZXItYXJyb3ctd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodDogI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwb3BvdmVyLWNzcy12YXJzXG5cbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItemluZGV4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItbWF4LXdpZHRoKTtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1mb250LXNpemUpKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3gtc2hhZG93KSk7XG5cbiAgLnBvcG92ZXItYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtcG9wb3Zlci10b3Age1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICBib3R0b206IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy1wb3BvdmVyLWVuZCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIGxlZnQ6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIHRvcDogY2FsYygtMSAqICh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpKSAtIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJnKTtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmcpO1xuICB9XG59XG5cbi8qIHJ0bDpiZWdpbjppZ25vcmUgKi9cbi5icy1wb3BvdmVyLXN0YXJ0IHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgcmlnaHQ6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJ0b3BcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItdG9wO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWVuZDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJib3R0b21cIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItYm90dG9tO1xuICB9XG4gICZbZGF0YS1wb3BwZXItcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItc3RhcnQ7XG4gIH1cbn1cblxuLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4ucG9wb3Zlci1oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fXBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBvcG92ZXItYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LWNvbG9yKTtcbn1cbiIsIi8vIE5vdGVzIG9uIHRoZSBjbGFzc2VzOlxuLy9cbi8vIDEuIC5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHNob3VsZCBpZGVhbGx5IGJlIHBhbi15ICh0byBhbGxvdyBmb3IgdXNlcnMgdG8gc2Nyb2xsIHZlcnRpY2FsbHkpXG4vLyAgICBldmVuIHdoZW4gdGhlaXIgc2Nyb2xsIGFjdGlvbiBzdGFydGVkIG9uIGEgY2Fyb3VzZWwsIGJ1dCBmb3IgY29tcGF0aWJpbGl0eSAod2l0aCBGaXJlZm94KVxuLy8gICAgd2UncmUgcHJldmVudGluZyBhbGwgYWN0aW9ucyBpbnN0ZWFkXG4vLyAyLiBUaGUgLmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5jYXJvdXNlbC1pdGVtLWVuZCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQgYW5kIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQgaXMgdGhlIGN1cnJlbnRcbi8vICAgIHNsaWRlIGluIGl0cyBpbi10cmFuc2l0aW9uIHN0YXRlLiBPbmx5IG9uZSBvZiB0aGVzZSBvY2N1cnMgYXQgYSB0aW1lLlxuLy8gNS4gLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tZW5kXG4vLyAgICBpcyB0aGUgdXBjb21pbmcgc2xpZGUgaW4gdHJhbnNpdGlvbi5cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwucG9pbnRlci1ldmVudCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG59XG5cbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSxcbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uY2Fyb3VzZWwtaXRlbS1wcmV2IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQ6bm90KC5jYXJvdXNlbC1pdGVtLXN0YXJ0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLWVuZCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tc3RhcnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgdHJhbnNpdGlvbnNcbi8vXG5cbi5jYXJvdXNlbC1mYWRlIHtcbiAgLmNhcm91c2VsLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4gIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0LFxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDBzICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbik7XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKSwgbnVsbCk7XG59XG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKSwgbnVsbCk7XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLyogcnRsOm9wdGlvbnM6IHtcbiAgXCJhdXRvUmVuYW1lXCI6IHRydWUsXG4gIFwic3RyaW5nTWFwXCI6WyB7XG4gICAgXCJuYW1lXCIgICAgOiBcInByZXYtbmV4dFwiLFxuICAgIFwic2VhcmNoXCIgIDogXCJwcmV2XCIsXG4gICAgXCJyZXBsYWNlXCIgOiBcIm5leHRcIlxuICB9IF1cbn0gKi9cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKTtcbn1cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHMvY29udHJvbHNcbi8vXG4vLyBBZGQgYSBjb250YWluZXIgKHN1Y2ggYXMgYSBsaXN0KSB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhbiBpdGVtIChpZGVhbGx5IGEgZm9jdXNhYmxlIGNvbnRyb2wsXG4vLyBsaWtlIGEgYnV0dG9uKSB3aXRoIGRhdGEtYnMtdGFyZ2V0IGZvciBlYWNoIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcblxuICBbZGF0YS1icy10YXJnZXRdIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvci13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6IDA7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgYm90dG9tOiAkY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIHBhZGRpbmctdG9wOiAkY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBEYXJrIG1vZGUgY2Fyb3VzZWxcblxuQG1peGluIGNhcm91c2VsLWRhcmsoKSB7XG4gIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbiAgLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgICBmaWx0ZXI6ICRjYXJvdXNlbC1kYXJrLWNvbnRyb2wtaWNvbi1maWx0ZXI7XG4gIH1cblxuICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyBbZGF0YS1icy10YXJnZXRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtZGFyay1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICB9XG5cbiAgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtZGFyay1jYXB0aW9uLWNvbG9yO1xuICB9XG59XG5cbi5jYXJvdXNlbC1kYXJrIHtcbiAgQGluY2x1ZGUgY2Fyb3VzZWwtZGFyaygpO1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICBAaWYgJGNvbG9yLW1vZGUtdHlwZSA9PSBcIm1lZGlhLXF1ZXJ5XCIge1xuICAgICAgLmNhcm91c2VsIHtcbiAgICAgICAgQGluY2x1ZGUgY2Fyb3VzZWwtZGFyaygpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgLmNhcm91c2VsLFxuICAgICAgJi5jYXJvdXNlbCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcm91c2VsLWRhcmsoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBjbGVhcmZpeFxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjbGVhcmZpeFxuIiwiLy9cbi8vIFJvdGF0aW5nIGJvcmRlclxuLy9cblxuLnNwaW5uZXItZ3Jvdyxcbi5zcGlubmVyLWJvcmRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ24pO1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQpIGxpbmVhciBpbmZpbml0ZSB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZSk7XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgI3tcIi8qIHJ0bDppZ25vcmUgKi9cIn07IH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXIta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWJvcmRlciB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWJvcmRlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXdpZHRoOiAjeyRzcGlubmVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1oZWlnaHQ6ICN7JHNwaW5uZXItaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogI3skc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbn07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoOiAjeyRzcGlubmVyLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAjeyRzcGlubmVyLWFuaW1hdGlvbi1zcGVlZH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYW5pbWF0aW9uLW5hbWU6IHNwaW5uZXItYm9yZGVyO1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLWNzcy12YXJzXG5cbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGgpIHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNwaW5uZXItYm9yZGVyLXNtIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aDogI3skc3Bpbm5lci1ib3JkZXItd2lkdGgtc219O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItYm9yZGVyLXNtLWNzcy12YXJzXG59XG5cbi8vXG4vLyBHcm93aW5nIGNpcmNsZVxuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItZ3Jvdy1rZXlmcmFtZXNcbkBrZXlmcmFtZXMgc3Bpbm5lci1ncm93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWdyb3cta2V5ZnJhbWVzXG5cbi5zcGlubmVyLWdyb3cge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ncm93LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAjeyRzcGlubmVyLXZlcnRpY2FsLWFsaWdufTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZTogc3Bpbm5lci1ncm93O1xuICAvLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItZ3Jvdy1jc3MtdmFyc1xuXG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW5uZXItZ3Jvdy1zbSB7XG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGgtc219O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHQtc219O1xufVxuXG5AaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiB7XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNwaW5uZXItYm9yZGVyLFxuICAgIC5zcGlubmVyLWdyb3cge1xuICAgICAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkICogMn07XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuJW9mZmNhbnZhcy1jc3MtdmFycyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXppbmRleDogI3skemluZGV4LW9mZmNhbnZhc307XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aDogI3skb2ZmY2FudmFzLWhvcml6b250YWwtd2lkdGh9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiAjeyRvZmZjYW52YXMtdmVydGljYWwtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteDogI3skb2ZmY2FudmFzLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXk6ICN7JG9mZmNhbnZhcy1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtY29sb3I6ICN7JG9mZmNhbnZhcy1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1iZzogI3skb2ZmY2FudmFzLWJnLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aDogI3skb2ZmY2FudmFzLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICN7JG9mZmNhbnZhcy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm94LXNoYWRvdzogI3skb2ZmY2FudmFzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtdHJhbnNpdGlvbjogI3t0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0OiAjeyRvZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHR9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG9mZmNhbnZhcy1jc3MtdmFyc1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBleHRlbmQgJW9mZmNhbnZhcy1jc3MtdmFycztcbiAgfVxufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIC5vZmZjYW52YXMjeyRpbmZpeH0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy16aW5kZXgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1jb2xvcik7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJnKTtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJveC1zaGFkb3cpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy10cmFuc2l0aW9uKSk7XG5cbiAgICAgICYub2ZmY2FudmFzLXN0YXJ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aCk7XG4gICAgICAgIGJvcmRlci1yaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtZW5kIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtd2lkdGgpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy10b3Age1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0KTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5vZmZjYW52YXMtYm90dG9tIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuc2hvdzpub3QoLmhpZGluZykge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuc2hvd2luZyxcbiAgICAgICYuaGlkaW5nLFxuICAgICAgJi5zaG93IHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIikge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmV4dCkge1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtaGVpZ2h0OiBhdXRvO1xuICAgICAgICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgICAgLy8gUmVzZXQgYGJhY2tncm91bmQtY29sb3JgIGluIGNhc2UgYC5iZy0qYCBjbGFzc2VzIGFyZSB1c2VkIGluIG9mZmNhbnZhc1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm9mZmNhbnZhcy1iYWNrZHJvcCB7XG4gIEBpbmNsdWRlIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3AsICRvZmZjYW52YXMtYmFja2Ryb3AtYmcsICRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eSk7XG59XG5cbi5vZmZjYW52YXMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpICogLjUpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSk7XG4gIH1cbn1cblxuLm9mZmNhbnZhcy10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLm9mZmNhbnZhcy1ib2R5IHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuIiwiLnBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogd2FpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAkcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg7XG5cbiAgJi5idG46OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4ucGxhY2Vob2xkZXIteHMge1xuICBtaW4taGVpZ2h0OiAuNmVtO1xufVxuXG4ucGxhY2Vob2xkZXItc20ge1xuICBtaW4taGVpZ2h0OiAuOGVtO1xufVxuXG4ucGxhY2Vob2xkZXItbGcge1xuICBtaW4taGVpZ2h0OiAxLjJlbTtcbn1cblxuLy8gQW5pbWF0aW9uXG4ucGxhY2Vob2xkZXItZ2xvdyB7XG4gIC5wbGFjZWhvbGRlciB7XG4gICAgYW5pbWF0aW9uOiBwbGFjZWhvbGRlci1nbG93IDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItZ2xvdyB7XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluO1xuICB9XG59XG5cbi5wbGFjZWhvbGRlci13YXZlIHtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzMGRlZywgJGJsYWNrIDU1JSwgcmdiYSgwLCAwLCAwLCAoMSAtICRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbikpIDc1JSwgJGJsYWNrIDk1JSk7XG4gIG1hc2stc2l6ZTogMjAwJSAxMDAlO1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyLXdhdmUgMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyLXdhdmUge1xuICAxMDAlIHtcbiAgICBtYXNrLXBvc2l0aW9uOiAtMjAwJSAwJTtcbiAgfVxufVxuIiwiLy8gQWxsLWNhcHMgYFJHQkEoKWAgZnVuY3Rpb24gdXNlZCBiZWNhdXNlIG9mIHRoaXMgU2FzcyBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL25vZGUtc2Fzcy9pc3N1ZXMvMjI1MVxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC50ZXh0LWJnLSN7JGNvbG9yfSB7XG4gICAgY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWJnLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICB9XG59XG4iLCIvLyBBbGwtY2FwcyBgUkdCQSgpYCBmdW5jdGlvbiB1c2VkIGJlY2F1c2Ugb2YgdGhpcyBTYXNzIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvbm9kZS1zYXNzL2lzc3Vlcy8yMjUxXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmxpbmstI3skY29sb3J9IHtcbiAgICBjb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAgIEBpZiAkbGluay1zaGFkZS1wZXJjZW50YWdlICE9IDAge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAkaG92ZXItY29sb3I6IGlmKGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSkgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkdmFsdWUsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpLCB0aW50LWNvbG9yKCR2YWx1ZSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkpO1xuICAgICAgICBjb2xvcjogUkdCQSgje3RvLXJnYigkaG92ZXItY29sb3IpfSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh0by1yZ2IoJGhvdmVyLWNvbG9yKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPbmUtb2ZmIHNwZWNpYWwgbGluayBoZWxwZXIgYXMgYSBicmlkZ2UgdW50aWwgdjZcbi5saW5rLWJvZHktZW1waGFzaXMge1xuICBjb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIEBpZiAkbGluay1zaGFkZS1wZXJjZW50YWdlICE9IDAge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgLjc1KSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIC43NSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgfVxuICB9XG59XG4iLCIuZm9jdXMtcmluZzpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIC8vIEJ5IGRlZmF1bHQsIHRoZXJlIGlzIG5vIGAtLWJzLWZvY3VzLXJpbmcteGAsIGAtLWJzLWZvY3VzLXJpbmcteWAsIG9yIGAtLWJzLWZvY3VzLXJpbmctYmx1cmAsIGJ1dCB3ZSBwcm92aWRlIENTUyB2YXJpYWJsZXMgd2l0aCBmYWxsYmFja3MgdG8gaW5pdGlhbCBgMGAgdmFsdWVzXG4gIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXgsIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXksIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLWJsdXIsIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXdpZHRoKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1jb2xvcik7XG59XG4iLCIuaWNvbi1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogJGljb24tbGluay1nYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAuNSkpO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6ICRpY29uLWxpbmstdW5kZXJsaW5lLW9mZnNldDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gID4gLmJpIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogJGljb24tbGluay1pY29uLXNpemU7XG4gICAgaGVpZ2h0OiAkaWNvbi1saW5rLWljb24tc2l6ZTtcbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbik7XG4gIH1cbn1cblxuLmljb24tbGluay1ob3ZlciB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgPiAuYmkge1xuICAgICAgdHJhbnNmb3JtOiB2YXIoLS0jeyRwcmVmaXh9aWNvbi1saW5rLXRyYW5zZm9ybSwgJGljb24tbGluay1pY29uLXRyYW5zZm9ybSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLnJhdGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS0jeyRwcmVmaXh9YXNwZWN0LXJhdGlvKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBlYWNoICRrZXksICRyYXRpbyBpbiAkYXNwZWN0LXJhdGlvcyB7XG4gIC5yYXRpby0jeyRrZXl9IHtcbiAgICAtLSN7JHByZWZpeH1hc3BlY3QtcmF0aW86ICN7JHJhdGlvfTtcbiAgfVxufVxuIiwiLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi8vIFJlc3BvbnNpdmUgc3RpY2t5IHRvcCBhbmQgYm90dG9tXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuc3RpY2t5I3skaW5maXh9LXRvcCB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gICAgfVxuXG4gICAgLnN0aWNreSN7JGluZml4fS1ib3R0b20ge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IHN0YWNrc1xuLmhzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi52c3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3RhY2tzXG4iLCIvL1xuLy8gVmlzdWFsbHkgaGlkZGVuXG4vL1xuXG4udmlzdWFsbHktaGlkZGVuLFxuLnZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gSGlkZSBjb250ZW50IHZpc3VhbGx5IHdoaWxlIGtlZXBpbmcgaXQgYWNjZXNzaWJsZSB0byBhc3Npc3RpdmUgdGVjaG5vbG9naWVzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2tpdHR5Z2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4oKSB7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXG4gIC8vIEZpeCBmb3IgcG9zaXRpb25lZCB0YWJsZSBjYXB0aW9uIHRoYXQgY291bGQgYmVjb21lIGFub255bW91cyBjZWxsc1xuICAmOm5vdChjYXB0aW9uKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gVXNlIHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLCBvciBvbmUgb2YgaXRzIGNoaWxkIGVsZW1lbnRzIGlzIGZvY3VzZWRcbi8vIChpLmUuIHdoZW4gZm9jdXMgaXMgd2l0aGluIHRoZSBlbGVtZW50L2NvbnRhaW5lciB0aGF0IHRoZSBjbGFzcyB3YXMgYXBwbGllZCB0bylcbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlKCkge1xuICAmOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gIH1cbn1cbiIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6I3skc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnR9IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRzdHJldGNoZWQtbGluay16LWluZGV4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vXG4vLyBUZXh0IHRydW5jYXRpb25cbi8vXG5cbi50ZXh0LXRydW5jYXRlIHtcbiAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgpO1xufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIudnIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIHdpZHRoOiAkdnItYm9yZGVyLXdpZHRoO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogJGhyLW9wYWNpdHk7XG59XG4iLCIvLyBVdGlsaXR5IGdlbmVyYXRvclxuLy8gVXNlZCB0byBnZW5lcmF0ZSB1dGlsaXRpZXMgJiBwcmludCB1dGlsaXRpZXNcbkBtaXhpbiBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXg6IFwiXCIsICRpcy1yZnMtbWVkaWEtcXVlcnk6IGZhbHNlKSB7XG4gICR2YWx1ZXM6IG1hcC1nZXQoJHV0aWxpdHksIHZhbHVlcyk7XG5cbiAgLy8gSWYgdGhlIHZhbHVlcyBhcmUgYSBsaXN0IG9yIHN0cmluZywgY29udmVydCBpdCBpbnRvIGEgbWFwXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09IFwic3RyaW5nXCIgb3IgdHlwZS1vZihudGgoJHZhbHVlcywgMSkpICE9IFwibGlzdFwiIHtcbiAgICAkdmFsdWVzOiB6aXAoJHZhbHVlcywgJHZhbHVlcyk7XG4gIH1cblxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgJHByb3BlcnRpZXM6IG1hcC1nZXQoJHV0aWxpdHksIHByb3BlcnR5KTtcblxuICAgIC8vIE11bHRpcGxlIHByb3BlcnRpZXMgYXJlIHBvc3NpYmxlLCBmb3IgZXhhbXBsZSB3aXRoIHZlcnRpY2FsIG9yIGhvcml6b250YWwgbWFyZ2lucyBvciBwYWRkaW5nc1xuICAgIEBpZiB0eXBlLW9mKCRwcm9wZXJ0aWVzKSA9PSBcInN0cmluZ1wiIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhcHBlbmQoKCksICRwcm9wZXJ0aWVzKTtcbiAgICB9XG5cbiAgICAvLyBVc2UgY3VzdG9tIGNsYXNzIGlmIHByZXNlbnRcbiAgICAkcHJvcGVydHktY2xhc3M6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjbGFzcyksIG1hcC1nZXQoJHV0aWxpdHksIGNsYXNzKSwgbnRoKCRwcm9wZXJ0aWVzLCAxKSk7XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZigkcHJvcGVydHktY2xhc3MgPT0gbnVsbCwgXCJcIiwgJHByb3BlcnR5LWNsYXNzKTtcblxuICAgIC8vIFVzZSBjdXN0b20gQ1NTIHZhcmlhYmxlIG5hbWUgaWYgcHJlc2VudCwgb3RoZXJ3aXNlIGRlZmF1bHQgdG8gYGNsYXNzYFxuICAgICRjc3MtdmFyaWFibGUtbmFtZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLWdldCgkdXRpbGl0eSwgY3NzLXZhcmlhYmxlLW5hbWUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjbGFzcykpO1xuXG4gICAgLy8gU3RhdGUgcGFyYW1zIHRvIGdlbmVyYXRlIHBzZXVkby1jbGFzc2VzXG4gICAgJHN0YXRlOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgc3RhdGUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBzdGF0ZSksICgpKTtcblxuICAgICRpbmZpeDogaWYoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kIHN0ci1zbGljZSgkaW5maXgsIDEsIDEpID09IFwiLVwiLCBzdHItc2xpY2UoJGluZml4LCAyKSwgJGluZml4KTtcblxuICAgIC8vIERvbid0IHByZWZpeCBpZiB2YWx1ZSBrZXkgaXMgbnVsbCAoZS5nLiB3aXRoIHNoYWRvdyBjbGFzcylcbiAgICAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXI6IGlmKCRrZXksIGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCAkaW5maXggPT0gXCJcIiwgXCJcIiwgXCItXCIpICsgJGtleSwgXCJcIik7XG5cbiAgICBAaWYgbWFwLWdldCgkdXRpbGl0eSwgcmZzKSB7XG4gICAgICAvLyBJbnNpZGUgdGhlIG1lZGlhIHF1ZXJ5XG4gICAgICBAaWYgJGlzLXJmcy1tZWRpYS1xdWVyeSB7XG4gICAgICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWUpO1xuXG4gICAgICAgIC8vIERvIG5vdCByZW5kZXIgYW55dGhpbmcgaWYgZmx1aWQgYW5kIG5vbiBmbHVpZCB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgICAgICR2YWx1ZTogaWYoJHZhbCA9PSByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKSwgbnVsbCwgJHZhbCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2YWx1ZTogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGlzLWNzcy12YXI6IG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXIpO1xuICAgICRpcy1sb2NhbC12YXJzOiBtYXAtZ2V0KCR1dGlsaXR5LCBsb2NhbC12YXJzKTtcbiAgICAkaXMtcnRsOiBtYXAtZ2V0KCR1dGlsaXR5LCBydGwpO1xuXG4gICAgQGlmICR2YWx1ZSAhPSBudWxsIHtcbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmJlZ2luOnJlbW92ZSAqL1xuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLWNzcy12YXIge1xuICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH0jeyRjc3MtdmFyaWFibGUtbmFtZX06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRjc3MtdmFyaWFibGUtbmFtZX06ICN7JHZhbHVlfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9IHtcbiAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgQGlmICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgQGVhY2ggJGxvY2FsLXZhciwgJHZhcmlhYmxlIGluICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGxvY2FsLXZhciwgJHZhcmlhYmxlIGluICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGxvY2FsLXZhcn06ICN7JHZhcmlhYmxlfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6ZW5kOnJlbW92ZSAqL1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTG9vcCBvdmVyIGVhY2ggYnJlYWtwb2ludFxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcblxuICAvLyBHZW5lcmF0ZSBtZWRpYSBxdWVyeSBpZiBuZWVkZWRcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLy8gTG9vcCBvdmVyIGVhY2ggdXRpbGl0eSBwcm9wZXJ0eVxuICAgIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgLy8gT25seSBwcm9jZWVkIGlmIHJlc3BvbnNpdmUgbWVkaWEgcXVlcmllcyBhcmUgZW5hYmxlZCBvciBpZiBpdCdzIHRoZSBiYXNlIG1lZGlhIHF1ZXJ5XG4gICAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgKG1hcC1nZXQoJHV0aWxpdHksIHJlc3BvbnNpdmUpIG9yICRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFJGUyByZXNjYWxpbmdcbkBtZWRpYSAobWluLXdpZHRoOiAkcmZzLW1xLXZhbHVlKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAaWYgKG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSA8ICRyZnMtYnJlYWtwb2ludCkge1xuICAgICAgLy8gTG9vcCBvdmVyIGVhY2ggdXRpbGl0eSBwcm9wZXJ0eVxuICAgICAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAgICAgLy8gT25seSBwcm9jZWVkIGlmIHJlc3BvbnNpdmUgbWVkaWEgcXVlcmllcyBhcmUgZW5hYmxlZCBvciBpZiBpdCdzIHRoZSBiYXNlIG1lZGlhIHF1ZXJ5XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCBtYXAtZ2V0KCR1dGlsaXR5LCByZnMpIGFuZCAobWFwLWdldCgkdXRpbGl0eSwgcmVzcG9uc2l2ZSkgb3IgJGluZml4ID09IFwiXCIpIHtcbiAgICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXgsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgLy8gVGhlbiBjaGVjayBpZiB0aGUgdXRpbGl0eSBuZWVkcyBwcmludCBzdHlsZXNcbiAgICBAaWYgdHlwZS1vZigkdXRpbGl0eSkgPT0gXCJtYXBcIiBhbmQgbWFwLWdldCgkdXRpbGl0eSwgcHJpbnQpID09IHRydWUge1xuICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgXCItcHJpbnRcIik7XG4gICAgfVxuICB9XG59XG4iLCIvLyBPdmVycmlkZXMgZm9yIGpRdWVyeSBNaW5pY29sb3JzXG5cbi5taW5pY29sb3JzLXRoZW1lLWJvb3RzdHJhcCAubWluaWNvbG9ycy1zd2F0Y2gge1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICA+IC5taW5pY29sb3JzLXNwcml0ZSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbnNwYW4ubWluaWNvbG9ycy1zd2F0Y2gtY29sb3Ige1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4iLCIvLyBHbG9iYWxcbjpyb290IHtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtcm9vdDtcblxuICAgIC8vIERpc2FibGUgc21vb3RoIHNjcm9sbCB3aGVuIHRoZSB1c2VyIGhhcyBzZXQgXCJwcmVmZXJzLXJlZHVjZWQtbW90aW9uXCJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0bztcbiAgICB9XG59XG5cbjo6LW1zLXJldmVhbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbnRyYXN0LWNvbG9yKTtcbn1cblxuaHRtbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgZm9udC1zdHlsZTogdmFyKC0tbmVvdGVyaWMtZm9udC1zdHlsZS1ub3JtYWwsIG5vcm1hbCk7XG5cbiAgICAmLnRtcGwtY29tcG9uZW50IHtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG59XG5cbmltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuaDYsXG4uaDYsXG5oNSxcbi5oNSxcbmg0LFxuLmg0LFxuaDMsXG4uaDMsXG5oMixcbi5oMixcbmgxLFxuLmgxIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbmVvdGVyaWMtZm9udC1mYW1pbHktaGVhZGluZ3MsICRmb250LWZhbWlseS1zYW5zLXNlcmlmKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tbmVvdGVyaWMtZm9udC13ZWlnaHQtaGVhZGluZ3MsICRmb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXN0eWxlOiB2YXIoLS1uZW90ZXJpYy1mb250LXN0eWxlLW5vcm1hbCwgJGhlYWRpbmdzLWZvbnQtc3R5bGUpO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbnAge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5kaXNwbGF5LTEge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMi43cmVtLCA4dncsIDUuNXJlbSk7XG59XG5cbi5kaXNwbGF5LTIge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMi4zcmVtLCA3dncsIDQuNXJlbSk7XG59XG5cbi5kaXNwbGF5LTMge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS45cmVtLCA2dncsIDMuNXJlbSk7XG59XG5cbi5kaXNwbGF5LTQge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCA1dncsIDIuNXJlbSk7XG59XG5cbi5sZWFkIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuMXJlbSwgM3Z3LCAxLjI1cmVtKTtcbn1cblxuLnRleHQtY29sb3ItYm9keSB7XG4gICAgY29sb3I6IHZhcigtLWJvZHktY29sb3IpO1xufVxuXG4udGV4dC1jb2xvci1wcmltYXJ5IHtcbiAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG59XG5cbi50ZXh0LWNvbG9yLXNlY29uZGFyeSB7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG59XG5cbmEge1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1saW5rLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOm5vdCguYnRuKSB7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDAuMTVzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJjpub3QoW2NsYXNzXSk6aG92ZXIsXG4gICAgJjpub3QoW2NsYXNzXSk6Zm9jdXMge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtbGluay1ob3Zlci1jb2xvcik7XG4gICAgfVxuXG4gICAgJi5uYXZiYXItYnJhbmQge1xuICAgICAgICBjb2xvcjogdmFyKC0tbmVvdGVyaWMtY29sb3ItYnJhbmQpO1xuICAgIH1cbn1cblxuLmNvbS1jb250ZW50LWFydGljbGUge1xuXG4gICAgb2wsXG4gICAgdWwge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cblxuLmNvbS1jb250ZW50LWNhdGVnb3J5X19wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG59XG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG59XG5cbmRkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxudGggZGQge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1uZW90ZXJpYy1mb250LXdlaWdodC1ub3JtYWwsICRmb250LXdlaWdodC1ub3JtYWwpO1xufVxuXG4uY29tLWNvbnRhY3RfX3RodW1ibmFpbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgIGRsLmRsLWhvcml6b250YWwge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuXG4gICAgICAgIGR0IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgZGQge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IDM7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbS1jb250YWN0X19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg0LCBhdXRvKTtcbiAgICAgICAgZ3JpZC1nYXA6IDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDU7XG4gICAgICAgIH1cblxuICAgICAgICAuY29tLWNvbnRhY3RfX3RodW1ibmFpbCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMyAvIDU7XG4gICAgICAgICAgICBncmlkLXJvdzogMiAvIDU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb20tY29udGFjdF9fcG9zaXRpb24ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDIgLyAzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbS1jb250YWN0X19pbmZvIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgICAgICAgIGdyaWQtcm93OiAzIC8gNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb20tdXNlcnMtcHJvZmlsZSB7XG4gICAgICAgIGR0IHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwIDAgKCRuZW90ZXJpYy1ncmlkLWd1dHRlcik7XG5cbiAgICAmLmZsb2F0LXN0YXJ0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gICAgfVxuXG4gICAgJi5mbG9hdC1lbmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICAgIH1cbn1cblxuZmlnY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIGNvbG9yOiAkZ3JheS02MDA7XG59XG5cbi5tb2QtbWVudSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLy8gbWV0ZXIgZWxlbWVudFxubWV0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucGFnZW5hdmlnYXRpb24sXG4ucGFnZXIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogJG5lb3RlcmljLWdyaWQtZ3V0dGVyIDA7XG5cbiAgICAgICAgLm5leHQ6b25seS1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2UtbGluayB7XG4gICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWxpbmstY29sb3IpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1saW5rLWNvbG9yKTtcbiAgICB9XG59XG5cbi5hY3RpdmU+LnBhZ2UtbGluayB7XG4gICAgY29sb3I6IHZhcigtLXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tcGFnaW5hdGlvbi1hY3RpdmUtaG92ZXItY29sb3IsIHZhcigtLXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yKSk7XG4gICAgfVxufVxuXG4ucGFnZXIge1xuICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG5bZGlyPVwicnRsXCJdIGxpLm5leHQgLnBhZ2UtbGluayB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjI1cmVtO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IC4yNXJlbTtcbn1cblxuW2Rpcj1cInJ0bFwiXSBsaS5wcmV2aW91cyAucGFnZS1saW5rIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuMjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IC4yNXJlbTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuXG4uYXJ0aWNsZS1pbmRleCB7XG4gICAgLnRvY2xpbmsuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG59XG5cbi50b3AtYmFyLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLXRvcGJhci1iZyk7XG4gICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLXRvcGJhci1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tdGVtcGxhdGUtdG9wYmFyLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuXG4gICAgYS50ZXh0LWNvbG9yLWluaGVyaXQsXG4gICAgLm1vZC1saXN0IGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtdG9wYmFyLWNvbG9yKTtcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtdG9wYmFyLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZC1pbmxpbmUge1xuICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAudG9wLWJhci1jb250ZW50IHtcbiAgICAgICAgLnRvcC1yaWdodCB7XG4gICAgICAgICAgICAubW9kLWlubGluZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50b3AtbGVmdCB7XG4gICAgICAgICAgICAubW9kLWlubGluZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBCb290c3RyYXAgNCBiL2Ncbi5zci1vbmx5IHtcbiAgICBAZXh0ZW5kIC52aXN1YWxseS1oaWRkZW47XG59XG5cbi8vIE9mZmNhbnZhcyBwb3NpdGlvblxuLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ncmF5LTMwMCk7XG59XG5cbi5ibG9jay1vZmZjYW52YXMge1xuICAgIC5vZmZjYW52YXMtaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtb2ZmY2FudmFzLWhlYWRlci1iZywgIzA5MjE0Myk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1vZmZjYW52YXMtaGVhZGVyLWNvbG9yLCAjZmZmKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMTcpIC0zcHggM3B4IDlweCAwcHg7XG4gICAgfVxuXG4gICAgLm9mZmNhbnZhcy1ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi5oZWFkZXItY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUsICR3aGl0ZSk7XG59XG5cbi5oZWFkZXItaXMtc3RpY2t5IHtcbiAgICAuaGVhZGVyLWNvbnRlbnQge1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIH1cbn1cblxuLmhlYWRlci1tYWluIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1oZWFkZXItYmcsICMwOTIxNDMpO1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1oZWFkZXItY29sb3IsICNmZmYpO1xuXG4gICAgLmNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMS4ycmVtIDA7XG4gICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4ycyBlYXNlO1xuICAgIH1cbn1cblxuLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAuYXdlc29tcGxldGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgICY+aW5wdXQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1oZWFkZXItYmcsICMwOTIxNDMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtaGVhZGVyLWNvbG9yLCAjZmZmKTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgei1pbmRleDogMzgwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgbGluZWFyLCB2aXNpYmlsaXR5IDAuMXMgbGluZWFyLCB3aWR0aCAwLjNzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcblxuICAgICAgICAuaGVhZGVyLXNlYXJjaC1pbm5lciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLXNlYXJjaC1vcGVuIHtcbiAgICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogdW5zZXQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5saW5rLWluaGVyaXQtY29sb3Ige1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5oZWFkZXItbWFpbiB7XG4gICAgICAgIC5jb250YWluZXItaW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMnJlbSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1pcy1zdGlja3kge1xuICAgICAgICAuaGVhZGVyLW1haW4ge1xuICAgICAgICAgICAgLmNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS4ycmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnNlbGVjdC52bS1jdXN0b21maWVsZC1jaG9pY2UsXG5zZWxlY3Qubm9ybWFsLWNob2ljZSxcbi5ub3JtYWwtY2hvaWNlLXdyYXBwZXI+c2VsZWN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLnF1YW50aXR5LWlucHV0IHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5tYWluLWNvbnRlbnQtYXJlYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtbWFpbi1jb250ZW50LWFyZWEtYmcsIHRyYW5zcGFyZW50KTtcbn1cblxuLm1haW4tc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG59XG5cbi5tZWdhLW1lbnUtY29udGFpbmVyIHtcbiAgICAtLW1lZ2FtZW51LWJvcmRlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtbWVnYW1lbnUtYm9yZGVyLWNvbG9yLCAjZGRkKTtcbiAgICAtLW1lZ2FtZW51LWJnOiB2YXIoLS10ZW1wbGF0ZS1tZWdhbWVudS1iZywgI2ZmZik7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLW1lZ2FtZW51LWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW1lZ2FtZW51LWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWVnYW1lbnUtYmcpO1xuXG4gICAgLm1vZC12bWNhdGVnb3J5LWRyb3Bkb3duKy5tb2QtbWVnYW1lbnUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOXJlbTtcbiAgICB9XG59XG5cbi5icmVhZGNydW1icy1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmVhZGNydW1iLXNlY3Rpb24tYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1icmVhZGNydW1iLXNlY3Rpb24tY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1icmVhZGNydW1iLXNlY3Rpb24tYm9yZGVyLWNvbG9yKTtcblxuICAgIC5tb2QtYnJlYWRjcnVtYnMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1icmVhZGNydW1iLXNlY3Rpb24tbGluay1jb2xvciwgaW5oZXJpdCk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYnJlYWRjcnVtYi1zZWN0aW9uLWxpbmstaG92ZXItY29sb3IsIHZhcigtLXRlbXBsYXRlLWxpbmstY29sb3IpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2QtYnJlYWRjcnVtYnNfX2l0ZW0ge1xuICAgICAgICAmKy5icmVhZGNydW1iLWl0ZW0ge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnVlAtUHJpbWUnLCBcIlJvYm90b1wiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MjNcIjtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYnJlYWRjcnVtYi1zZWN0aW9uLXNlcGFyYXRvci1jb2xvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYnJlYWRjcnVtYi1zZWN0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yLCBpbmhlcml0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgLmJyZWFkY3J1bWJzLXNlY3Rpb24ge1xuICAgICAgICAuYnJlYWRjcnVtYnMtaW5uZXIge1xuICAgICAgICAgICAgJi5kLWZsZXgge1xuICAgICAgICAgICAgICAgIC5tb2QtcG9zaXRpb24tYnJlYWRjcnVtYnMge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9kLWJyZWFkY3J1bWJzX193cmFwcGVyIHtcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuYnJlYWRjcnVtYiB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHVuc2V0O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgLmJyZWFkY3J1bWItaXRlbTpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubW9kLWJyZWFkY3J1bWJzX19kaXZpZGVyLFxuICAgICAgICAgICAgLm1vZC1icmVhZGNydW1ic19faGVyZSB7XG4gICAgICAgICAgICAgICAgJisuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJyZWFkY3J1bWItaXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJWUC1QcmltZVwiLCBcIlJvYm90b1wiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTIzXFwyMDA0Li4uXFwyMDA0XFxlOTIzXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1icmVhZGNydW1iLXNlY3Rpb24tc2VwYXJhdG9yLWNvbG9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2QtYnJlYWRjcnVtYnNfX2hlcmUrLmJyZWFkY3J1bWItaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAuYnJlYWRjcnVtYnMtc2VjdGlvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1icmVhZGNydW1iLXNlY3Rpb24tYm9yZGVyLWNvbG9yKTtcbiAgICB9XG59XG5cbi5zZXBhcmF0b3ItbGluZSB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdyYXktMjAwKTtcbn1cblxuLnNlcGFyYXRvci1saW5lLW9mZmNhbnZhcyB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tZ3JheS0zMDApO1xufVxuXG4udG1wbC1jb21wb25lbnQge1xuICAgIHBhZGRpbmc6IDJyZW07XG5cbiAgICAmLmNvbS12bWVzc2VudGlhbHMudmlldy1xdWlja3ZpZXcge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLmdsaWdodGJveC1jbGVhbiB7XG4gICAgJi5tb2RhbC1saW5rIHtcbiAgICAgICAgLmdzbGlkZS1leHRlcm5hbCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmlmcmFtZS1sb2FkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbjtcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgICAgICB9XG5cbiAgICAgICAgLmlmcmFtZS1zcGlubmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkZXJTcGluIDAuOHMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBsb2FkZXJTcGluIDAuOHMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzMzMztcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICAuaWZyYW1lLWxvYWRpbmcge1xuICAgICAgICAgICAgLmlmcmFtZS1sb2FkZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxvYWRlclNwaW4ge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbG9hZGVyU3BpbiB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmdsaWdodGJveC1jbGVhbiB7XG4gICAgICAgICYubW9kYWwtbGluayB7XG4gICAgICAgICAgICAuZ292ZXJsYXkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxpbmstYm9keSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1ib2R5LWNvbG9yLCBpbmhlcml0KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcbiAgICB9XG59XG5cbi5saW5rLWJvZHktaW52ZXJ0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWJvZHktY29sb3IpO1xuICAgIH1cbn1cblxuLnRucy1pbml0aWFsLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYudG5zLXNsaWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLmhhcy1kYW5nZXIge1xuICAgIC5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi1jb250YWluZXItc2luZ2xlIHtcbiAgICAgICAgLmNob3Nlbi1zaW5nbGUge1xuICAgICAgICAgICAgQGV4dGVuZCAuaW52YWxpZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgICBoMSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuOHJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMDAlKTtcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG5cbiAgICAmLnBhZ2UtaGVhZGVyLWNlbnRlciB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnBhZ2UtaGVhZGVyLW5vLWRlY29yYXRpb24ge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN1Yi1oZWFkaW5nIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuI3N5c3RlbS1tZXNzYWdlLWNvbnRhaW5lciB7XG4gICAgJj4qIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblxuICAgIC5wYWdlLWNvbnRhaW5lci1ib3gsXG4gICAgLmNvbS11c2Vycy1yZWdpc3RyYXRpb24sXG4gICAgLmNvbS11c2Vycy1sb2dpbixcbiAgICAuY29tLXVzZXJzLXJlbWluZCxcbiAgICAuY29tLXVzZXJzLXJlc2V0IHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JheS0yMDApO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMnJlbTtcbiAgICB9XG59XG5cbi5tb2QtbG9naW5fX29wdGlvbnMge1xuICAgIC5pY29uLXJlZ2lzdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5yZWQsXG4uc3Rhcixcbi5hc3RlcmlzayB7XG4gICAgY29sb3I6ICNmZjRjMGU7XG59XG5cbi5vZmZjYW52YXMtcmVnaXN0cmF0aW9uLFxuLm9mZmNhbnZhcy1sb2dvdXQge1xuICAgIGkge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ3JheS0yMDApO1xuICAgICAgICBmb250LXNpemU6IDZyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB9XG59XG5cbi5idG4tcmVtb3ZlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLS13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDAuMXJlbSAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLmpld2VsLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uamV3ZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0wLjRyZW07XG4gICAgcmlnaHQ6IC0wLjhyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICB3aWR0aDogMS4xcmVtO1xuICAgIGhlaWdodDogMS4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgLmZvb3Rlci10b29sYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JheS0xMDApO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZ3JheS0yMDApO1xuICAgICAgICB6LWluZGV4OiA1MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5LWNvbG9yKTtcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcblxuICAgICAgICAmPioge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjRyZW0gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1pb3Mge1xuICAgICAgICAuZm9vdGVyLXRvb2xiYXIge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5oZWFkZXItcmlnaHQtbGcuZml4ZWQtYm90dG9tIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIHotaW5kZXg6IGluaGVyaXQ7XG5cbiAgICAgICAgJj4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgLmJ0bi1pY29uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmpld2VsLWdyb3VwIHtcbiAgICAgICAgICAgIC52cGktbGcge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgZ2FwOiAwLjhyZW07XG59XG5cbi5tb2QtaW5saW5lLXRpdGxlIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4udG9wLWJhciB7XG4gICAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA2IEZyZWVcIiwgXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwNzhcIjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLW1lbnUsXG4gICAgdWwubGFuZy1ibG9jay5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgLS1kcm9wZG93bi1ib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICY+bGkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZC1iYWRnZSB7XG4gICAgLS1tb2QtYmFkZ2UtYmc6ICNmZjAwMDA7XG4gICAgLS1tb2QtYmFkZ2UtY29sb3I6ICNmZmZmZmYgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjdyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbW9kLWJhZGdlLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tbW9kLWJhZGdlLWNvbG9yKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5tYWluLXRvcC12ZXJ0aWNhbC1zZWN0aW9uLFxuLm1haW4tdG9wLWhvcml6b250YWwtc2VjdGlvbixcbi5tYWluLWJvdHRvbS12ZXJ0aWNhbC1zZWN0aW9uLFxuLm1haW4tYm90dG9tLWhvcml6b250YWwtc2VjdGlvbiB7XG4gICAgbWFyZ2luOiA0cmVtIDAgMXJlbTtcbn1cblxuLmNvbnRlbnQtdG9wLXZlcnRpY2FsLXNlY3Rpb24sXG4uY29udGVudC10b3AtaG9yaXpvbnRhbC1zZWN0aW9uLFxuLmNvbnRlbnQtYm90dG9tLXZlcnRpY2FsLXNlY3Rpb24sXG4uY29udGVudC1ib3R0b20taG9yaXpvbnRhbC1zZWN0aW9uIHtcbiAgICBtYXJnaW46IDNyZW0gMCAwO1xufVxuXG4uaGVhZGVyLWdyb3VwLFxuLm1vZC1oZWFkZXItZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG4ubW9kLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgZ2FwOiAwLjZyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIC5tb2QtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG59XG5cbi5tb2QtaGVhZGVyLWdyb3VwIHtcbiAgICAmPi5tb2QtaGVhZGVyOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLm1vZC1zdWJ0aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi52ZXJ0aWNhbC1tb2R1bGUtc2VjdGlvbiB7XG4gICAgLm1vZC1oZWFkZXItZ3JvdXAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG5hc2lkZSxcbi5ib3R0b20tc2VjdGlvbiB7XG4gICAgLm1vZC1oZWFkZXItZ3JvdXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLm1vZC1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgIC5tb2QtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kLXN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbn1cblxuLnV0aWxpdHktd2lkZS1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS11dGlsaXR5LXdpZGUtc2VjdGlvbi1iZywgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10ZW1wbGF0ZS11dGlsaXR5LXdpZGUtc2VjdGlvbi1ib3JkZXItdG9wLWNvbG9yLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLXV0aWxpdHktd2lkZS1zZWN0aW9uLWJvcmRlci1ib3R0b20tY29sb3IsIHRyYW5zcGFyZW50KTtcbn1cblxuLnV0aWxpdHktdmVydGljYWwtc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtdXRpbGl0eS12ZXJ0aWNhbC1zZWN0aW9uLWJnLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLXV0aWxpdHktdmVydGljYWwtc2VjdGlvbi1ib3JkZXItdG9wLWNvbG9yLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLXV0aWxpdHktdmVydGljYWwtc2VjdGlvbi1ib3JkZXItYm90dG9tLWNvbG9yLCB0cmFuc3BhcmVudCk7XG59XG5cbi51dGlsaXR5LWhvcml6b250YWwtc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtdXRpbGl0eS1ob3Jpem9udGFsLXNlY3Rpb24tYmcsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdGVtcGxhdGUtdXRpbGl0eS1ob3Jpem9udGFsLXNlY3Rpb24tYm9yZGVyLXRvcC1jb2xvciwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10ZW1wbGF0ZS11dGlsaXR5LWhvcml6b250YWwtc2VjdGlvbi1ib3JkZXItYm90dG9tLWNvbG9yLCB0cmFuc3BhcmVudCk7XG5cbiAgICAuY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogNXJlbSAwO1xuICAgIH1cblxuICAgIC5tb2QtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG59XG5cbi5ib3R0b20tc2xpZGVyLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLWJvdHRvbS1zbGlkZXItc2VjdGlvbi1iZywgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10ZW1wbGF0ZS1ib3R0b20tc2xpZGVyLXNlY3Rpb24tYm9yZGVyLXRvcC1jb2xvciwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10ZW1wbGF0ZS1ib3R0b20tc2xpZGVyLXNlY3Rpb24tYm9yZGVyLWJvdHRvbS1jb2xvciwgdHJhbnNwYXJlbnQpO1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcbn1cblxuLmJvdHRvbS1zZWN0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtYm90dG9tLXNlY3Rpb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLWJvdHRvbS1zZWN0aW9uLWJnLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLWJvdHRvbS1zZWN0aW9uLWJvcmRlci10b3AtY29sb3IsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGVtcGxhdGUtYm90dG9tLXNlY3Rpb24tYm9yZGVyLWJvdHRvbS1jb2xvciwgdHJhbnNwYXJlbnQpO1xuXG4gICAgLmNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDMuNXJlbSAwIDAuNXJlbTtcbiAgICB9XG5cbiAgICAubW9kLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB9XG5cbiAgICAubW9kLXRpdGxlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWJvdHRvbS1zZWN0aW9uLXRpdGxlLWNvbG9yKTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWJvdHRvbS1zZWN0aW9uLWxpbmstY29sb3IpO1xuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1ib3R0b20tc2VjdGlvbi1saW5rLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWJvdHRvbS1zZWN0aW9uLWxpbmstaG92ZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kLWJsb2NrLWhlYWRlciB7XG4gICAgLm1vZC10aXRsZSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG59XG5cbmRpdi5tb2QtbGFuZ3VhZ2VzIHtcbiAgICB1bC5sYW5nLWJsb2NrIHtcbiAgICAgICAgJj5saSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRvcC1iYXItY29udGVudCB7XG4gICAgLnRvcC1sZWZ0IHtcbiAgICAgICAgLm1vZC1pbmxpbmUge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmRsLmFydGljbGUtaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAgMXJlbTtcbn1cblxuZHQuYXJ0aWNsZS1pbmZvLXRlcm0ge1xuICAgIEBleHRlbmQgLnZpc3VhbGx5LWhpZGRlbjtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgYm9keSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIH1cbn1cblxuLm1vZC1tZWdhbWVudSB7XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4udXRpbGl0eS13aWRlLXNlY3Rpb24sXG4udXRpbGl0eS12ZXJ0aWNhbC1zZWN0aW9uLFxuLnV0aWxpdHktaG9yaXpvbnRhbC1zZWN0aW9uIHtcbiAgICAubW9kLWN1c3RvbSB7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgfVxufVxuXG4udXRpbGl0eS13aWRlLXNlY3Rpb24ge1xuICAgIC5tb2QtY3VzdG9tIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICB9XG59XG5cbi5iYW5uZXItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA1cmVtO1xufVxuXG4uYmFubmVyLWJvZHkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmJhbm5lci1jb250ZW50cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiA0cmVtIDVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtYmFubmVyLWJnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkpO1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1iYW5uZXItY29sb3IsIHZhcigtLWJvZHktY29sb3IpKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xufVxuXG4uYmFubmVyLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJhbm5lci1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xufVxuXG4uem9vbS1vbi1ob3ZlciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLCAwLjQ0LCAxLjE4KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDkpO1xuICAgIH1cbn1cblxuLnByb21vLWJhbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb21vLWJhbm5lci1iZyk7XG4gICAgYXNwZWN0LXJhdGlvOiB2YXIoLS1wcm9tby1iYW5uZXItYXNwZWN0LXJhdGlvKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbi5wcm9tby1iYW5uZXItYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbn1cblxuLnByb21vLWJhbm5lci1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMCwgMCwgMC40NCwgMS4xOCk7XG59XG5cbi5wcm9tby1iYW5uZXItY29udGVudCB7XG4gICAgcGFkZGluZzogM3JlbTtcbn1cblxuLnByb21vLWJhbm5lci1zdWJ0aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG4ucHJvbW8tYmFubmVyLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5wcm9tby1iYW5uZXItdGV4dCB7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMS40cmVtO1xufVxuXG4ucHJvbW8tYmFubmVyIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLnByb21vLWJhbm5lci1pbWFnZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGxnX3N5c3RlbV93ZWJhdXRobl9sb2dpbl9idXR0b24ge1xuICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDNweDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIC5wcm9tby1iYW5uZXItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDR2dztcbiAgICB9XG5cbiAgICAucHJvbW8tYmFubmVyLXN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjV2dztcbiAgICB9XG59IiwiLy8gQWxlcnRzXG5cbi5qLW1haW4tY29udGFpbmVyIHtcbiAgLmFsZXJ0IHtcbiAgICBtYXJnaW46IC43NXJlbTtcbiAgfVxuXG59XG5cbi5hbGVydC1oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFyZW0pO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG4iLCIvKipcbiogQmFjayB0byBUb3BcbiovXG5cbi5iYWNrLXRvLXRvcC1saW5rIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDEuMnJlbTtcbiAgICBib3R0b206IDQuMnJlbTtcbiAgICB6LWluZGV4OiAzNTA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUsICR3aGl0ZSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMTcpO1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTgwMCk7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG5cbiAgICAmLnZpc2libGUge1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdyYXktODAwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUsICR3aGl0ZSk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmJhY2stdG8tdG9wLWxpbmsge1xuICAgICAgICB3aWR0aDogNC4ycmVtO1xuICAgICAgICBoZWlnaHQ6IDQuMnJlbTtcbiAgICAgICAgYm90dG9tOiAxLjJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIH1cbn0iLCIvLyBCYW5uZXJcblxuLmNvbnRhaW5lci1iYW5uZXIge1xuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuXG4gIC5iYW5uZXItb3ZlcmxheSB7XG4gICAgaGVpZ2h0OiA3MHZoO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCxjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgIC5vdmVybGF5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLCAwJSwgMCUsIC41KTtcblxuICAgICAgLnRleHQtdGhpbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHRlcjtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gMnJlbTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICAubGVhZCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNTB2aDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3NDBweCkge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvb3RlclxuLmZvb3Rlci1hcmVhIHtcbiAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtZm9vdGVyLWFyZWEtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLWZvb3Rlci1hcmVhLWJnLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLWZvb3Rlci1hcmVhLWJvcmRlci10b3AtY29sb3IsIHRyYW5zcGFyZW50KTtcblxuICAgIC5jb250YWluZXItaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAxLjdyZW0gMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWZvb3Rlci1hcmVhLWxpbmstY29sb3IpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWZvb3Rlci1hcmVhLWxpbmstaG92ZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gRm9ybVxuQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4uZm9ybS1jb250cm9sIHtcbiAgICBtYXgtd2lkdGg6ICRpbnB1dC1tYXgtd2lkdGg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgJi5pbnB1dC14bGFyZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDIxLjg3NXJlbTtcbiAgICB9XG5cbiAgICAmLmlucHV0LXh4bGFyZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDM0LjM3NXJlbTtcbiAgICB9XG5cbiAgICAmLmlucHV0LWZ1bGwge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1pbnB1dC1mb2N1cy1ib3JkZXItY29sb3IsICRpbnB1dC1ib3JkZXItY29sb3IpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn1cblxuLnNwYWNlciBociB7XG4gICAgd2lkdGg6IDIzLjc1cmVtO1xufVxuXG4uZm9ybS1zZWxlY3Qge1xuICAgIG1heC13aWR0aDogJGlucHV0LW1heC13aWR0aDtcbn1cblxuLy8gQm9vdHN0cmFwIDQgYi9jIG9uIGZvcm0taW5saW5lXG4uZm9ybS1pbmxpbmUgLmZvcm0tc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIC5mb3JtLWlubGluZSAuZm9ybS1zZWxlY3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbnRkIC5mb3JtLWNvbnRyb2wge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmNoZWNrYm94ZXMge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG5cbiAgICAuY2hlY2tib3ggaW5wdXQge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG59XG5cbi5tb2RhbCBsYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFZhbGlkYXRpb25cbi5pbnZhbGlkIHtcbiAgICBjb2xvcjogJGRhbmdlcjtcbiAgICBib3JkZXItY29sb3I6ICRkYW5nZXI7XG59XG5cbi52YWxpZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc3VjY2Vzcztcbn1cblxuLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIHNldCB1cCBoaWRkZW4gdG9vbHRpcFxuW3JvbGU9XCJ0b29sdGlwXCJdOm5vdCguc2hvdykge1xuICAgIHJpZ2h0OiA1ZW07XG4gICAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IC41ZW07XG4gICAgbWFyZ2luOiAuNWVtO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTYwMDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAwIDAgLjVyZW0gcmdiYSgwLCAwLCAwLCAuOCk7XG5cbiAgICAmW2lkXj1lZGl0YXJ0aWNsZS1dIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0xMGVtO1xuICAgIH1cblxuICAgICZbaWRePWVkaXRjb250YWN0LV0ge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLTEwZW07XG4gICAgfVxuXG4gICAgJltpZF49aWQtc2tpcC1dIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJltpZF49Y2J1bnB1Ymxpc2hdIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxufVxuXG4vLyByZXZlYWwgYXNzb2NpYXRlZCB0b29sdGlwIG9uIGZvY3VzXG46Zm9jdXMrW3JvbGU9XCJ0b29sdGlwXCJdLFxuOmhvdmVyK1tyb2xlPVwidG9vbHRpcFwiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZmlsdGVyLXNlYXJjaC1iYXJfX2Rlc2NyaXB0aW9uIHtcbiAgICBib3R0b206IDEwMCU7XG59XG5cbmZpZWxkc2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiBtYXRoLmRpdigkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIsIDIpO1xuXG4gICAgK2ZpZWxkc2V0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogbWF0aC5kaXYoJG5lb3RlcmljLWdyaWQtZ3V0dGVyLCAyKTtcbiAgICB9XG5cbiAgICA+KiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgbGVnZW5kIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgfVxufVxuXG4uY29udHJvbC1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJG5lb3RlcmljLWdyaWQtZ3V0dGVyICogMC44O1xufVxuXG4uY29udGFpbmVyLXBvcHVwIC5maWx0ZXItc2VhcmNoLWJhcl9fZGVzY3JpcHRpb24ge1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG59XG5cbi5jb20tdXNlcnMtbG9naW5fX29wdGlvbnMge1xuICAgIG1hcmdpbi10b3A6ICRuZW90ZXJpYy1ncmlkLWd1dHRlciAqIDAuODtcbn1cblxuLmNvbS11c2Vycy1wcm9maWxlX19lZGl0LFxuLmNvbS11c2Vycy1yZWdpc3RyYXRpb24ge1xuXG4gICAgI2pmb3JtX3ByaXZhY3ljb25zZW50X3ByaXZhY3ksXG4gICAgI2pmb3JtX3Byb2ZpbGVfdG9zLFxuICAgICNqZm9ybV90ZXJtc190ZXJtcyB7XG4gICAgICAgIC5yYWRpbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm9sZC1mb3JtIHtcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1jb250cm9sO1xuXG4gICAgICAgICYudmFsaWQge1xuICAgICAgICAgICAgQGV4dGVuZCAudmFsaWQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmludmFsaWQge1xuICAgICAgICAgICAgQGV4dGVuZCAuaW52YWxpZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIEBleHRlbmQgLmZvcm0tc2VsZWN0O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICYudmFsaWQge1xuICAgICAgICAgICAgQGV4dGVuZCAudmFsaWQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmludmFsaWQge1xuICAgICAgICAgICAgQGV4dGVuZCAuaW52YWxpZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbS11c2Vycy1sb2dpbl9fcmVtZW1iZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbn1cblxuLmNvbS11c2Vycy1yZWdpc3RyYXRpb25fX3N1Ym1pdCxcbi5jb20tdXNlcnMtbG9naW5fX3N1Ym1pdCxcbi5jb20tdXNlcnMtcmVzZXRfX3N1Ym1pdCxcbi5jb20tdXNlcnMtcmVtaW5kX19zdWJtaXQge1xuICAgIC5idG4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufSIsIi8vIEZyb250ZW5kIEVkaXRpbmdcblxuLmJ0bi5qbW9kZWRpdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbiAgei1pbmRleDogOTAwO1xuICBjb2xvcjogdmFyKC0tbmVvdGVyaWMtY29sb3ItbGluayk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTg1OTVhO1xuICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG59XG5cbiIsIi8vIEhlYWRlclxuXG4uY29udGFpbmVyLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5lb3RlcmljLWNvbG9yLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkbmVvdGVyaWMtaGVhZGVyLWdyYWQ7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDVweCBoc2xhKDAsIDAlLCAwJSwgLjAzKSBpbnNldDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5ncmlkLWNoaWxkIHtcbiAgICBwYWRkaW5nOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIgKiAuNTtcbiAgfVxuXG4gIG5hdiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tdG9wOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIgKiAuNTtcbiAgfVxuXG4gIC5zaXRlLWRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXRvcDogLjMxMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IC4zMTI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBhdXRvO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNiUpO1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXItbmF2IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctYm90dG9tOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIC5jb250YWluZXItc2VhcmNoLFxuICAgICAgbmF2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXItc2VhcmNoOm9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgJi5zaG93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICB9XG5cbiAgLm1vZC1tZW51IHtcbiAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMSAxIDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICArIGxpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMS41NWVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIG9wYWNpdHk6IC4yO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZTo6YWZ0ZXIsXG4gICAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAycHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICYuYWN0aXZlID4gYSxcbiAgICAgICAgJi5hY3RpdmUgPiBzcGFuLFxuICAgICAgICA+IGE6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhcmVudCB7XG4gICAgICA+IHVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgY29sb3I6ICRncmF5LTkwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1ldGlzbWVudT09dHJ1ZSB7XG4gICAgLm1ldGlzbWVudSA+IGxpIHtcbiAgICAgICsgbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgPiBhOjphZnRlcixcbiAgICAgID4gYnV0dG9uOjpiZWZvcmUge1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIG9wYWNpdHk6IC4yO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGE6aG92ZXI6OmFmdGVyLFxuICAgICAgPiBidXR0b246aG92ZXI6OmJlZm9yZSxcbiAgICAgICYuYWN0aXZlID4gYTo6YWZ0ZXIsXG4gICAgICAmLmFjdGl2ZSA+IGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgPiBidXR0b24ubW0tdG9nZ2xlci1saW5rOmhvdmVyOjpiZWZvcmUsXG4gICAgICAmLmFjdGl2ZSA+IGJ1dHRvbi5tbS10b2dnbGVyLWxpbms6OmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAuNWVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZXRpc21lbnUgPiBsaS5sZXZlbC0xIHtcbiAgICAgICYuYWN0aXZlID4gYSxcbiAgICAgICYuYWN0aXZlID4gYnV0dG9uLFxuICAgICAgPiBhOmhvdmVyLFxuICAgICAgPiBidXR0b246aG92ZXIge1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiB1bCB7XG4gICAgICAgIG1pbi13aWR0aDogMTJyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG5cbiAgICAuZmFzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXItc2VhcmNoIHtcbiAgICBtYXJnaW4tdG9wOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIgKiAuNTtcbiAgfVxuXG4gIC5tb2QtZmluZGVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkd2hpdGUsIDEwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmF3ZXNvbXBsZXRlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1ib2R5LWNvbG9yKTtcblxuICAgICAgPiB1bCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsICR3aGl0ZSwgaHNsYSgwLDAlLDEwMCUsLjkpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEljb25zXG5cbi4jeyRqaWNvbi1jc3MtcHJlZml4fS13aGl0ZSB7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgJjo6YmVmb3JlIHtcbiAgICBtaW4td2lkdGg6IDE2cHg7XG4gIH1cbn1cblxuLnRib2R5LWljb24ge1xuICBwYWRkaW5nOiAwIDNweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIFtjbGFzc149XCIjeyRqaWNvbi1jc3MtcHJlZml4fS1cIl0sXG4gIFtjbGFzcyo9XCIgI3skamljb24tY3NzLXByZWZpeH0tXCJdLFxuICBbY2xhc3NePVwiI3skZmEtY3NzLXByZWZpeH0tXCJdLFxuICBbY2xhc3MqPVwiICN7JGZhLWNzcy1wcmVmaXh9LVwiXSB7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGNvbG9yOiAkZ3JheS00MDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cblxuICAuI3skamljb24tY3NzLXByZWZpeH0tcHVibGlzaCxcbiAgLiN7JGppY29uLWNzcy1wcmVmaXh9LWNoZWNrLFxuICAuI3skZmEtY3NzLXByZWZpeH0tY2hlY2sge1xuICAgIGNvbG9yOiAkc3VjY2VzcztcbiAgICBib3JkZXItY29sb3I6ICRzdWNjZXNzO1xuICB9XG5cbiAgLiN7JGppY29uLWNzcy1wcmVmaXh9LWNoZWNrZWRvdXQsXG4gIC4jeyRqaWNvbi1jc3MtcHJlZml4fS1sb2NrLFxuICAuI3skZmEtY3NzLXByZWZpeH0tbG9jayB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIGNvbG9yOiAkZ3JheS03MDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi5ob21lLWRpc2FibGVkLFxuICAmLmZlYXR1cmVkLWRpc2FibGVkLFxuICAmLmNvbG9yLWZlYXR1cmVkLWRpc2FibGVkLFxuICAmLiN7JGppY29uLWNzcy1wcmVmaXh9LXN0YXItZGlzYWJsZWQsXG4gICYuI3skZmEtY3NzLXByZWZpeH0tc3Rhci1kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi50Ym9keS1pY29uIC5pY29uLWRlbGV0ZSxcbi50Ym9keS1pY29uIC5mYS1kZWxldGUsXG4udGJvZHktaWNvbiAuaWNvbi10aW1lcyxcbi50Ym9keS1pY29uIC5mYS10aW1lcyB7XG4gIGNvbG9yOiAkZGFuZ2VyO1xuICBib3JkZXItY29sb3I6ICRkYW5nZXI7XG59XG5cbi8vIFdlYkF1dGhuXG4ucGxnX3N5c3RlbV93ZWJhdXRobl9sb2dpbl9idXR0b24gc3ZnIHtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDJweDtcbn1cblxuLnBsZ19zeXN0ZW1fd2ViYXV0aG5fbG9naW5fYnV0dG9uIHN2ZyBwYXRoIHtcbiAgZmlsbDogdmFyKC0tYmxhY2spO1xufVxuIiwiLy8gSWZyYW1lXG5cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbn1cblxuLm1vZGFsIGlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuIiwiLy8gT2JqZWN0IENTU1xuXG4kb2JqZWN0LWZpdHM6IChcbiAgZmlsbDogICAgICAgICAgICAgICAgICAgICdmaWxsJyxcbiAgY29udGFpbjogICAgICAgICAgICAgICAgICdjb250YWluJyxcbiAgY292ZXI6ICAgICAgICAgICAgICAgICAgICdjb3ZlcicsXG4gIG5vbmU6ICAgICAgICAgICAgICAgICAgICAnbm9uZScsXG4gIHNjYWxlLWRvd246ICAgICAgICAgICAgICAnc2NhbGUtZG93bicsXG4gIHVuc2V0OiAgICAgICAgICAgICAgICAgICAndW5zZXQnXG4pICFkZWZhdWx0O1xuXG4kb2JqZWN0LXBvc2l0aW9uczogKFxuICBsZWZ0LXRvcDogICAgICAgICAgICAgICAgICdsZWZ0IHRvcCcsXG4gIHJpZ2h0LXRvcDogICAgICAgICAgICAgICAgJ3JpZ2h0IHRvcCcsXG4gIHJpZ2h0LWJvdHRvbTogICAgICAgICAgICAgJ3JpZ2h0IGJvdHRvbScsXG4gIGxlZnQtYm90dG9tOiAgICAgICAgICAgICAgJ2xlZnQgYm90dG9tJyxcbiAgbGVmdC1jZW50ZXI6ICAgICAgICAgICAgICAnbGVmdCBjZW50ZXInLFxuICByaWdodC1jZW50ZXI6ICAgICAgICAgICAgICdyaWdodCBjZW50ZXInLFxuICBjZW50ZXItdG9wOiAgICAgICAgICAgICAgICdjZW50ZXIgdG9wJyxcbiAgY2VudGVyLWJvdHRvbTogICAgICAgICAgICAnY2VudGVyLWJvdHRvbScsXG4gIGNlbnRlcjogICAgICAgICAgICAgICAgICAgJ2NlbnRlciBjZW50ZXInLFxuICB1bnNldDogICAgICAgICAgICAgICAgICAgICd1bnNldCdcbikgIWRlZmF1bHQ7XG5cblxuQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJG9iamVjdC1maXRzIHtcbiAgLm9iamVjdC1maXQtI3skcHJvcGVydHl9IHtcbiAgICBvYmplY3QtZml0OiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJG9iamVjdC1wb3NpdGlvbnMge1xuICAub2JqZWN0LXBvc2l0aW9uLSN7JHByb3BlcnR5fSB7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuLm9iamVjdC1wb3NpdGlvbi1jdXN0b20ge1xuICAtLW9iamVjdC1wb3NpdGlvbjogMCAwO1xuICBvYmplY3QtcG9zaXRpb246IHZhcigtLW9iamVjdC1wb3NpdGlvbik7XG59XG5cbiIsIi8vIExheW91dFxuXG4uZ3JpZC1jaGlsZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG1heC13aWR0aCh4eGwpO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ubW9kLWN1c3RvbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbnRhaW5lci10b3BiYXIsXG4uY29udGFpbmVyLWJlbG93LXRvcCB7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGEge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cbn1cblxuLmNvbnRhaW5lci1iYW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgMnJlbTtcbn1cblxuLmNvbnRhaW5lci10b3AtYSxcbi5jb250YWluZXItdG9wLWIsXG4uY29udGFpbmVyLWJvdHRvbS1hLFxuLmNvbnRhaW5lci1ib3R0b20tYiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiAqIHtcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbjogKCRuZW90ZXJpYy1ncmlkLWd1dHRlciAqIC41KSAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgID4gKiB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRhaW5lci1jb21wb25lbnQgbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29udGFpbmVyLWNvbXBvbmVudCxcbi5jb250YWluZXItc2lkZWJhci1sZWZ0LFxuLmNvbnRhaW5lci1zaWRlYmFyLXJpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICA+ICoge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgICB9XG4gIH1cblxuICA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gIH1cbn1cblxuLmNvbnRhaW5lci1zaWRlYmFyLWxlZnQsXG4uY29udGFpbmVyLXNpZGViYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JG5lb3RlcmljLWdyaWQtZ3V0dGVyfSk7XG4gIG9yZGVyOiAxO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAjeyRuZW90ZXJpYy1ncmlkLWd1dHRlcn0pO1xuICAgIG9yZGVyOiAwO1xuICB9XG59XG5cbi5jb250YWluZXItc2lkZWJhci1sZWZ0IHtcbiAgLnNpZGViYXItbGVmdDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICB9XG4gIC5zaWRlYmFyLWxlZnQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICB9XG59XG4uY29udGFpbmVyLXNpZGViYXItcmlnaHQge1xuICAuc2lkZWJhci1yaWdodDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICB9XG4gIC5zaWRlYmFyLXJpZ2h0Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgfVxufVxuXG4uc3lzdGVtLWRlYnVnIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5vcHRpb25zLWZvcm0ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMXZ3IDJ2dztcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgY29sb3I6ICM0OTUwNTc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2IyYmZjZDtcblxuICA+IGxlZ2VuZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMCAuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNDk1MDU3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuIiwiLy8gTW9kYWxzXG5cbi5tb2RhbCB7XG4gIC5idG4ge1xuICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gIH1cblxuICAuYnRuLXByaW1hcnk6bm90KFtocmVmXSksXG4gIC5idG4tc3VjY2Vzczpub3QoW2hyZWZdKSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cblxuLm1vZGFsLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLW5lb3RlcmljLWZvbnQtd2VpZ2h0LW5vcm1hbCwgJGZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtaGVhZGVyLWhlaWdodDtcbn1cblxuLmNvbnRlbnRwYW5lIHtcbiAgcGFkZGluZzogMTVweDtcblxuICAubWFpbi1jYXJkIHtcbiAgICBtYXJnaW46IC0xMHB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIE1vZGlmaWVyc1xuXG4vLyBlcnJvciBwYWdlXG5cbi5lcnJvci1zaXRlLWh0bWwge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5lcnJvci1zaXRlIHtcbiAgJi5kZWJ1Z2dpbmctZGlzYWJsZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiNGZmO1xuICAgIGNvbG9yOiAjMDAzNDcwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5lcnJvci1zaXRlLW91dGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgLmVycm9yLXNpdGUtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuZXJyb3ItY29kZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZm9udC1zaXplOiAxMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxuXG4gIC5lcnJvci1pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG5cbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIH1cbiAgfVxuXG4gIC5lcnJvci1tZXNzYWdlIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS44cmVtO1xuICB9XG5cbiAgLmVycm9yLWluZm8ge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICB9XG5cbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gIH1cbn1cblxuLmVycm9yLWJhY2tncm91bmQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgLngxIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0ZUNsb3VkIDM1cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgLW1vei1hbmltYXRpb246IGFuaW1hdGVDbG91ZCAzNXMgbGluZWFyIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogYW5pbWF0ZUNsb3VkIDM1cyBsaW5lYXIgaW5maW5pdGU7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42NSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuNjUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC42NSk7XG4gIH1cblxuICAueDIge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMjBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAtbW96LWFuaW1hdGlvbjogYW5pbWF0ZUNsb3VkIDIwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMjBzIGxpbmVhciBpbmZpbml0ZTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zKTtcbiAgfVxuXG4gIC54MyB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGVDbG91ZCAzMHMgbGluZWFyIGluZmluaXRlO1xuICAgIC1tb3otYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMzBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IGFuaW1hdGVDbG91ZCAzMHMgbGluZWFyIGluZmluaXRlO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB9XG5cbiAgLng0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0ZUNsb3VkIDE4cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgLW1vei1hbmltYXRpb246IGFuaW1hdGVDbG91ZCAxOHMgbGluZWFyIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogYW5pbWF0ZUNsb3VkIDE4cyBsaW5lYXIgaW5maW5pdGU7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC40KTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC40KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNCk7XG4gIH1cblxuICAueDUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMjVzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAtbW96LWFuaW1hdGlvbjogYW5pbWF0ZUNsb3VkIDI1cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMjVzIGxpbmVhciBpbmZpbml0ZTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjU1KTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC41NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjU1KTtcbiAgfVxuXG4gIC8qIE9CSkVDVFMgKi9cblxuICAuY2xvdWQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDUlLCAjZjFmMWYxIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoNSUsICNmZmYpLCBjb2xvci1zdG9wKDEwMCUsICNmMWYxZjEpKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgNSUsICNmMWYxZjEgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiA1JSwgI2YxZjFmMSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiA1JSwgI2YxZjFmMSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDUlLCAjZjFmMWYxIDEwMCUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNmZmYnLCBlbmRDb2xvcnN0cj0nI2YxZjFmMScsIEdyYWRpZW50VHlwZT0wKTtcblxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcblxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA4cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgOHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYm94LXNoYWRvdzogMCA4cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblxuICAgIGhlaWdodDogMTIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAzNTBweDtcbiAgfVxuXG4gIC5jbG91ZDphZnRlcixcbiAgLmNsb3VkOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRlWDogMTtcbiAgfVxuXG4gIC5jbG91ZDphZnRlciB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuXG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBsZWZ0OiA1MHB4O1xuICAgIHRvcDogLTUwcHg7XG4gICAgd2lkdGg6IDEwMHB4O1xuICB9XG5cbiAgLmNsb3VkOmJlZm9yZSB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuXG4gICAgd2lkdGg6IDE4MHB4O1xuICAgIGhlaWdodDogMTgwcHg7XG4gICAgcmlnaHQ6IDUwcHg7XG4gICAgdG9wOiAtOTBweDtcbiAgfVxufVxuXG4vKiBLRVlGUkFNRVMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRlQ2xvdWQge1xuICAwJSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDAwcHg7XG4gIH1cblxuICAxMDAlIHtcbiAgICBtYXJnaW4tbGVmdDogMTAwJTtcbiAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgYW5pbWF0ZUNsb3VkIHtcbiAgMCUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTAwMHB4O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbmltYXRlQ2xvdWQge1xuICAwJSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDAwcHg7XG4gIH1cblxuICAxMDAlIHtcbiAgICBtYXJnaW4tbGVmdDogMTAwJTtcbiAgfVxufVxuXG4vLyBjb21fbW9kdWxlc1xuW2NsYXNzXj1cImNvbnRhaW5lci1cIl0sXG5bY2xhc3MqPVwiIGNvbnRhaW5lci1cIl0ge1xuICAuc3Bhbi1jb2wtMiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gI3skbmVvdGVyaWMtZ3JpZC1ndXR0ZXJ9KTtcbiAgfVxuXG4gIC5zcGFuLWNvbC0zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzJTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMzMuMzMzJSAtICN7JG5lb3RlcmljLWdyaWQtZ3V0dGVyfSk7XG4gIH1cblxuICAuc3Bhbi1jb2wtNCB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMjUlIC0gI3skbmVvdGVyaWMtZ3JpZC1ndXR0ZXJ9KTtcbiAgfVxufVxuXG5Ac3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcblxuICBbY2xhc3NePVwic3Bhbi1cIl0sXG4gIFtjbGFzcyo9XCIgc3Bhbi1cIl0ge1xuICAgIGdyaWQtY29sdW1uLWVuZDogYXV0bztcbiAgICBncmlkLXJvdy1lbmQ6IGF1dG87XG4gIH1cblxuICBbY2xhc3NePVwic3Bhbi1jb2xcIl0sXG4gIFtjbGFzcyo9XCIgc3Bhbi1jb2xcIl0ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuc3Bhbi1jb2wtMiB7XG4gICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjtcbiAgICB9XG5cbiAgICAuc3Bhbi1jb2wtMyB7XG4gICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMztcbiAgICB9XG5cbiAgICAuc3Bhbi1jb2wtNCB7XG4gICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gNDtcbiAgICB9XG5cbiAgICAuc3Bhbi1yb3ctMiB7XG4gICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjtcbiAgICB9XG5cbiAgICAuc3Bhbi1yb3ctMyB7XG4gICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMztcbiAgICB9XG5cbiAgICAuc3Bhbi1yb3ctNCB7XG4gICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gNDtcbiAgICB9XG4gIH1cblxuICBbY2xhc3NePVwiY29udGFpbmVyLVwiXSxcbiAgW2NsYXNzKj1cIiBjb250YWluZXItXCJdIHtcblxuICAgIFtjbGFzc149XCJzcGFuLVwiXSxcbiAgICBbY2xhc3MqPVwiIHNwYW4tXCJdIHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBjb21fY29udGVudFxuLmJsb2ctaXRlbXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tcmlnaHQ6IC0oJG5lb3RlcmljLWdyaWQtZ3V0dGVyICogLjUpO1xuICBtYXJnaW4tYm90dG9tOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gIG1hcmdpbi1sZWZ0OiAtKCRuZW90ZXJpYy1ncmlkLWd1dHRlciAqIC41KTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgJi5jb2x1bW5zLTIge1xuICAgICAgPmRpdiB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2x1bW5zLTMge1xuICAgICAgPmRpdiB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2x1bW5zLTQge1xuICAgICAgPmRpdiB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ibG9nLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAwICgkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIgKiAuNSkgJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5ib3hlZCAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAwIDJweCBoc2xhKDIxNiwgMTMlLCAyMyUsIC4xKSwgMCAycHggNXB4IGhzbGEoMjE2LCAxMyUsIDIzJSwgLjA4KSwgMCA1cHggMTVweCBoc2xhKDIxNiwgMTMlLCAyMyUsIC4wOCksIGluc2V0IDAgM3B4IDAgdmFyKC0tbmVvdGVyaWMtY29sb3ItcHJpbWFyeSk7XG5cbiAgICAuaXRlbS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgfVxuICB9XG5cbiAgLml0ZW0taW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuYm94ZWQgJiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgIC5pbWFnZS1yaWdodCAmIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlLWJvdHRvbSAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgLml0ZW0tY29udGVudCB7XG4gICAgLmltYWdlLWxlZnQgJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgfVxuXG4gICAgLmltYWdlLXJpZ2h0ICYge1xuICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICB9XG4gIH1cblxuICAuaW1hZ2UtbGVmdCAmLFxuICAuaW1hZ2UtcmlnaHQgJiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgIC5pdGVtLWltYWdlIHtcbiAgICAgICAgZmxleDogMSAwIDQwJTtcbiAgICAgIH1cblxuICAgICAgLml0ZW0tY29udGVudCB7XG4gICAgICAgIGZsZXg6IDEgMCA2MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hcnRpY2xlLWluZm8ge1xuICBkZCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG5Ac3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgLmJsb2ctaXRlbXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgbWFyZ2luOiAwIDAgJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC1nYXA6ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcblxuICAgIC5ibG9nLWl0ZW0ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmW2NsYXNzXj1cImNvbHVtbnMtXCJdLFxuICAgICZbY2xhc3MqPVwiIGNvbHVtbnMtXCJdIHtcbiAgICAgID5kaXYge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAmLmNvbHVtbnMtMiB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgIH1cblxuICAgICAgJi5jb2x1bW5zLTMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgfVxuXG4gICAgICAmLmNvbHVtbnMtNCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYmxvZy1pdGVtcyB7XG5cbiAgJltjbGFzc149XCJtYXNvbnJ5LVwiXSxcbiAgJltjbGFzcyo9XCIgbWFzb25yeS1cIl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbHVtbi1nYXA6ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcblxuICAgIC5ibG9nLWl0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAmLm1hc29ucnktMiB7XG4gICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgfVxuXG4gICAgJi5tYXNvbnJ5LTMge1xuICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgIH1cblxuICAgICYubWFzb25yeS00IHtcbiAgICAgIGNvbHVtbi1jb3VudDogNDtcbiAgICB9XG4gIH1cbn1cblxuLmltYWdlLWFsdGVybmF0ZSB7XG4gIC5ibG9nLWl0ZW06bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgIC5pdGVtLWltYWdlIHtcbiAgICAgIG9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gICYuaW1hZ2UtbGVmdCB7XG4gICAgLmJsb2ctaXRlbTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICAuaXRlbS1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaW1hZ2UtdG9wIHtcbiAgICAuYmxvZy1pdGVtOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIC5pdGVtLWltYWdlIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1vZHVsZXNcblxuLmJyZWFkY3J1bWIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsIDAlLCAwJSwgLjAzKTtcbn1cblxuLm5vLWNhcmQge1xuICAubmV3c2ZsYXNoLWhvcml6IHtcbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDFyZW0gMXJlbTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTMwMDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tZW5kLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICBib3gtc2hhZG93OiAkbmVvdGVyaWMtYm94LXNoYWRvdztcblxuICAgICAgZmlndXJlIHtcbiAgICAgICAgbWFyZ2luOiAwIC0xcmVtIDFyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5tb2QtbGlzdCB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGxpIHtcbiAgICBwYWRkaW5nOiAuNWVtIDA7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBhdC1yb290IC5jb250YWluZXItaGVhZGVyICYge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlPmEge1xuICAgICAgQGF0LXJvb3QgLmNvbnRhaW5lci1oZWFkZXIgJiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kLW1lbnVfX3N1YiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgICB9XG4gIH1cbn1cblxuYXNpZGUge1xuICAubW9kLXZtY2F0ZWdvcnktbWVudS0tbGV2ZWwtMSB7XG4gICAgJj4ubW9kLXZtY2F0ZWdvcnktbWVudS0taXRlbS1hbmNob3Ige1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi50b3AtYmFyLWNvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBwLFxuICB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLm1vZC1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMXJlbTtcblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIC5tb2QtbWVudV9fc3ViIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMC41cmVtIDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci1hcmVhIHtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgcCxcbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5tb2QtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAuOHJlbTtcblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIC5tb2QtbWVudV9fc3ViIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMC4yNXJlbSAwO1xuICAgIH1cbiAgfVxufVxuXG4ucGFnaW5hdGlvbiB7XG4gIC0tcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29udHJhc3QtY29sb3IpO1xuICAtLXBhZ2luYXRpb24tYWN0aXZlLWJnOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgLS1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAtLXBhZ2luYXRpb24tcGFkZGluZy14OiAxcmVtO1xuICAtLXBhZ2luYXRpb24tcGFkZGluZy15OiAwLjVyZW07XG4gIC0tcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiBub25lO1xufSIsIi5zdWJoZWFkIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC10b29sYmFyO1xuICB3aWR0aDogYXV0bztcbiAgbWluLWhlaWdodDogNDNweDtcbiAgcGFkZGluZzogLjI1cmVtO1xuICBjb2xvcjogIzQ5NTA1NzsgLy8jMGMxOTJlO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJveC1zaGFkb3c6IC0zcHggLTJweCAyMnB4ICNkZGQ7XG5cbiAgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgJi5ub3NoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIGpvb21sYS10b29sYmFyLWJ1dHRvbixcbiAgLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogLjc1cmVtO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIGpvb21sYS10b29sYmFyLWJ1dHRvbiB7XG5cbiAgICAuYnRuID4gc3BhbixcbiAgICAuZHJvcGRvd24taXRlbSA+IHNwYW4ge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC41cmVtO1xuICAgICAgd2lkdGg6IDEuMjVlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAuYnRuIHtcbiAgICAtLXN1YmhlYWQtYnRuLWFjY2VudDogIzQ5NTA1NztcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNDVyZW07XG4gICAgY29sb3I6ICM0OTUwNTc7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXktNTAwO1xuXG4gICAgPiBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiB2YXIoLS1zdWJoZWFkLWJ0bi1hY2NlbnQpO1xuICAgIH1cblxuICAgICY6bm90KFtkaXNhYmxlZF0pOmhvdmVyLFxuICAgICY6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSxcbiAgICAmOm5vdChbZGlzYWJsZWRdKTpmb2N1cyB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdWJoZWFkLWJ0bi1hY2NlbnQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zdWJoZWFkLWJ0bi1hY2NlbnQpO1xuXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5idG4tc3VjY2VzcyB7XG4gICAgICAtLXN1YmhlYWQtYnRuLWFjY2VudDogdmFyKC0tc3VjY2Vzcyk7XG4gICAgfVxuXG4gICAgJi5idG4tZGFuZ2VyIHtcbiAgICAgIC0tc3ViaGVhZC1idG4tYWNjZW50OiB2YXIoLS1kYW5nZXIpO1xuICAgIH1cblxuICAgICYuYnRuLXByaW1hcnkge1xuICAgICAgLS1zdWJoZWFkLWJ0bi1hY2NlbnQ6ICMyYTY5Yjg7XG4gICAgfVxuXG4gICAgJi5idG4tc2Vjb25kYXJ5IHtcbiAgICAgIC0tc3ViaGVhZC1idG4tYWNjZW50OiAjMDAxYjRjO1xuICAgIH1cblxuICAgICYuYnRuLWluZm8ge1xuICAgICAgLS1zdWJoZWFkLWJ0bi1hY2NlbnQ6ICMxMzJmNTM7XG4gICAgfVxuXG4gICAgJi5idG4tYWN0aW9uIHtcbiAgICAgIC0tc3ViaGVhZC1idG4tYWNjZW50OiAjMTMyZjUzO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDIuMzc1cmVtO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG4gICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgfVxuICAgIH1cblxuICAgICZbZGlzYWJsZWRdLFxuICAgICYuZHJvcGRvd24tdG9nZ2xlW2Rpc2FibGVkXSB7XG4gICAgICAtLXN1YmhlYWQtYnRuLWFjY2VudDogIzEzMmY1MztcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGdyYXktMzAwLCAuOCk7XG4gICAgICBvcGFjaXR5OiAuNTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6YWN0aXZlLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgJi5idG4ge1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICAgIG9yZGVyOiAxO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0kYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItcmFkaXVzOiAwICRib3JkZXItcmFkaXVzICRib3JkZXItcmFkaXVzIDA7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSBqb29tbGEtdG9vbGJhci1idXR0b24sXG4gIC5idG4tZ3JvdXAgam9vbWxhLXRvb2xiYXItYnV0dG9uIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICBqb29tbGEtdGFiW3ZpZXc9YWNjb3JkaW9uXSAuY29sLW1kLTksXG4gIGpvb21sYS10YWJbdmlldz1hY2NvcmRpb25dIC5jb2wtbWQtMyB7XG4gICAgcGFkZGluZzogLjVyZW0gMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgI215VGFiIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxuXG4gIGpvb21sYS10YWJbdmlldz1hY2NvcmRpb25dIHVsIGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5zdWJoZWFkIHtcblxuICAgIGpvb21sYS10b29sYmFyLWJ1dHRvbixcbiAgICAuYnRuLWdyb3VwLFxuICAgIC5idG4ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLmJ0bi10b29sYmFyID4gLmJ0bi1ncm91cCxcbiAgICAuYnRuLXRvb2xiYXIgPiBqb29tbGEtdG9vbGJhci1idXR0b24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmJ0bi5idG4tYWN0aW9uOjphZnRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBMZWdhY3lcblxuLmxlZnQuaXRlbS1pbWFnZSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLnJpZ2h0Lml0ZW0taW1hZ2Uge1xuICBmbG9hdDogcmlnaHQ7XG59XG4iLCIvLyBUYWdzXG5cbi50YWdzIHtcbiAgLmxpc3QtaW5saW5lLWl0ZW0ge1xuICAgIG1hcmdpbjogLjI1cmVtIC4yNXJlbSAuNXJlbTtcbiAgfVxuICBhLmJ0biB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxufVxuXG4udGFnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAuNXJlbSAuNXJlbSAuNXJlbSAwO1xufVxuIiwiLy8gSm9vbWxhIENTU1xuXG4ubW9kLWFydGljbGVzY2F0ZWdvcmllcyB7XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmF5LTYwMCk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJvZHktY29sb3IpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vIFZpcnR1ZU1hcnQgQ1NTXG5cbi5wcmljZS1jcm9zc2VkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLnRvb2xiYXItc2VwcmF0b3Ige1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRlbXBsYXRlLXRvb2xiYXItc2VwYXJhdG9yLWNvbG9yLCAjZWVlKTtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLXN3aXRjaCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG59XG5cbi5wcm9kdWN0LWltYWdlcz5kaXYge1xuICAgIG1pbi1oZWlnaHQ6IDVyZW07XG59XG5cbi5wcm9kdWN0LW5hbWUsXG4uY2F0ZWdvcnktbmFtZSxcbi5tYW51ZmFjdHVyZXItbmFtZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIGEge1xuICAgICAgICBAZXh0ZW5kIC5saW5rLWJvZHk7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1zaG9ydC1kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6IHZhcigtLWdyYXktNzAwKTtcbn1cblxuLnByb2R1Y3QtZGlzY291bnQtYW1vdW50IHtcbiAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJvZHVjdC1kaXNjb3VudC1jb2xvcik7XG5cbiAgICBkaXYge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1wcmljZS1iZWZvcmUtZGlzY291bnQsXG4ucHJvZHVjdC1zYWxlcy1wcmljZSxcbi5wcm9kdWN0LXByaWNlLWJlZm9yZS1kaXNjb3VudCBkaXYsXG4ucHJvZHVjdC1zYWxlcy1wcmljZSBkaXYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnByb2R1Y3Qtc2FsZXMtcHJpY2UsXG4ucHJvZHVjdC1zYWxlcy1wcmljZSBkaXYge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucHJvZHVjdC1wcmljZS1iZWZvcmUtZGlzY291bnQge1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcm9kdWN0LXByaWNlLWJlZm9yZS1kaXNjb3VudC1jb2xvcik7XG59XG5cbi5wcm9kdWN0LXNhbGVzLXByaWNlIHtcbiAgICBjb2xvcjogdmFyKC0tbmVvdGVyaWMtY29sb3ItcHJpbWFyeSk7XG59XG5cbi5wcm9kdWN0LXByaWNlLWJlZm9yZS1kaXNjb3VudCBkaXYge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4ucHJvZHVjdC1saXN0LWltYWdlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDEwcmVtO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIC5wcm9kdWN0LWltYWdlLWRlZmF1bHQsXG4gICAgLnByb2R1Y3QtaW1hZ2UtaG92ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWltYWdlLWRlZmF1bHQge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWltYWdlLWhvdmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB0cmFuc2Zvcm0gMnMgY3ViaWMtYmV6aWVyKDAsIDAsIC40NCwgMS4xOCk7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC1saXN0LXV0aWxpdGllcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC42cmVtO1xuICAgIHJpZ2h0OiAwLjZyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE1cHgpIHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi5wcm9kdWN0LWxpc3QtdXRpbGl0eS1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07XG59XG5cbi5wcm9kdWN0LWxpc3QtdXRpbGl0eS1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wcm9kdWN0LWNvbnRhaW5lcixcbi5pdGVtLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG5cbiAgICAmLmFkZC1ob3Zlci1lZmZlY3Qge1xuXG4gICAgICAgICYuc3RhdGUtaG92ZXIsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCkgdHJhbnNsYXRlWigwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhdGUtaG92ZXIsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIC5wcm9kdWN0LWltYWdlLWhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtbGlzdC11dGlsaXRpZXMge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSB0cmFuc2xhdGVaKDApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC1ib3R0b20tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5wcm9kdWN0LWNvbnRhaW5lci5hZGQtaG92ZXItZWZmZWN0LnN0YXRlLWhvdmVyIC5wcm9kdWN0LXRvcC1jb250YWluZXIsXG4ucHJvZHVjdC1jb250YWluZXIuYWRkLWhvdmVyLWVmZmVjdC5zdGF0ZS1ob3ZlciAucHJvZHVjdC1ib3R0b20tY29udGFpbmVyLFxuLml0ZW0tY29udGFpbmVyLmFkZC1ob3Zlci1lZmZlY3Q6aG92ZXI+Kjpub3QoLml0ZW0tYmFja2Ryb3ApIHtcbiAgICB6LWluZGV4OiAyMjtcbn1cblxuLnByb2R1Y3QtY29udGFpbmVyLmFkZC1ob3Zlci1lZmZlY3Quc3RhdGUtaG92ZXIgLnByb2R1Y3QtYm90dG9tLWNvbnRhaW5lciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xufVxuXG4ucHJvZHVjdC1iYWNrZHJvcCxcbi5pdGVtLWJhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKC0wLjI1ICogdmFyKC0tZ3V0dGVyLXgpKTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogY2FsYygtMC4yNSAqIHZhcigtLWd1dHRlci14KSk7XG4gICAgcmlnaHQ6IGNhbGMoLTAuMjUgKiB2YXIoLS1ndXR0ZXIteCkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLXByb2R1Y3QtaG92ZXItYmcsICR3aGl0ZSk7XG4gICAgYm9yZGVyOiBpbmhlcml0O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3KTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXG4gICAgLnByb2R1Y3QtYmFja2Ryb3AsXG4gICAgLml0ZW0tYmFja2Ryb3Age1xuICAgICAgICB0b3A6IGNhbGMoLTAuNSAqIHZhcigtLWd1dHRlci14KSk7XG4gICAgICAgIGxlZnQ6IGNhbGMoLTAuNSAqIHZhcigtLWd1dHRlci14KSk7XG4gICAgICAgIHJpZ2h0OiBjYWxjKC0wLjUgKiB2YXIoLS1ndXR0ZXIteCkpO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtY29udGFpbmVyLmFkZC1ob3Zlci1lZmZlY3Quc3RhdGUtaG92ZXIgLnByb2R1Y3QtYmFja2Ryb3AsXG4uaXRlbS1jb250YWluZXIuYWRkLWhvdmVyLWVmZmVjdDpob3ZlciAuaXRlbS1iYWNrZHJvcCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgei1pbmRleDogMjE7XG59XG5cbi5xdWFudGl0eS1ib3guaW5wdXQtZ3JvdXAsXG4ucXVhbnRpdHktYm94LmlucHV0LWdyb3VwLmlucHV0LWdyb3VwLWxnIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICY+LmZvcm0tY29udHJvbC5xdWFudGl0eS1pbnB1dCB7XG4gICAgICAgIGZsZXg6IDAgMSA1MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIH1cbn1cblxuLnZtLXBhZ2luYXRpb24gLmRpc3BsYXktY291bnRlcixcbi52bS1wYWdpbmF0aW9uIC5kaXNwbGF5LWxpbWl0Ym94IHtcbiAgICBmbGV4OiAxO1xufVxuXG4ucXVhbnRpdHktYm94LmlucHV0LWdyb3VwPi5idG4ge1xuICAgIHBhZGRpbmctbGVmdDogMC42cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNnJlbTtcbiAgICBmb250LXNpemU6IDAuNnJlbTtcbn1cblxuLnZpcnR1ZW1hcnQtZGlhbG9nIC5tb2RhbC1oZWFkZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGZsZXg6IDE7XG59XG5cbi52aXJ0dWVtYXJ0LWRpYWxvZyAubW9kYWwtaGVhZGVyIC5jbG9zZS1idXR0b24tY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xufVxuXG4udm0taW1nLWRlc2Mge1xuICAgIEBleHRlbmQgLnZpc3VhbGx5LWhpZGRlbjtcbn1cblxuLnByb2R1Y3QtZ3JvdXAtdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uZm9ybS1jaGVjay5idG4tdm0tY3VzdG9tZmllbGQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4udm0tZmllbGQtY29udHJvbHM+LmZvcm0tY2hlY2suYnRuLXZtLWN1c3RvbWZpZWxkOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmJ0bi12bS1jdXN0b21maWVsZCAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4uYnRuLXZtLWN1c3RvbWZpZWxkIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYnRuLXZtLWN1c3RvbWZpZWxkIC5mb3JtLWNoZWNrLWxhYmVsLXRleHQge1xuICAgIEBleHRlbmQgLmJ0biwgLmJ0bi1zbSwgLmJ0bi1zZWNvbmRhcnk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYnRuLXZtLWN1c3RvbWZpZWxkIC5mb3JtLWNoZWNrLWxhYmVsLXRleHQ6bm90KC5pcy1jb2xvci1idG4pIHtcbiAgICBtaW4td2lkdGg6IHZhcigtLW5lb3RlcmljLWN1c3RvbWZpZWxkLWJ0bi1taW4td2lkdGgsIDIuNXJlbSk7XG59XG5cbi5idG4tdm0tY3VzdG9tZmllbGQgLmZvcm0tY2hlY2stbGFiZWwtdGV4dC5pcy1jb2xvci1idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMi4xNXJlbTtcbiAgICB3aWR0aDogMi4xNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAyLjE1cmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmJ0bi12bS1jdXN0b21maWVsZCAuZm9ybS1jaGVjay1sYWJlbC10ZXh0LmlzLWNvbG9yLWJ0bjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBGcmVlXCIsIFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5idG4tdm0tY3VzdG9tZmllbGQgLmZvcm0tY2hlY2stbGFiZWwtcHJpY2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZvcm0tY2hlY2stbGFiZWwtcHJpY2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xufVxuXG4uYnRuLXZtLWN1c3RvbWZpZWxkIC5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWQrLmZvcm0tY2hlY2stbGFiZWwgLmZvcm0tY2hlY2stbGFiZWwtdGV4dDpub3QoLmlzLWNvbG9yLWJ0bikge1xuICAgIEBleHRlbmQgLmFjdGl2ZTtcbn1cblxuLmJ0bi12bS1jdXN0b21maWVsZCAuZm9ybS1jaGVjay1pbnB1dDpub3QoOmNoZWNrZWQpKy5mb3JtLWNoZWNrLWxhYmVsOmhvdmVyIC5mb3JtLWNoZWNrLWxhYmVsLXRleHQuaXMtY29sb3ItYnRuOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG5cbi5idG4tdm0tY3VzdG9tZmllbGQgLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZCsuZm9ybS1jaGVjay1sYWJlbCAuZm9ybS1jaGVjay1sYWJlbC10ZXh0LmlzLWNvbG9yLWJ0bjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLmNob2ljZXNfX3ByaWNlLFxuLmZvcm0tY2hlY2stbGFiZWwtcHJpY2Uge1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTYwMCk7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi52bS1maWVsZC1jb250cm9scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5wcm9kdWN0LWZpZWxkcy10aXRsZSxcbi52bS1jbXYtbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucHJvZHVjdC1maWVsZHMtdGl0bGUtd3JhcHBlcixcbi52bS1jbXYtbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5wcm9kdWN0LWZpZWxkcy10b29sdGlwIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wcm9kdWN0LWdyaWQtdmlldyxcbi5wcm9kdWN0LXJlbGF0ZWQtcHJvZHVjdHMge1xuICAgIC5wcm9kdWN0LWZpZWxkcyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAudm0tZmllbGQtY29udHJvbHMge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LWZpZWxkLFxuLnZtLWZpZWxkLWNvbnRyb2xzLFxuLmN1c3RvbS1maWVsZC1DLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLnByb2R1Y3QtZmllbGRzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuXG4uY2hvaWNlcy5jaG9pY2VzX19jdXN0b21maWVsZCB7XG4gICAgLmNob2ljZXNfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAyLjhyZW07XG5cbiAgICAgICAgLmNob2ljZXNfX2xpc3QuY2hvaWNlc19fbGlzdC0tc2luZ2xlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIC5jaG9pY2VzX19pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjM1cmVtIDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hvaWNlc19fbGlzdC0tZHJvcGRvd24gLmNob2ljZXNfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC4zNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMzVyZW07XG4gICAgfVxufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLFxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fdGh1bWJuYWlscyB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX3RodW1ibmFpbHMgLnRucy1pdGVtIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNSBlYXNlLWluO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X190aHVtYm5haWxzIC50bnMtaXRlbS50bnMtbmF2LWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMC42O1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLXdyYXBwZXIsXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X190aHVtYm5haWxzLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fbWFpbi13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X190aHVtYm5haWxzLWNvbnRyb2xzIC5idG4tbm9iZyB7XG4gICAgLS1idG4tYmc6IHZhcigtLWdyYXktMjAwKTtcbiAgICAtLWJ0bi1ib3JkZXItY29sb3I6IHZhcigtLWdyYXktMjAwKTtcbiAgICAtLWJ0bi1ob3Zlci1iZzogdmFyKC0tZ3JheS0zMDApO1xuICAgIC0tYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdmFyKC0tZ3JheS0zMDApO1xuICAgIEBleHRlbmQgLmJ0bi1saWdodDtcbiAgICBwYWRkaW5nLXRvcDogMC40cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjRyZW07XG59XG5cbi5idG4tbm9iZyB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9faXRlbS1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLXRlbXBsYXRlLXByb2R1Y3QtdGh1Ym5haWwtaW1hZ2UtbWluLWhlaWdodCwgODBweCk7XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4ge1xuICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX2l0ZW0taW5uZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS10ZW1wbGF0ZS1wcm9kdWN0LW1haW4taW1hZ2UtbWluLWhlaWdodCwgMzAwcHgpO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fdGh1bWJuYWlscyB7XG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9faXRlbS1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLXByb2R1Y3QtdGh1bWJuYWlsLWJvcmRlci1jb2xvciwgI0ZBRkFGQSk7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICBidXR0b24uYnRuLW5vYmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4tY29udHJvbHMge1xuICAgICY+YnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICB9XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4tY29udHJvbHMge1xuICAgIGJ1dHRvbi5idG4tbm9iZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICAgICAgYnV0dG9uLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluO1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fbWFpbi1jb250cm9scyB7XG4gICAgICAgIGJ1dHRvbi5idG4tbm9iZyB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzBweCwgLTUwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzBweCwgLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLXdyYXBwZXI6aG92ZXIge1xuICAgICAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICAgICAgICAgIGJ1dHRvbi5idG4tbm9iZyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjUwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX3RodW1ibmFpbHMtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fdGh1bWJuYWlscyB7XG4gICAgICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX2l0ZW0ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCgodmFyKC0tcHJvZHVjdC1nYWxsZXJ5LXZlcnRpY2FsLWhlaWdodCwgMTAwcHgpIC0gMi41cmVtKSAvIHZhcigtLXByb2R1Y3QtZ2FsbGVyeS12ZXJ0aWNhbC1pdGVtcywgMykpIC0gMXB4KTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX2l0ZW0taW5uZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fdGh1bWJuYWlscy1jb250cm9scyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cbiAgICAgICAgLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4tY29udHJvbHMge1xuICAgICAgICBidXR0b24uYnRuLW5vYmcge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X190aHVtYm5haWxzLWNvbnRyb2xzIHtcbiAgICAgICAgLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LW1hbnVmYWN0dXJlcnM+LnByb2R1Y3QtbWFudWZhY3R1cmVyIHtcbiAgICBtYXgtd2lkdGg6IDhyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJj5hIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4xNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0ZGV0YWlscy12aWV3IC5wcm9kdWN0LXByaWNlcy13cmFwcGVyIHtcbiAgICAucHJvZHVjdC1wcmljZS1iZWZvcmUtZGlzY291bnQge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1zYWxlcy1wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIH1cbn1cblxuLnJhdGluZy1jb3VudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xufVxuXG4uc29jaWFsLXNoYXJlLWxpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnNvY2lhbC1zaGFyZS1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnNvY2lhbC1zaGFyZS1saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5zb2NpYWwtc2hhcmUtbGlzdC1pdGVtPi5zb2NpYWwtc2hhcmUtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC4xMnJlbTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGV4dGVuZCAubGluay1ib2R5LWludmVydDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMjVyZW0pO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtdXRpbGl0eS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtcmVsYXRlZC10aXRsZSxcbi5tb2RhbC1wYWdlLXRpdGxlLFxuLnByb21pbmVudC10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZy1ib3R0b206IDAuOHJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgICAgIHdpZHRoOiAzcmVtO1xuICAgIH1cbn1cblxuLm1hbnVmYWN0dXJlci12aWV3LWRlZmF1bHQge1xuICAgIC5tYW51ZmFjdHVyZXItaW1hZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1tYW51ZmFjdHVyZXItaW1hZ2UtYmcsICNmN2Y3ZjcpO1xuICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMDtcbiAgICB9XG59XG5cbi5tb2RhbC1wYWdlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuLmZvcm0tZ3JvdXAtdGV4dC1jb3VudGVyIHtcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgZmxleDogMCAxIDcwcHg7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1uYXZpZ2F0aW9uPmEge1xuICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLnF1aWNrdmlldy1ib2R5IHtcbiAgICBtaW4taGVpZ2h0OiA0NTBweDtcblxuICAgIC5wcm9kdWN0LWltYWdlcy1zZWN0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fbWFpbi13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbWFudWZhY3R1cmVycyB7XG4gICAgICAgIC5wcm9kdWN0LW1hbnVmYWN0dXJlciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDZyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICAgICAgYnV0dG9uLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAtLXNjcm9sbGJhci13aWR0aDogNXB4O1xuICAgIC0tc2Nyb2xsYmFyLXRyYWNrLWJnOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgLS1zY3JvbGxiYXItdGh1bWItYmc6IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICB3aWR0aDogdmFyKC0tc2Nyb2xsYmFyLXdpZHRoKTtcbiAgICB9XG5cbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Nyb2xsYmFyLXRyYWNrLWJnKTtcbiAgICB9XG5cbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnKTtcbiAgICB9XG59XG5cbi5xdWlja3ZpZXctY29udGVudC1pbm5lciB7XG4gICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG59XG5cbi5xdWlja3ZpZXctcHJvZHVjdC1uYXZpZ2F0aW9uIHtcbiAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbnRyYXN0LWNvbG9yKTtcbiAgICAgICAgcGFkZGluZzogMC43cmVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmLnBhZ2UtbmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLnF1aWNrdmlldy1ib2R5IHtcbiAgICAgICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fbWFpbi1jb250cm9scyB7XG4gICAgICAgICAgICBidXR0b24uYnRuLW5vYmcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDIwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4td3JhcHBlciB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgwKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC41MDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5xdWlja3ZpZXctcHJvZHVjdC1uYXZpZ2F0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWltYWdlcy1zZWN0aW9uIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAucXVpY2t2aWV3LXByb2R1Y3QtbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucXVpY2t2aWV3LWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB0cmFuc3BhcmVudCA1cHgsICMwMDAgNDBweCk7XG4gICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHRyYW5zcGFyZW50IDVweCwgIzAwMCA0MHB4KTtcbiAgICB9XG5cbiAgICAucXVpY2t2aWV3LWNvbnRlbnQtaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogMi41cmVtIDJyZW07XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtbGFiZWxzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0b3A6IDAuNnJlbTtcbiAgICBsZWZ0OiAwLjZyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnByb2R1Y3QtbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9kdWN0LWxhYmVsLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tcHJvZHVjdC1sYWJlbC1jb2xvcik7XG4gICAgcGFkZGluZzogMC4zcmVtIDAuNnJlbTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtaW4td2lkdGg6IDU1cHg7XG4gICAgbWluLWhlaWdodDogNTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeSB7XG4gICAgLnByb2R1Y3QtbGFiZWxzIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDAuNnJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgLnByb2R1Y3QtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkge1xuICAgICAgICAucHJvZHVjdC1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52bS1sb2FkZXIge1xuICAgIC0tbWF4LW9wYWNpdHk6IDAuNTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAxMDM3O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhciwgdmlzaWJpbGl0eSAwLjE1cyBsaW5lYXI7XG59XG5cbi52bS1sb2FkZXItc3Bpbm5lciB7XG4gICAgLS1tYXgtb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGhlaWdodDogMjVweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogbG9hZGVyU3BpbiAwLjhzIGluZmluaXRlIGxpbmVhcjsgLy8gbG9hZGVyU3BpbiBrZXlmcmFtZSBkZWZpbmVkIGluIGdsb2JhbC5zY3NzXG4gICAgYW5pbWF0aW9uOiBsb2FkZXJTcGluIDAuOHMgaW5maW5pdGUgbGluZWFyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgei1pbmRleDogMTAzODtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi52bS1sb2FkaW5nIHtcblxuICAgIC52bS1sb2FkZXIsXG4gICAgLnZtLWxvYWRlci1zcGlubmVyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaGVyaXQ7XG4gICAgICAgIG9wYWNpdHk6IHZhcigtLW1heC1vcGFjaXR5KTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWxpc3QtdmlldyB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JheS0yMDApO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cbiAgICAucHJvZHVjdC1saXN0LXZpZXcge1xuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtc2FsZXMtcHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNlLWJlZm9yZS1kaXNjb3VudCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gUHJvZ3Jlc3MgYmFyXG4uc3RlcHMtYmFyIHtcbiAgICAtLXN0ZXBzLWJhci1pbmFjdGl2ZS1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICAtLXN0ZXBzLWJhci1pbmFjdGl2ZS10ZXh0LWNvbG9yOiB2YXIoLS1ib2R5LWNvbG9yKTtcbiAgICAtLXN0ZXBzLWJhci1pbmFjdGl2ZS1iZzogdmFyKC0td2hpdGUpO1xuICAgIC0tc3RlcHMtYmFyLWluYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tZ3JheS0zMDApO1xuICAgIC0tc3RlcHMtYmFyLWluYWN0aXZlLWxpbmUtYmc6IHZhcigtLWdyYXktMzAwKTtcbiAgICAtLXN0ZXBzLWJhci1hY3RpdmUtY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICAtLXN0ZXBzLWJhci1hY3RpdmUtdGV4dC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgLS1zdGVwcy1iYXItYWN0aXZlLWJnOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICAtLXN0ZXBzLWJhci1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICAtLXN0ZXBzLWJhci1hY3RpdmUtbGluZS1iZzogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgLS1zdGVwcy1iYXItc3RlcC1mb250LXNpemU6IDEuMnJlbTtcblxuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMDtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvdW50ZXItcmVzZXQ6IHN0ZXA7XG5cbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDMuMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMy4ycmVtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXN0ZXBzLWJhci1pbmFjdGl2ZS1jb2xvcik7XG4gICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKHN0ZXApO1xuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHN0ZXA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMy4ycmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zdGVwcy1iYXItc3RlcC1mb250LXNpemUpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc3RlcHMtYmFyLWluYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDAuOHJlbSBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RlcHMtYmFyLWluYWN0aXZlLWJnKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjRyZW07XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RlcHMtYmFyLWluYWN0aXZlLWxpbmUtYmcpO1xuICAgICAgICAgICAgdG9wOiAxLjZyZW07XG4gICAgICAgICAgICBsZWZ0OiAtNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3RlcC1kb25lIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zdGVwcy1iYXItYWN0aXZlLXRleHQtY29sb3IpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zdGVwcy1iYXItYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RlcHMtYmFyLWFjdGl2ZS1iZyk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXN0ZXBzLWJhci1hY3RpdmUtY29sb3IpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiLCBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmK2xpOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGVwcy1iYXItYWN0aXZlLWJnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc3RlcC1hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXN0ZXBzLWJhci1hY3RpdmUtdGV4dC1jb2xvcik7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXN0ZXBzLWJhci1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc3RlcHMtYmFyLWFjdGl2ZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmNhcnQtaXRlbS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA2cmVtO1xuICAgIH1cblxuICAgIC5jYXJ0LWl0ZW0tcXVhbnRpdHkge1xuICAgICAgICAucXVhbnRpdHktYm94IHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9ybS1jaGVjay12bS5mb3JtLWNoZWNrIHtcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWNoZWNrLWlucHV0O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWNoZWNrLWxhYmVsO1xuICAgIH1cbn1cblxuLnF1YW5pdHktdXBkYXRlLXNlY3Rpb24ge1xuICAgIC5xdWFudGl0eS1pbnB1dCB7XG4gICAgICAgIG1heC13aWR0aDogNC41cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uY2FydC1pcy1lbXB0eS1zZWN0aW9uLFxuLmVtcHR5LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5lbXB0eS1jYXJ0LWljb24sXG4gICAgLmVtcHR5LWNhcmQtaWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmF5LTIwMCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA4cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVtcHR5LWNhcnQtaGVhZGluZyxcbiAgICAuZW1wdHktY2FyZC1oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmVtcHR5LWNhcnQtc3ViaGVhZGluZyxcbiAgICAuZW1wdHktY2FyZC1zdWJoZWFkaW5nIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXG4gICAgLmNhcnQtaXMtZW1wdHktc2VjdGlvbixcbiAgICAuZW1wdHktY2FyZCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwcmVtO1xuXG4gICAgICAgIC5lbXB0eS1jYXJ0LWljb24sXG4gICAgICAgIC5lbXB0eS1jYXJkLWljb24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmVtcHR5LWNhcnQtaGVhZGluZyxcbiAgICAgICAgLmVtcHR5LWNhcmQtaGVhZGluZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuZW1wdHktY2FydC1zdWJoZWFkaW5nLFxuICAgICAgICAuZW1wdHktY2FyZC1zdWJoZWFkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC1jb3Vwb24tZmllbGQge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIH1cbn1cblxuLmNhcnQtZmllbGRzLXNlY3Rpb24ge1xuICAgIHRleHRhcmVhIHtcbiAgICAgICAgbWluLWhlaWdodDogOHJlbTtcbiAgICB9XG5cbiAgICBmaWVsZHNldCB7XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FydC1zdW1tZXJ5IHtcblxuICAgIC5QcmljZWJpbGxUb3RhbCxcbiAgICAudG90YWxJblBheW1lbnRDdXJyZW5jeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWZpZWxkLXR5cGUtTSB7XG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzcmVtO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLnRhYmxlLWNhcnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICB0aGVhZCxcbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICB0ciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG5cbiAgICAgICAgICAgICZbZGF0YS10aXRsZV0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgZ2FwOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY2FydC1pdGVtLW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY2FydC1jb2x1bW4tZW1wdHkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LWdyYW5kLXRvdGFsLFxuICAgICAgICAuY2FydC1wYXltZW50LXRvdGFsIHtcbiAgICAgICAgICAgIC5jYXJ0LXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtaXRlbS1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZtZS1tb2RfX2NvbnRlbnRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMSAxIDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5oYXMtbW9kLWxvYWRlcixcbi52bWUtbW9kLWNvbnRlbnRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAubW9kLWxvYWRlcixcbiAgICAudm1lLW1vZC1sb2FkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgICAgei1pbmRleDogMTA1MDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDUxO1xuICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItZ3JvdztcbiAgICAgICAgICAgIGFuaW1hdGlvbjogLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ncm93O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udm1lLW1vZF9fZW1wdHkge1xuICAgIC5lbXB0eS1pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdyYXktMjAwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA2cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVtcHR5LWhlYWRpbmcge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG59XG5cbi52bWUtbW9kX19vZmZjYW52YXMtY29udGFpbmVyIHtcbiAgICAub2ZmY2FudmFzLWJhY2tkcm9wLmZhZGUge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxufVxuXG4udm1lLW1vZF9fcHJvZHVjdC1kZXRhaWxzIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JheS0zMDApO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG59XG5cbi52bWUtbW9kX19zaG93LWxpbmstY29udGFpbmVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZ3JheS0zMDApO1xufVxuXG4ubW9kLW1pbmljYXJ0X19jYXJ0LXN1YnRvdGFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLm1vZC1taW5pY2FydF9fY2FydC1zdWJ0b3RhbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbi52cHBsLWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdyYXktMjAwKTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udnBwbC1uYW1lIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgMCAwLjVyZW07XG59XG5cbi52cHBsLWltYWdlLWNvbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10ZW1wbGF0ZS1wcm9kdWN0LXRodW1ibmFpbC1ib3JkZXItY29sb3IsICNGQUZBRkEpO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5cbi52cHByaW1lLW1hbnVmYWN0dXJlci1jYXJvdXNlbCB7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuXG4gICAgLnZwcHJpbWUtbWFudWZhY3R1cmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ncmF5LXNjYWxlLWVmZmVjdCB7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2UgIWltcG9ydGFudDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWNhcm91c2VsLXRucy1vdXRlciB7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICAudG5zLW92aCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycmVtO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG5cbiAgICAudG5zLW5hdiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogODtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNTAwcHgpIHtcbiAgICAuY29udGFpbmVyLXh4bCB7XG4gICAgICAgIC5wcm9kdWN0LWNhcm91c2VsLXRucy1vdXRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udm0tY3VycmVuY3ktc2VsZWN0b3Ige1xuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgIH1cblxuICAgIC5jdXJyZW5jeS1ibG9jayB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuXG4gICAgICAgICAgICAmLmN1cnJlbmN5LWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZC1taW5pY2FydF9fcHJvZHVjdC1kZXRhaWxzLFxuLnZtZS1tb2RfX2NvbnRlbnRzIHtcbiAgICAubW9kLXByb2R1Y3QtcHJpY2Uge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuLmNmLWZvcm0tc2VhcmNoIC5pbnB1dC1hcHBlbmQge1xuICAgIEBleHRlbmQgLmlucHV0LWdyb3VwO1xuXG4gICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpub3QoLmZvcm0tY29udHJvbCksXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl06bm90KC5mb3JtLWNvbnRyb2wpIHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1jb250cm9sO1xuICAgIH1cbn1cblxuLnZtcGF5bWVudF9kZXNjcmlwdGlvbixcbi52bXNoaXBtZW50X2Nvc3QsXG4udm1wYXltZW50X2Nvc3Qge1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTYwMCk7XG59XG5cbi52bXBheW1lbnRfZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufSIsIi8vIENvb2tpZSBDb25zZW50XG5cbi52cC1jb29raWUtY29uc2VudCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDkwMDAwMTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4yNXMgbGluZWFyO1xufVxuXG4udnAtY29va2llLWNvbnNlbnQtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBnYXA6IDJyZW07XG4gICAgcGFkZGluZzogMnJlbSAyLjVyZW07XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1jb29raWUtY29uc2VudC1jb2xvciwgdmFyKC0tYm9keS1jb2xvcikpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLWNvb2tpZS1jb25zZW50LWJnLCAjZjNmM2YzKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10ZW1wbGF0ZS1jb29raWUtY29uc2VudC1ib3JkZXItY29sb3IsICNkZGQpO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDEzcHggMCByZ2JhKDAsIDAsIDAsIDAuMjMpO1xuICAgIFxuICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtY29va2llLWNvbnNlbnQtbGluay1jb2xvciwgdmFyKC0tdGVtcGxhdGUtbGluay1jb2xvcikpO1xuXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWNvb2tpZS1jb25zZW50LWxpbmstY29sb3IsIHZhcigtLXRlbXBsYXRlLWxpbmstY29sb3IpKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWNvb2tpZS1jb25zZW50LWxpbmstaG92ZXItY29sb3IsIHZhcigtLXRlbXBsYXRlLWxpbmstaG92ZXItY29sb3IpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZwLWNvb2tpZS1jb25zZW50IHtcbiAgICAmLnRvcCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi50b3AtbGVmdCB7XG4gICAgICAgIGxlZnQ6IDIuNXJlbTtcbiAgICAgICAgdG9wOiAyLjVyZW07XG4gICAgfVxuXG4gICAgJi50b3AtcmlnaHQge1xuICAgICAgICByaWdodDogMi41cmVtO1xuICAgICAgICB0b3A6IDIuNXJlbTtcbiAgICB9XG5cbiAgICAmLmJvdHRvbSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi5ib3R0b20tbGVmdCB7XG4gICAgICAgIGxlZnQ6IDIuNXJlbTtcbiAgICAgICAgYm90dG9tOiAyLjVyZW07XG4gICAgfVxuXG4gICAgJi5ib3R0b20tcmlnaHQge1xuICAgICAgICByaWdodDogMi41cmVtO1xuICAgICAgICBib3R0b206IDIuNXJlbTtcbiAgICB9XG5cbiAgICAmLmNlbnRlciB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cblxuICAgICYudG9wLFxuICAgICYudG9wLWxlZnQsXG4gICAgJi50b3AtcmlnaHQsXG4gICAgJi5ib3R0b20sXG4gICAgJi5ib3R0b20tbGVmdCxcbiAgICAmLmJvdHRvbS1yaWdodCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIH1cblxuICAgICYudG9wLFxuICAgICYuYm90dG9tIHtcbiAgICAgICAgLnZwLWNvb2tpZS1jb25zZW50LWlubmVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52cC1jb29raWUtY29uc2VudCB7XG4gICAgJi52cC1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYudnAtZmFkZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgJi50b3AsXG4gICAgICAgICYudG9wLWxlZnQsXG4gICAgICAgICYudG9wLXJpZ2h0e1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmJvdHRvbSxcbiAgICAgICAgJi5ib3R0b20tbGVmdCxcbiAgICAgICAgJi5ib3R0b20tcmlnaHQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZwLWNvb2tpZS1jb25zZW50LWJ1dHRvbiB7XG4gICAgLS1idG4tcGFkZGluZy14OiAycmVtO1xuICAgIHRleHQtd3JhcDogbm93cmFwO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAudnAtY29va2llLWNvbnNlbnQge1xuICAgICAgICAmLnRvcC1sZWZ0LFxuICAgICAgICAmLnRvcC1yaWdodCxcbiAgICAgICAgJi5ib3R0b20tbGVmdCxcbiAgICAgICAgJi5ib3R0b20tcmlnaHQsXG4gICAgICAgICYuY2VudGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLmNlbnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYudG9wLWxlZnQsXG4gICAgICAgICYudG9wLXJpZ2h0IHtcbiAgICAgICAgICAgIHRvcDogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ib3R0b20tbGVmdCxcbiAgICAgICAgJi5ib3R0b20tcmlnaHQge1xuICAgICAgICAgICAgYm90dG9tOiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLnRvcCxcbiAgICAgICAgJi5ib3R0b20ge1xuICAgICAgICAgICAgLnZwLWNvb2tpZS1jb25zZW50LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudnAtY29va2llLWNvbnNlbnQtaW5uZXIge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmLmJvdHRvbSxcbiAgICAgICAgJi50b3Age1xuICAgICAgICAgICAgLnZwLWNvb2tpZS1jb25zZW50LWlubmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gQXdlc29tcGxldGVcblxuLm1vZC1maW5kZXJfX3NlYXJjaC5pbnB1dC1ncm91cCB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICAuYXdlc29tcGxldGUge1xuICAgIGlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAuaWNvbi1zZWFyY2gge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC4yZW07XG4gICAgfVxuICB9XG59XG5cbi5hd2Vzb21wbGV0ZSB7XG4gID4gaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuICB9XG4gID4gdWwge1xuICAgIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd24gIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gQnV0dG9uc1xuXG4uYnRuIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJ0bjpmb2N1cyxcbi5idG4uZm9jdXMsXG4uYnRuOmFjdGl2ZTpmb2N1cyxcbi5idG4uZm9jdXM6YWN0aXZlLFxuLmJ0bi5hY3RpdmU6Zm9jdXMsXG4uYnRuLmFjdGl2ZS5mb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJ0bi5ncm91cC1tb3ZlIHtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuXG4uYnRuLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAkZ3JheS04MDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRncmF5LTgwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XG4gIH1cbn1cblxuLmJ0bi1saW5rIHtcbiAgLS1idG4tY29sb3I6IHZhcigtLWJvZHktY29sb3IsIGluaGVyaXQpO1xuICAtLWJ0bi1ob3Zlci1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgLS1idG4tZm9jdXMtY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG4gIC0tYnRuLWFjdGl2ZS1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgLS1idG4tYm9yZGVyLXdpZHRoOiAycHg7XG4gIC0tYnRuLXBhZGRpbmcteDogMDtcbiAgLS1idG4tcGFkZGluZy15OiAwO1xuICAtLWJ0bi1mb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXRlbXBsYXRlLWxpbmstY29sb3IpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmOmFjdGl2ZTpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6IHZhcigtLWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXRlbXBsYXRlLWxpbmstY29sb3IpO1xuICB9XG59XG5cbi5saW5rLXN3aXRjaCB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjQ7XG5cbiAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpob3Zlcjpub3QoLmFjdGl2ZSksXG4gICY6Zm9jdXM6bm90KC5hY3RpdmUpIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgb3BhY2l0eTogMC43O1xuICB9XG59XG5cbi5idG4tcHJpbWFyeSB7XG4gIC0tYnRuLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbnRyYXN0LWNvbG9yKTtcbiAgLS1idG4tYmc6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAtLWJ0bi1ib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAtLWJ0bi1ob3Zlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1ob3Zlci1jb250cmFzdC1jb2xvcik7XG4gIC0tYnRuLWhvdmVyLWJnOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbG9yKTtcbiAgLS1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbG9yKTtcbiAgLS1idG4tZm9jdXMtc2hhZG93LXJnYjogMzksIDM5LCAxMTE7XG4gIC0tYnRuLWFjdGl2ZS1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1ob3Zlci1jb250cmFzdC1jb2xvcik7XG4gIC0tYnRuLWFjdGl2ZS1iZzogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1ob3Zlci1jb2xvcik7XG4gIC0tYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktaG92ZXItY29sb3IpO1xuICAtLWJ0bi1hY3RpdmUtc2hhZG93OiBub25lO1xuICAtLWJ0bi1kaXNhYmxlZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb250cmFzdC1jb2xvcik7XG4gIC0tYnRuLWRpc2FibGVkLWJnOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgLS1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbn1cblxuLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICAtLWJ0bi1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gIC0tYnRuLWJvcmRlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gIC0tYnRuLWhvdmVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbnRyYXN0LWNvbG9yKTtcbiAgLS1idG4taG92ZXItYmc6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktaG92ZXItY29sb3IpO1xuICAtLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktaG92ZXItY29sb3IpO1xuICAtLWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAxLCAxLCA4NjtcbiAgLS1idG4tYWN0aXZlLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbnRyYXN0LWNvbG9yKTtcbiAgLS1idG4tYWN0aXZlLWJnOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbG9yKTtcbiAgLS1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1ob3Zlci1jb2xvcik7XG4gIC0tYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1idG4tZGlzYWJsZWQtY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAtLWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG59XG5cbi5idG4taWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwYWRkaW5nOiAwLjJyZW0gMC41cmVtO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5idG4taG92ZXIge1xuICBvcGFjaXR5OiAwLjc1O1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmJ0bi1jbG9zZSB7XG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuXG4gID5pbnB1dCB7XG4gICAgICBwYWRkaW5nOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIgKiAuNTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTQwMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG4gIH1cblxuICA+LmJ0bi1ncm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5hcnRpY2xlLWluZm8gLmFzc29jaWF0aW9uLFxuLmNhdC1saXN0LWFzc29jaWF0aW9uIHtcbiAgLmJ0bi1zZWNvbmRhcnkge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS02MDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTgwMDtcbiAgICB9XG4gIH1cblxuICAuYnRuLXNtIHtcbiAgICBwYWRkaW5nOiAwIC4yNXJlbTtcbiAgICBmb250LXNpemU6IC44cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtO1xuICB9XG59XG5cbi5vZmZjYW52YXMtdG9nZ2xlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLm1vZGFsLWhlYWRlci50ZXh0LXdoaXRlIHtcbiAgLmJ0bi1jbG9zZSB7XG4gICAgICBjb2xvcjogdmFyKC0tbmVvdGVyaWMtb2ZmY2FudmFzLWhlYWRlci1jb2xvciwgI2ZmZik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjZmZmZmZmJz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0eicvPjwvc3ZnPlwiKSk7XG4gIH1cbn1cblxuLmJ0bi1zd2l0Y2gge1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG4gIGhlaWdodDogMi4zNnJlbTtcbiAgd2lkdGg6IDIuMzZyZW07XG4gIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuICB9XG4gIC5pbnB1dC1ncm91cCAuYnRuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCIvLyBDdXN0b20gRm9ybXNcblxuLmN1c3RvbS1zZWxlY3Qge1xuICBAZXh0ZW5kIC5mb3JtLXNlbGVjdDtcbn1cblxuLmZvcm0tc2VsZWN0IHtcbiAgbWF4LXdpZHRoOiAkaW5wdXQtbWF4LXdpZHRoO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICRmb3JtLXNlbGVjdC1iYWNrZ3JvdW5kICN7XCIvKiBydGw6XCJ9JGZvcm0tc2VsZWN0LWJhY2tncm91bmQtcnRsI3tcIiovXCJ9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93KTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLWlucHV0LWZvY3VzLWJvcmRlci1jb2xvciwgJGlucHV0LWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgIG9wdGlvbiB7XG4gICAgICBwYWRkaW5nOiAkZm9ybS1zZWxlY3QtbXVsdGlwbGUtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5lb3RlcmljLWNvbG9yLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5mb3JtLXNlbGVjdC1zdWNjZXNzLFxuICAmLmN1c3RvbS1zZWxlY3Qtc3VjY2VzcyB7XG4gICAgY29sb3I6ICRzdWNjZXNzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzO1xuXG4gICAgb3B0aW9uIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1zZWxlY3QtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5mb3JtLXNlbGVjdC1kYW5nZXIsXG4gICYuY3VzdG9tLXNlbGVjdC1kYW5nZXIge1xuICAgIGNvbG9yOiAkZGFuZ2VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XG5cbiAgICBvcHRpb24ge1xuICAgICAgY29sb3I6ICRmb3JtLXNlbGVjdC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICBvcHRncm91cCxcbiAgb3B0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tZGFyayk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbi8vIEJhY2t3YXJkcyBjb21wYXQgd2l0aCBCUzRcbi5mb3JtLWdyb3VwIHtcbiAgQGV4dGVuZCAubWItMztcbn1cbiIsIi8vIENvbGxhcHNlXG5cbi5hY2NvcmRpb24ge1xuXG4gIC5jYXJkLWhlYWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkaDUtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1uZW90ZXJpYy1mb250LXdlaWdodC1oZWFkaW5ncywgJGZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIH1cblxuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gIH1cblxufVxuIiwiLy8gRHJvcGRvd25cblxuLmRyb3Bkb3duLW1lbnUge1xuICBwYWRkaW5nOiAuMnJlbSAwO1xuICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3JkZXItY29sb3I6ICRuZW90ZXJpYy1ib3JkZXItY29sb3I7XG59XG5cbi5kcm9wZG93bi1tZW51LWVuZCB7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAuOXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5cbi50b3AtYmFyLWNvbnRlbnQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLS1kcm9wZG93bi16aW5kZXg6IDEwMzA7XG4gICAgLS1kcm9wZG93bi1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC0tZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogMDtcbiAgICAtLWRyb3Bkb3duLWZvbnQtc2l6ZTogMC45cmVtO1xuICAgIG1hcmdpbi10b3A6IDJweCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIuZmllbGQtbWVkaWEtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBjYWxjKDUwdncgLSA1cmVtKTtcblxuICAuZmllbGQtbWVkaWEtcHJldmlldyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG59XG5cbi5saXN0LXVuc3R5bGVkIC5saXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuIiwiLy8gTW9kYWxcblxuLmp2aWV3cG9ydC1oZWlnaHQge1xuICAmMTAge1xuICAgIGhlaWdodDogMTB2aDtcbiAgfVxuXG4gICYyMCB7XG4gICAgaGVpZ2h0OiAyMHZoO1xuICB9XG5cbiAgJjMwIHtcbiAgICBoZWlnaHQ6IDMwdmg7XG4gIH1cblxuICAmNDAge1xuICAgIGhlaWdodDogNDB2aDtcbiAgfVxuXG4gICY1MCB7XG4gICAgaGVpZ2h0OiA1MHZoO1xuICB9XG5cbiAgJjYwIHtcbiAgICBoZWlnaHQ6IDYwdmg7XG4gIH1cblxuICAmNzAge1xuICAgIGhlaWdodDogNzB2aDtcbiAgfVxuXG4gICY4MCB7XG4gICAgaGVpZ2h0OiA4MHZoO1xuICB9XG5cbiAgJjkwIHtcbiAgICBoZWlnaHQ6IDkwdmg7XG4gIH1cblxuICAmMTAwIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICB9XG59XG5cbltjbGFzcyo9anZpZXdwb3J0LWhlaWdodF0gaWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubW9kYWwtZGlhbG9nLmp2aWV3cG9ydC13aWR0aCB7XG4gICYxMCB7XG4gICAgd2lkdGg6IDEwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgJjIwIHtcbiAgICB3aWR0aDogMjB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAmMzAge1xuICAgIHdpZHRoOiAzMHZ3O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gICY0MCB7XG4gICAgd2lkdGg6IDQwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgJjUwIHtcbiAgICB3aWR0aDogNTB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAmNjAge1xuICAgIHdpZHRoOiA2MHZ3O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gICY3MCB7XG4gICAgd2lkdGg6IDcwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgJjgwIHtcbiAgICB3aWR0aDogODB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAmOTAge1xuICAgIHdpZHRoOiA5MHZ3O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gICYxMDAge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIFRhYnNcblxuLm5hdi5uYXYtdGFicyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5lb3RlcmljLXRhYnMtaGVhZGVyLWJnO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRuZW90ZXJpYy1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwIDA7XG4gICAgYm94LXNoYWRvdzogMCAxcHggJHdoaXRlIGluc2V0LCAwIDJweCAzcHggLTNweCBoc2xhKDAsIDAlLCAwJSwgLjE1KSwgMCAtNHB4IDAgaHNsYSgwLCAwJSwgMCUsIC4wNSkgaW5zZXQsICRuZW90ZXJpYy1ib3gtc2hhZG93O1xuXG4gICAgLm5hdi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIC5uYXYtbGluayB7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAwIDA7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogLTFweCAwIDFweCAtMXB4IGhzbGEoMCwgMCUsIDAlLCAuMDYpLCBpbnNldCAtMnB4IDAgMXB4IC0xcHggaHNsYSgwLCAwJSwgMCUsIC4wOCksIGluc2V0IDAgMXB4IDAgaHNsYSgwLCAwJSwgMCUsIC4wMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIC5uYXYtbGluayB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAtMXB4IDAgMCBoc2xhKDAsIDAlLCAwJSwgLjA1KSwgMXB4IDAgMCBoc2xhKDAsIDAlLCAwJSwgLjA1KTtcblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDFweCAtMXB4IGhzbGEoMCwgMCUsIDAlLCAuMDgpLCBpbnNldCAtMnB4IDAgMXB4IC0xcHggaHNsYSgwLCAwJSwgMCUsIC4wOCksIGluc2V0IDAgMXB4IDAgaHNsYSgwLCAwJSwgMCUsIC4wMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAuNzVlbSAxZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1uZW90ZXJpYy1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogLTFweCAwIDAgaHNsYSgwLCAwJSwgMCUsIC4wNSk7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5lb3RlcmljLXRhYnMtYWN0aXZlLWJnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgaHNsYSgwLCAwJSwgMCUsIDApLCBoc2xhKDAsIDAlLCAwJSwgLjA1KSAxMDAlKTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDAgMXB4IC0xcHggaHNsYSgwLCAwJSwgMCUsIC4wOCksIGluc2V0IC0ycHggMCAxcHggLTFweCBoc2xhKDAsIDAlLCAwJSwgLjA4KSwgaW5zZXQgMCAxcHggMCBoc2xhKDAsIDAlLCAwJSwgLjAyKTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZW90ZXJpYy10YWJzLWFjdGl2ZS1oaWdobGlnaHQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uYXYtdGFicysudGFiLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJG5lb3RlcmljLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogJG5lb3RlcmljLWJveC1zaGFkb3c7XG59XG5cbi5uYXYtdGFicy1iYXNpYyB7XG4gICAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIC8vIFByZXZlbnRzIGFjdGl2ZSAubmF2LWxpbmsgdGFiIG92ZXJsYXBwaW5nIGZvY3VzIG91dGxpbmUgb2YgcHJldmlvdXMvbmV4dCAubmF2LWxpbmtcbiAgICAgICAgICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXYtbGluay5hY3RpdmUsXG4gICAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgfVxufVxuXG4ubmF2LXRhYnMtc2ltcGxlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICYrLnRhYi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAubmF2LWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1uYXYtc2ltcGxlLXRhYi1saW5rLWNvbG9yLCB2YXIoLS1ncmF5LTYwMCkpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1uYXYtc2ltcGxlLXRhYi1saW5rLXBhZGRpbmcteSwgMC42cmVtKSB2YXIoLS1uYXYtc2ltcGxlLXRhYi1saW5rLXBhZGRpbmcteCwgMXJlbSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dDtcblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgJi5hY3RpdmU6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5hdi1zaW1wbGUtdGFiLWxpbmstYWN0aXZlLWNvbG9yLCB2YXIoLS1ib2R5LWNvbG9yKSk7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICByaWdodDogMC41cmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uYXYtb2ZmY2FudmFzLXRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwLjhyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEwNik7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNHMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5LWNvbG9yKTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxufSIsIi8vIFBhZ2luYXRpb25cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW46IDFyZW07XG59XG4iLCIvLyBUYWJsZVxuXG4udGFibGUge1xuXG4gIHRoIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICB9XG5cbiAgdGgsXG4gIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi50YWJsZS1jYXJ0IHtcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6IDEuMXJlbSAwLjlyZW07XG4gIH1cblxuICB0aCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxufVxuIiwiLy8gQ2hvc2VuXG5cbiRjaG9zZW4tc2VsZWN0LXBhZGRpbmcteTogJGZvcm0tc2VsZWN0LXBhZGRpbmcteSArIC4yMTtcblxuLmNob3Nlbi1jb250YWluZXIuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICBtYXgtd2lkdGg6ICRpbnB1dC1tYXgtd2lkdGg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBkaXNwbGF5OiBibG9jaztcblxuICAuY2hvc2VuLXNpbmdsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgJHNlbGVjdC1ib3JkZXItd2lkdGg6ICgkZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoICogMik7XG4gICAgaGVpZ2h0OiAjeyRpbnB1dC1oZWlnaHR9O1xuICAgIHBhZGRpbmc6ICRjaG9zZW4tc2VsZWN0LXBhZGRpbmcteSAoJGZvcm0tc2VsZWN0LXBhZGRpbmcteCArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGNob3Nlbi1zZWxlY3QtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogJGZvcm0tc2VsZWN0LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXNlbGVjdC1iZyAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yIG5vLXJlcGVhdCByaWdodCAwLjI1cmVtIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lIFxcOTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplO1xuICAgIGJvcmRlcjogJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICAgIGFiYnIge1xuICAgICAgdG9wOiAxMHB4O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgZGl2IGIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5jaG9zZW4tZHJvcCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmNob3Nlbi1yZXN1bHRzIGxpIHtcbiAgICBsaW5lLWhlaWdodDogY2FsYygjeyRmb250LXNpemUtYmFzZX0gKyAuM3JlbSk7XG4gIH1cblxuICAvKlxuICAmLmNob3Nlbi1jb250YWluZXItYWN0aXZlIC5jaG9zZW4tc2luZ2xlIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gICovXG59XG5cbi5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi1jb250YWluZXItbXVsdGkge1xuICAuY2hvc2VuLWNob2ljZXMge1xuICAgIG1heC13aWR0aDogJGlucHV0LW1heC13aWR0aDtcbiAgICBtaW4taGVpZ2h0OiAjeyRpbnB1dC1oZWlnaHR9O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJHdoaXRlO1xuXG4gICAgbGkuc2VhcmNoLWNob2ljZSB7XG4gICAgICAkY2hvc2VuLW11bHRpLWNsb3NlLXdpZHRoOiAyMHB4O1xuXG4gICAgICBwYWRkaW5nOiA1cHggKDEzICsgJGNob3Nlbi1tdWx0aS1jbG9zZS13aWR0aCkgNXB4IDEwcHg7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeSk7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiAkbmVvdGVyaWMtYm94LXNoYWRvdztcblxuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB9XG5cbiAgICAgIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6ICRjaG9zZW4tbXVsdGktY2xvc2Utd2lkdGg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgIHJpZ2h0OiAkY2hvc2VuLW11bHRpLWNsb3NlLXdpZHRoICogLjI1O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgY29udGVudDogXCJcXDAwZDdcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8vIFRFTVBPUkFSWVxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLy8gRU5EIFRFTVBPUkFSWVxuXG4uY2FyZCAuY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgLmNob3Nlbi1zaW5nbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIERyYWd1bGFcblxuLmd1LW1pcnJvciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5OTk5ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMTIwLCA3MyUsIDc1JSk7XG4gIG9wYWNpdHk6IC44O1xuXG4gICYudGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgdGQge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG5cbiAgfVxuXG59XG4iLCIvLyBNaW5pY29sb3Vyc1xuXG4ubWluaWNvbG9ycy10aGVtZS1ib290c3RyYXAge1xuXG4gIC5taW5pY29sb3JzLWlucHV0IHtcbiAgICB3aWR0aDogMTIwcHg7XG4gIH1cblxuICAucmdiIHtcbiAgICB3aWR0aDogMTc1cHg7XG4gIH1cblxuICAucmdiYSB7XG4gICAgd2lkdGg6IDIyMHB4O1xuICB9XG5cbn1cbiIsIi8vIFRpbnlNQ0VcblxuLmVkaXRvciB7XG5cbiAgLnRvZ2dsZS1lZGl0b3Ige1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cblxuICAubWNlLXRpbnltY2Uge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm1jZS1idG4sXG4gIC5tY2UtcGFuZWwge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLWJnLWNvbG9yLWxpZ2h0O1xuICB9XG5cbn1cblxuLnRveCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cbiIsIi8vIFJlbW92ZSBwcmVmaXggYWRkZWQgaW4gQlM1IGZvciBjb21wYXQgd2l0aCBKb29tbGEgYmV0YSdzIHNoaXBwZWQgd2l0aCBCZXRhc1xuJHByZWZpeDogXCJcIjtcblxuLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ0b29scy92YXJpYWJsZXMvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy92YXJpYWJsZXMtZGFya1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9tYXBzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGluc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXNcIjtcblxuLy8gSW5jbHVkZSB0ZW1wbGF0ZSB1dGlsaXRpZXNcbkBpbXBvcnQgXCJibG9ja3MvdXRpbGl0aWVzXCI7XG5cbi8vIFZhcmlhYmxlcywgRnVuY3Rpb25zIGFuZCBNaXhpbnNcbkBpbXBvcnQgXCJ0b29scy90b29sc1wiO1xuXG4vLyBCb290c3RyYXBcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwXCI7XG5cbi8vIGpRdWVyeSBNaW5pY29sb3JzXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vc3lzdGVtL3Njc3MvanF1ZXJ5LW1pbmljb2xvcnNcIjtcblxuLy8gQmxvY2tzXG5AaW1wb3J0IFwiYmxvY2tzL2dsb2JhbFwiOyAvLyBMZWF2ZSB0aGlzIGZpcnN0XG5AaW1wb3J0IFwiYmxvY2tzL2FsZXJ0c1wiO1xuQGltcG9ydCBcImJsb2Nrcy9iYWNrLXRvLXRvcFwiO1xuQGltcG9ydCBcImJsb2Nrcy9iYW5uZXJcIjtcbkBpbXBvcnQgXCJibG9ja3MvZm9vdGVyXCI7XG5AaW1wb3J0IFwiYmxvY2tzL2Zvcm1cIjtcbkBpbXBvcnQgXCJibG9ja3MvZnJvbnRlbmQtZWRpdFwiO1xuQGltcG9ydCBcImJsb2Nrcy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJibG9ja3MvaWNvbnNcIjtcbkBpbXBvcnQgXCJibG9ja3MvaWZyYW1lXCI7XG5AaW1wb3J0IFwiYmxvY2tzL29iamVjdFwiO1xuQGltcG9ydCBcImJsb2Nrcy9sYXlvdXRcIjtcbkBpbXBvcnQgXCJibG9ja3MvbW9kYWxzXCI7XG5AaW1wb3J0IFwiYmxvY2tzL21vZGlmaWVyc1wiO1xuQGltcG9ydCBcImJsb2Nrcy90b29sYmFyXCI7XG5AaW1wb3J0IFwiYmxvY2tzL2xlZ2FjeVwiO1xuQGltcG9ydCBcImJsb2Nrcy90YWdzXCI7XG5AaW1wb3J0IFwiYmxvY2tzL2pvb21sYVwiO1xuQGltcG9ydCBcImJsb2Nrcy92aXJ0dWVtYXJ0XCI7XG5AaW1wb3J0IFwiYmxvY2tzL2Nvb2tpZV9jb25zZW50XCI7XG5cbi8vIFZlbmRvciBvdmVycmlkZXNcbkBpbXBvcnQgXCJ2ZW5kb3IvYXdlc29tcGxldGVcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL2N1c3RvbS1mb3Jtc1wiO1xuQGltcG9ydCBcInZlbmRvci9ib290c3RyYXAvY29sbGFwc2VcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL2Ryb3Bkb3duXCI7XG5AaW1wb3J0IFwidmVuZG9yL2Jvb3RzdHJhcC9mb3Jtc1wiO1xuQGltcG9ydCBcInZlbmRvci9ib290c3RyYXAvbGlzdHNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL21vZGFsXCI7XG5AaW1wb3J0IFwidmVuZG9yL2Jvb3RzdHJhcC9uYXZcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL3RhYmxlXCI7XG5AaW1wb3J0IFwidmVuZG9yL2Nob3NlblwiO1xuQGltcG9ydCBcInZlbmRvci9kcmFndWxhXCI7XG5AaW1wb3J0IFwidmVuZG9yL21pbmljb2xvcnNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvdGlueW1jZVwiO1xuXG4vLyBGaW5hbGx5IGFkZCB0aGUgbmVvdGVyaWMgY29sb3Vyc1xuOnJvb3Qge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGVtcGxhdGUtY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXktdGV4dC1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuLmJvcmRlci1wcmltYXJ5IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXNlY29uZGFyeSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXN1Y2Nlc3Mge1xuICBib3JkZXItY29sb3I6IHZhcigtLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItaW5mbyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taW5mbykgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci13YXJuaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS13YXJuaW5nKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWRhbmdlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZGFuZ2VyKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWxpZ2h0IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodCkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1kYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kYXJrKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS13aGl0ZSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtcHJpbWFyeSB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zZWNvbmRhcnkge1xuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdWNjZXNzIHtcbiAgY29sb3I6IHZhcigtLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWluZm8ge1xuICBjb2xvcjogdmFyKC0taW5mbykgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd2FybmluZyB7XG4gIGNvbG9yOiB2YXIoLS13YXJuaW5nKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kYW5nZXIge1xuICBjb2xvcjogdmFyKC0tZGFuZ2VyKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1saWdodCB7XG4gIGNvbG9yOiB2YXIoLS1saWdodCkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtZGFyayB7XG4gIGNvbG9yOiB2YXIoLS1kYXJrKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ibGFjayB7XG4gIGNvbG9yOiB2YXIoLS1ibGFjaykgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd2hpdGUge1xuICBjb2xvcjogdmFyKC0td2hpdGUpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJvZHkge1xuICBjb2xvcjogdmFyKC0tYm9keS1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLmJnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uYmctc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uYmctc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5mbykgIWltcG9ydGFudDtcbn1cblxuLmJnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13YXJuaW5nKSAhaW1wb3J0YW50O1xufVxuXG4uYmctZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFuZ2VyKSAhaW1wb3J0YW50O1xufVxuXG4uYmctbGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCkgIWltcG9ydGFudDtcbn1cblxuLmJnLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrKSAhaW1wb3J0YW50O1xufVxuXG4uYmctYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjaykgIWltcG9ydGFudDtcbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYm9keS1iZykgIWltcG9ydGFudDtcbn1cbiJdfQ== */
