@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.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 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;
  line-height: inherit;
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

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

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

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type=search]::-webkit-search-cancel-button {
  cursor: pointer;
  filter: grayscale(1);
}

/* 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-weight: 300;
  line-height: 1.2;
  font-size: calc(1.625rem + 4.5vw);
}
@media (min-width: 1200px) {
  .display-1 {
    font-size: 5rem;
  }
}

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

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

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

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

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

.list-unstyled {
  padding-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;
  max-width: 100%;
  height: 100%;
  padding: 1rem 1rem;
  overflow: hidden;
  color: rgba(var(--body-color-rgb), 0.65);
  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;
  padding-left: 1rem;
}
.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 {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.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 {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > textarea:focus ~ label::after,
.form-floating > textarea:not(:placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.5rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--body-bg);
  border-radius: var(--border-radius);
}
.form-floating > textarea:disabled ~ label::after {
  background-color: var(--secondary-bg);
}
.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%);
}

.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(-1 * 2px);
  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.1'/%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.1'/%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-check:checked:focus-visible + .btn, .btn-vm-customfield .btn-check:checked:focus-visible + .form-check-label-text {
  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(-1 * 2px);
}
.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(-1 * 2px);
}
.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:nth-child(n+3), .btn-vm-customfield .btn-group-vertical > .form-check-label-text:nth-child(n+3),
.btn-group-vertical > :not(.btn-check) + .btn,
.btn-vm-customfield .btn-group-vertical > :not(.btn-check) + .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-grow: 1;
  flex-basis: 0;
  text-align: center;
}

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

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active, .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-grow: 1;
  flex-basis: 100%;
  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='none' stroke='hsl%28210, 11%, 15%%29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%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='none' stroke='%23000022' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --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;
  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-header .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-header .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-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush > .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush > .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush > .accordion-item > .accordion-collapse,
.accordion-flush > .accordion-item > .accordion-header .accordion-button,
.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}

[data-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-.708'/%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-.708'/%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(-1 * var(--border-width));
}
.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: var(--progress-height);
  }
}
.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 {
  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-item-action {
  width: 100%;
  color: var(--list-group-action-color);
  text-align: inherit;
}
.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {
  z-index: 1;
  color: var(--list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--list-group-action-hover-bg);
}
.list-group-item-action:not(.active):active {
  color: var(--list-group-action-active-color);
  background-color: var(--list-group-action-active-bg);
}

.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.414'/%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;
  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;
  filter: var(--btn-close-filter);
  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 {
  --btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}

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

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

.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: var(--body-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 {
  transform: translate(0, -50px);
  transition: transform 0.3s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--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;
  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-top: calc(-0.5 * var(--modal-header-padding-y));
  margin-right: calc(-0.5 * var(--modal-header-padding-x));
  margin-bottom: calc(-0.5 * var(--modal-header-padding-y));
  margin-left: 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;
  filter: var(--carousel-control-icon-filter);
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: 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%;
}

.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 0'/%3e%3c/svg%3e") /*rtl: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-.708'/%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-.708'/%3e%3c/svg%3e") /*rtl: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 0'/%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: var(--carousel-indicator-active-bg);
  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: var(--carousel-caption-color);
  text-align: center;
}

.carousel-dark {
  --carousel-indicator-active-bg: hsl(0, 0%, 0%);
  --carousel-caption-color: hsl(0, 0%, 0%);
  --carousel-control-icon-filter: invert(1) grayscale(100);
}

:root,
[data-bs-theme=light] {
  --carousel-indicator-active-bg: hsl(0, 0%, 100%);
  --carousel-caption-color: hsl(0, 0%, 100%);
  --carousel-control-icon-filter: ;
}

[data-bs-theme=dark] {
  --carousel-indicator-active-bg: hsl(0, 0%, 0%);
  --carousel-caption-color: hsl(0, 0%, 0%);
  --carousel-control-icon-filter: invert(1) grayscale(100);
}

.spinner-grow,
.spinner-border {
  display: inline-block;
  flex-shrink: 0;
  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;
  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));
  margin-left: auto;
}

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

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

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

.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--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, .vm-nodisplay {
  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;
}

body.com-finder > * + * {
  margin-top: initial;
}

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

.btn.addtocart-button, .btn-vm-customfield .addtocart-button.form-check-label-text {
  margin-bottom: 0;
}

.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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvb2xzL3ZhcmlhYmxlcy9fdmFyaWFibGVzLnNjc3MiLCJibG9ja3MvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFubmVyLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3Jvb3Quc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29sb3ItbW9kZS5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19yZWJvb3Quc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3R5cGUuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX2ltYWdlcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fY29udGFpbmVycy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtdmFyaWFudHMuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fbGFiZWxzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tdGV4dC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLWNvbnRyb2wuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLXNlbGVjdC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLWNoZWNrLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2Zvcm0tcmFuZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZmxvYXRpbmctbGFiZWxzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3RyYW5zaXRpb25zLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jYXJldC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX25hdmJhci5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19icmVhZGNydW1iLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fYWxlcnQuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL190b2FzdHMuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fbW9kYWwuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tkcm9wLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fcG9wb3Zlci5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL19jYXJvdXNlbC5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fc3Bpbm5lcnMuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9fb2ZmY2FudmFzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvX3BsYWNlaG9sZGVycy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2NvbG9yLWJnLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fY29sb3JlZC1saW5rcy5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2ZvY3VzLXJpbmcuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19pY29uLWxpbmsuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19yYXRpby5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fc3RhY2tzLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19zdHJldGNoZWQtbGluay5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3RleHQtdHJ1bmNhdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3ZyLnNjc3MiLCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL191dGlsaXRpZXMuc2NzcyIsIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX2FwaS5zY3NzIiwiLi4vLi4vLi4vLi4vc3lzdGVtL3Njc3MvX2pxdWVyeS1taW5pY29sb3JzLnNjc3MiLCJibG9ja3MvX2dsb2JhbC5zY3NzIiwiYmxvY2tzL19hbGVydHMuc2NzcyIsImJsb2Nrcy9fYmFjay10by10b3Auc2NzcyIsImJsb2Nrcy9fYmFubmVyLnNjc3MiLCJibG9ja3MvX2Zvb3Rlci5zY3NzIiwiYmxvY2tzL19mb3JtLnNjc3MiLCJibG9ja3MvX2Zyb250ZW5kLWVkaXQuc2NzcyIsImJsb2Nrcy9faGVhZGVyLnNjc3MiLCJibG9ja3MvX2ljb25zLnNjc3MiLCJibG9ja3MvX2lmcmFtZS5zY3NzIiwiYmxvY2tzL19vYmplY3Quc2NzcyIsImJsb2Nrcy9fbGF5b3V0LnNjc3MiLCJibG9ja3MvX21vZGFscy5zY3NzIiwiYmxvY2tzL19tb2RpZmllcnMuc2NzcyIsImJsb2Nrcy9fdG9vbGJhci5zY3NzIiwiYmxvY2tzL19sZWdhY3kuc2NzcyIsImJsb2Nrcy9fdGFncy5zY3NzIiwiYmxvY2tzL19qb29tbGEuc2NzcyIsImJsb2Nrcy9fdmlydHVlbWFydC5zY3NzIiwiYmxvY2tzL19jb29raWVfY29uc2VudC5zY3NzIiwidmVuZG9yL19hd2Vzb21wbGV0ZS5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fYnV0dG9ucy5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fY3VzdG9tLWZvcm1zLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwL19jb2xsYXBzZS5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fZHJvcGRvd24uc2NzcyIsInZlbmRvci9ib290c3RyYXAvX2Zvcm1zLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwL19saXN0cy5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fbW9kYWwuc2NzcyIsInZlbmRvci9ib290c3RyYXAvX25hdi5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fcGFnaW5hdGlvbi5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC9fdGFibGUuc2NzcyIsInZlbmRvci9fY2hvc2VuLnNjc3MiLCJ2ZW5kb3IvX2RyYWd1bGEuc2NzcyIsInZlbmRvci9fbWluaWNvbG9ycy5zY3NzIiwidmVuZG9yL190aW55bWNlLnNjc3MiLCJ0ZW1wbGF0ZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFnUkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQzdRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBRGtQRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FFL1FFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNERjtBQUFBO0VBU0k7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtF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QUdFLGFGMG5Ca0I7RUV6bkJsQixhRnltQjBCO0VIN1d0Qjs7QUE1Sko7RUtwR0Y7SUx1UU07Ozs7QUt2UU47RUFHRSxhRjBuQmtCO0VFem5CbEIsYUZ5bUIwQjtFSDdXdEI7O0FBNUpKO0VLcEdGO0lMdVFNOzs7O0FLdlFOO0VBR0UsYUYwbkJrQjtFRXpuQmxCLGFGeW1CMEI7RUg3V3RCOztBQTVKSjtFS3BHRjtJTHVRTTs7OztBS3ZRTjtFQUdFLGFGMG5Ca0I7RUV6bkJsQixhRnltQjBCO0VIN1d0Qjs7QUE1Sko7RUtwR0Y7SUx1UU07Ozs7QUt2UU47RUFHRSxhRjBuQmtCO0VFem5CbEIsYUZ5bUIwQjtFSDdXdEI7O0FBNUpKO0VLcEdGO0lMdVFNOzs7O0FLL09SO0VDdkRFO0VBQ0E7OztBRDJERjtFQzVERTtFQUNBOzs7QUQ4REY7RUFDRTs7QUFFQTtFQUNFLGNGc29CMEI7OztBRTVuQjlCO0VMOE1NLFdBTEk7RUt2TVI7OztBQUlGO0VBQ0UsZUZpVU87RUgxSEgsV0FMSTs7QUsvTFI7RUFDRTs7O0FBSUo7RUFDRTtFQUNBLGVGdVRPO0VIMUhILFdBTEk7RUt0TFIsT1R6RW9DOztBUzJFcEM7RUFDRTs7O0FFaEdKO0VDSUU7RUFHQTs7O0FEREY7RUFDRSxTSitqRGtDO0VJOWpEbEMsa0JKK2pEa0M7RUk5akRsQztFSEdFO0VJUkY7RUFHQTs7O0FEY0Y7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFUHlQTSxXQUxJO0VPbFBSLE9Ka2pEa0M7OztBTXBsRGxDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VDSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3NERTtFRjVDRTtJQUNFLFdOa2VlOzs7QVF2Ym5CO0VGNUNFO0lBQ0UsV05rZWU7OztBUXZibkI7RUY1Q0U7SUFDRSxXTmtlZTs7O0FRdmJuQjtFRjVDRTtJQUNFLFdOa2VlOzs7QVF2Ym5CO0VGNUNFO0lBQ0UsV05rZWU7OztBU2xmdkI7RUFFSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7OztBQUtGO0VDTkE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FERUU7RUNPRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQStDSTtFQUNFOzs7QUFHRjtFQXBDSjtFQUNBOzs7QUFjQTtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUFGRjtFQUNFO0VBQ0E7OztBQUZGO0VBQ0U7RUFDQTs7O0FBRkY7RUFDRTtFQUNBOzs7QUErQkU7RUFoREo7RUFDQTs7O0FBcURRO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBK0RNO0VBaEVOO0VBQ0E7OztBQStETTtFQWhFTjtFQUNBOzs7QUErRE07RUFoRU47RUFDQTs7O0FBdUVRO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQXdEVTtFQXhEVjs7O0FBd0RVO0VBeERWOzs7QUF3RFU7RUF4RFY7OztBQW1FTTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFQRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBUEY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQVBGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOzs7QUYxRE47RUVVRTtJQUNFOztFQUdGO0lBcENKO0lBQ0E7O0VBY0E7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBRkY7SUFDRTtJQUNBOztFQUZGO0lBQ0U7SUFDQTs7RUFGRjtJQUNFO0lBQ0E7O0VBK0JFO0lBaERKO0lBQ0E7O0VBcURRO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBK0RNO0lBaEVOO0lBQ0E7O0VBdUVRO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBd0RVO0lBeERWOztFQXdEVTtJQXhEVjs7RUF3RFU7SUF4RFY7O0VBbUVNO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7O0VBUEY7QUFBQTtJQUVFOztFQUdGO0FBQUE7SUFFRTs7RUFQRjtBQUFBO0lBRUU7O0VBR0Y7QUFBQTtJQUVFOztFQVBGO0FBQUE7SUFFRTs7RUFHRjtBQUFBO0lBRUU7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QUNBO0VBQ0E7RUFDQTtFQUNBLGFmd2Y0QjtFZXZmNUIsT2YyeEJzQztFZTF4QnRDO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBRUU7RUFDQTs7O0FBV0o7RUFDRSxZZjR3QnNDO0VlM3dCdEM7RWxCeUlJLFdBTEk7RUl2UU47O0FjdUlGO0VBQ0U7RUFDQTtFQUNBLG1CZm9vQjBCOzs7QWVob0I5QjtFQUNFLFlmZ3dCc0M7RWUvdkJ0QztFbEI0SEksV0FMSTtFSXZRTjs7QWNvSkY7RUFDRTtFQUNBO0VBQ0EsbUJ0QmtCa0M7OztBc0JWcEM7QUFBQTtFQUNFLFlmNnVCb0M7O0FlMXVCdEM7RUFDRSxZZjB1Qm9DOztBZXZ1QnRDO0VBQ0UsWWZ1dUJvQzs7O0FlbHVCeEM7RUFDRSxPZnF1QnNDO0VlcHVCdEMsUWY4dEJzQztFZTd0QnRDLFN0QlZvQzs7QXNCWXBDO0VBQ0U7O0FBR0Y7RUFDRTtFZHZMQTs7QWMyTEY7RUFDRTtFZDVMQTs7QWNnTUY7RUFBb0IsUWY4c0JrQjs7QWU3c0J0QztFQUFvQixRZjhzQmtCOzs7QWtCNzVCeEM7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFckJxUkksV0FMSTtFcUI3UVIsYXpCZ0tvQztFeUIvSnBDLGFsQnNtQjRCO0VrQnJtQjVCLE9sQnkzQnNDO0VrQngzQnRDO0VBQ0Esa0J6Qk1vQztFeUJMcEM7RUFDQTtFQUNBLHFCbEIrOUJrQztFa0I5OUJsQyxpQnpCNktrQztFeUI1S2xDO0VqQkhFO0VlSEUsWUVTSjs7QUZMSTtFRWZOO0lGZ0JROzs7QUVNTjtFQUNFLGNsQnMzQm9DO0VrQnIzQnBDO0VBS0UsWWxCaStCNEI7O0FrQjc5QmhDO0VBRUUsZXpCa0prQztFeUJqSmxDOztBQUdGO0VBRUUsa0JsQnUxQm9DOztBa0JsMUJ0QztFQUNFO0VBQ0E7OztBQUlKO0VBQ0UsYWxCc3VCNEI7RWtCcnVCNUIsZ0JsQnF1QjRCO0VrQnB1QjVCLGNsQnF1QjRCO0VIbGdCeEIsV0FMSTtFSXZRTjs7O0FpQjhDSjtFQUNFLGF6QnlIb0M7RXlCeEhwQyxnQnpCd0hvQztFeUJ2SHBDLGN6QndIb0M7RUltR2hDLFdBTEk7RUl2UU47OztBaUJ3REE7RUFDRTs7O0FDeEVOO0VBQ0U7RUFDQSxZbkJxNkJ3QztFbUJwNkJ4QyxjbkJxNkJ3QztFbUJwNkJ4QyxlbkJxNkJ3Qzs7QW1CbjZCeEM7QUFBQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0UsZW5CMjVCd0M7RW1CMTVCeEM7RUFDQTs7QUFFQTtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0FBQUE7RUFDRTtFQUVBO0VBQ0EsT25CMDRCd0M7RW1CejRCeEMsUW5CeTRCd0M7RW1CeDRCeEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFFuQjI0QndDO0VtQjE0QnhDOztBQUdBO0FBQUE7RWxCM0JFOztBa0IrQkY7RUFFRSxlbkJtNEJzQzs7QW1CaDRCeEM7QUFBQTtFQUNFLFFuQjAzQnNDOztBbUJ2M0J4QztBQUFBO0VBQ0UsY25CczFCb0M7RW1CcjFCcEM7RUFDQSxZbkI4Zm9COztBbUIzZnRCO0FBQUE7RUFDRSxrQjFCckJrQztFMEJzQmxDLGMxQnRCa0M7O0EwQndCbEM7QUFBQTtFQUlJOztBQUlKO0VBSUk7O0FBS047QUFBQTtFQUNFLGtCMUIxQ2tDO0UwQjJDbEMsYzFCM0NrQztFMEJnRGhDOztBQUlKO0FBQUE7RUFDRTtFQUNBO0VBQ0EsU25CazJCdUM7O0FtQjMxQnZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBLFNuQnkxQnFDOzs7QW1CMzBCM0M7RUFDRSxjbkJvMUJnQzs7QW1CbDFCaEM7QUFBQTtBQUFBO0VBQ0U7RUFFQSxPbkI4MEI4QjtFbUI3MEI5QjtFQUNBO0VBQ0E7RWxCakhBO0VlSEUsWUdzSEY7O0FIbEhFO0VHMEdKO0FBQUE7QUFBQTtJSHpHTTs7O0FHbUhKO0FBQUE7QUFBQTtFQUNFOztBQUdGO0FBQUE7QUFBQTtFQUNFLHFCbkI2MEI0QjtFbUJ4MEIxQjs7QUFLTjtFQUNFLGVuQnd6QjhCO0VtQnZ6QjlCOztBQUVBO0FBQUE7QUFBQTtFQUNFO0VBQ0E7OztBQUtOO0VBQ0U7RUFDQSxjbkJzeUJnQzs7O0FtQm55QmxDO0VBQ0U7RUFDQTtFQUNBOztBQUlFO0VBQ0U7RUFDQTtFQUNBLFNuQnNwQndCOzs7QW1CL29CMUI7QUFBQTtBQUFBO0VBQ0U7OztBQ25MTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJQTtFQUEwQixZcEI4Z0NhOztBb0I3Z0N2QztFQUEwQixZcEI2Z0NhOztBb0IxZ0N6QztFQUNFOztBQUdGO0VBQ0UsT3BCKy9CdUM7RW9COS9CdkMsUXBCOC9CdUM7RW9CNy9CdkM7RUFDQTtFSDFCRixrQnhCeUNvQztFMkJibEMsUXBCNi9CdUM7RUMxZ0N2QztFZUhFLFlJbUJGOztBSmZFO0VJTUo7SUpMTTs7O0FJZ0JKO0VIakNGLGtCakI4aEN5Qzs7QW9CeC9CekM7RUFDRSxPcEJ3K0I4QjtFb0J2K0I5QixRcEJ3K0I4QjtFb0J2K0I5QjtFQUNBLFFwQnUrQjhCO0VvQnQrQjlCLGtCcEJ1K0I4QjtFb0J0K0I5QjtFbkI3QkE7O0FtQmtDRjtFQUNFLE9wQm8rQnVDO0VvQm4rQnZDLFFwQm0rQnVDO0VvQmwrQnZDO0VIcERGLGtCeEJ5Q29DO0UyQmFsQyxRcEJtK0J1QztFQzFnQ3ZDO0VlSEUsWUk2Q0Y7O0FKekNFO0VJaUNKO0lKaENNOzs7QUkwQ0o7RUgzREYsa0JqQjhoQ3lDOztBb0I5OUJ6QztFQUNFLE9wQjg4QjhCO0VvQjc4QjlCLFFwQjg4QjhCO0VvQjc4QjlCO0VBQ0EsUXBCNjhCOEI7RW9CNThCOUIsa0JwQjY4QjhCO0VvQjU4QjlCO0VuQnZEQTs7QW1CNERGO0VBQ0U7O0FBRUE7RUFDRSxrQnBCZzlCcUM7O0FvQjc4QnZDO0VBQ0Usa0JwQjQ4QnFDOzs7QXFCbmlDM0M7RUFDRTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHRSxRckJ3aUNvQztFcUJ2aUNwQyxZckJ1aUNvQztFcUJ0aUNwQyxhckJ1aUNvQzs7QXFCcGlDdEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUxWRSxZS1dGOztBTFBFO0VLVEo7SUxVTTs7O0FLU047QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVFLGFyQjBnQ2tDO0VxQnpnQ2xDLGdCckIwZ0NrQzs7QXFCdmdDcEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0UsYXJCcWdDa0M7RXFCcGdDbEMsZ0JyQnFnQ2tDOztBcUJqZ0N0QztFQUNFLGFyQisvQm9DO0VxQjkvQnBDLGdCckIrL0JvQztFcUI5L0JwQyxjNUJxSWtDOztBNEI5SGxDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0UsV3JCeS9Ca0M7O0FxQnAvQnBDO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRSxXckJtL0JrQzs7QXFCOStCcEM7QUFBQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFFyQncrQmtDO0VxQnYrQmxDO0VBQ0Esa0JyQnF6QmtDO0VDaDNCcEM7O0FvQitERjtFQUNFLGtCckJrekJvQzs7QXFCOXlCcEM7RUFDRTs7QUFJSjtBQUFBO0FBQUE7QUFBQTtFQUVFLE81Qm5Fa0M7OztBNkJ2QnRDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHRTs7QUFNRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7O0FBV047RUFDRTtFQUNBO0VBQ0E7RXpCOE9JLFdBTEk7RXlCdk9SLGE3QjBIb0M7RTZCekhwQyxhdEJna0I0QjtFc0IvakI1QixPdEJtMUJzQztFc0JsMUJ0QztFQUNBO0VBQ0Esa0J0QjA2QnNDO0VzQno2QnRDO0VyQnRDRTs7O0FxQmdESjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBSUU7RXpCd05JLFdBTEk7RUl2UU47OztBcUJ5REo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUlFO0V6QitNSSxXQUxJO0VJdlFOOzs7QXFCa0VKO0FBQUE7QUFBQTtBQUFBO0VBRUU7OztBQWFFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VyQmpFQTtFQUNBOztBcUJ5RUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RXJCMUVBO0VBQ0E7O0FxQnNGRjtFQUNFO0VyQjFFQTtFQUNBOztBcUI2RUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RXJCOUVFO0VBQ0E7OztBc0J4QkY7RUFDRTtFQUNBO0VBQ0EsWXZCdTBCb0M7RUhya0JsQyxXQUxJO0UwQjFQTixPdkJrakNxQjs7O0F1Qi9pQ3ZCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTFCcVBFLFdBTEk7RTBCN09OLE92QnFpQ3FCO0V1QnBpQ3JCLGtCdkJvaUNxQjtFQy9qQ3JCOzs7QXNCZ0NBO0FBQUE7QUFBQTtBQUFBO0VBRUU7OztBQS9DRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQXFERSxjdkJ1aENtQjtFdUJwaENqQixldkI4MUJnQztFdUI3MUJoQztFQUNBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFLGN2QjRnQ2lCO0V1QnZnQ2YsWXZCdWdDZTs7O0F1QjVrQ3JCO0FBQUE7QUFBQTtBQUFBO0VBK0VJLGV2QnUwQmdDO0V1QnQwQmhDOzs7QUFoRko7RUF1RkUsY3ZCcS9CbUI7O0F1QmwvQmpCO0VBRUU7RUFDQSxldkJxNUI4QjtFdUJwNUI5QjtFQUNBOztBQUlKO0VBQ0UsY3ZCdytCaUI7RXVCbitCZixZdkJtK0JlOzs7QXVCNWtDckI7RUFrSEk7OztBQWxISjtBQUFBO0FBQUE7QUFBQTtFQXlIRSxjdkJtOUJtQjs7QXVCajlCbkI7QUFBQTtBQUFBO0FBQUE7RUFDRSxrQnZCZzlCaUI7O0F1Qjc4Qm5CO0FBQUE7QUFBQTtBQUFBO0VBQ0UsWXZCNDhCaUI7O0F1Qno4Qm5CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0UsT3ZCdzhCaUI7OztBdUJuOEJyQjtBQUFBO0FBQUE7RUFDRTs7O0FBMUlGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBb0pNOzs7QUFoSVI7RUFDRTtFQUNBO0VBQ0EsWXZCdTBCb0M7RUhya0JsQyxXQUxJO0UwQjFQTixPdkJrakNxQjs7O0F1Qi9pQ3ZCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTFCcVBFLFdBTEk7RTBCN09OLE92QnFpQ3FCO0V1QnBpQ3JCLGtCdkJvaUNxQjtFQy9qQ3JCOzs7QXNCZ0NBO0FBQUE7QUFBQTtBQUFBO0VBRUU7OztBQS9DRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQXFERSxjdkJ1aENtQjtFdUJwaENqQixldkI4MUJnQztFdUI3MUJoQztFQUNBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFLGN2QjRnQ2lCO0V1QnZnQ2YsWXZCdWdDZTs7O0F1QjVrQ3JCO0FBQUE7QUFBQTtBQUFBO0VBK0VJLGV2QnUwQmdDO0V1QnQwQmhDOzs7QUFoRko7RUF1RkUsY3ZCcS9CbUI7O0F1QmwvQmpCO0VBRUU7RUFDQSxldkJxNUI4QjtFdUJwNUI5QjtFQUNBOztBQUlKO0VBQ0UsY3ZCdytCaUI7RXVCbitCZixZdkJtK0JlOzs7QXVCNWtDckI7RUFrSEk7OztBQWxISjtBQUFBO0FBQUE7QUFBQTtFQXlIRSxjdkJtOUJtQjs7QXVCajlCbkI7QUFBQTtBQUFBO0FBQUE7RUFDRSxrQnZCZzlCaUI7O0F1Qjc4Qm5CO0FBQUE7QUFBQTtBQUFBO0VBQ0UsWXZCNDhCaUI7O0F1Qno4Qm5CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0UsT3ZCdzhCaUI7OztBdUJuOEJyQjtBQUFBO0FBQUE7RUFDRTs7O0FBMUlGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBc0pNOzs7QUN4SlY7RUFFRTtFQUNBO0VBQ0E7RTNCdVJJLGlCQUxJO0UyQmhSUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0UzQnNRSSxXQUxJO0UyQi9QUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RXZCakJFO0VnQmZGLGtCT2tDcUI7RVJ0QmpCLFlRd0JKOztBUnBCSTtFUWhCTjtJUmlCUTs7O0FRcUJOO0VBQ0U7RUFFQTtFQUNBOztBQUdGO0VBRUU7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RVByREYsa0JPc0R1QjtFQUNyQjtFQUNBO0VBS0U7O0FBSUo7RUFDRTtFQUNBO0VBS0U7O0FBSUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtFO0VBQ0E7RUFHQTs7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0k7O0FBS047RUFLSTs7QUFJSjtFQUdFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQVlGO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRGtHQTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEa0dBO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRGtHQTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURrR0E7RUMvR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEa0dBO0VDL0dBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRGtHQTtFQy9HQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUQ0SEE7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEbUdBO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRG1HQTtFQ2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QURtR0E7RUNoSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEbUdBO0VDaEhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRG1HQTtFQ2hIQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VB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OztFQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTtJQUNBOzs7QWhDeEZSO0VnQ2dFQTtJQUNFOztFQUdFO0l2Q3pESjtJQVpBOztFdUMwRUk7SXZDMUVKO0lBWUE7O0V1Q21FSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTtJQUNBOzs7QWhDeEZSO0VnQ2dFQTtJQUNFOztFQUdFO0l2Q3pESjtJQVpBOztFdUMwRUk7SXZDMUVKO0lBWUE7O0V1Q21FSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTtJQUNBOzs7QWhDeEZSO0VnQ2dFQTtJQUNFOztFQUdFO0l2Q3pESjtJQVpBOztFdUMwRUk7SXZDMUVKO0lBWUE7O0V1Q21FSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTtJQUNBOzs7QWhDeEZSO0VnQ2dFQTtJQUNFOztFQUdFO0l2Q3pESjtJQVpBOztFdUMwRUk7SXZDMUVKO0lBWUE7O0V1Q21FSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFDRTtJQUNBOzs7QUFjWjtFdkNsSkk7O0F1Q3FKRjtFQUNFOztBQUVBO0VBQ0U7OztBQWFKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVZGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVZGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVZGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVZGO0VBQ0U7RUFDQTtFQUNB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WE07OztBUnVESjtFMkM1QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBRUU7O0VBR0Y7SUFHRTs7O0EzQzVCSjtFMkMvQkY7SUFpRU07SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBOzs7O0EzQ25DTjtFMkM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0luQzVCQSxZbUM4QkE7OztBbkMxQkE7RW1DWUo7SW5DWE07OztBUnVESjtFMkM1QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBRUU7O0VBR0Y7SUFHRTs7O0EzQzVCSjtFMkMvQkY7SUFpRU07SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUVBOzs7O0EzQ25DTjtFMkM1Q0Y7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0luQzVCQSxZbUM4QkE7OztBbkMxQkE7RW1DWUo7SW5DWE07OztBUnVESjtFMkM1QkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBRUU7O0VBR0Y7SUFHRTs7O0EzQzVCSjtFMkMvQkY7SUFpRU07SUFD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OztBQVNGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBakJKO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQVNGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFQSjtFQU9JOzs7QUFyQko7QUFjQTtFQU9JO0VBQUE7OztBQW1CSjtBQTFCQTtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFqQko7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBU0Y7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBUEo7RUFPSTs7O0FBakJKO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQUlKO0VBT0k7OztBQUtGO0VBT0k7OztBQW5CTjtFQU9JOzs7QUFLRjtFQU9JOzs7QUFuQk47RUFPSTs7O0FBS0Y7RUFPSTs7O0FBbkJOO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQWpCSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFJSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBUEo7RUFJUTtFQUdKOzs7QUFQSjtFQUlRO0VBR0o7OztBQVBKO0VBSVE7RUFHSjs7O0FBakJKO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQVNGO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7RUFBQTs7O0FBUEo7RUFPSTtFQUFBOzs7QUFQSjtFQU9JO0VBQUE7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBQVBKO0VBT0k7OztBMURWUjtFMERHSTtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOzs7QTFEVlI7RTBER0k7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7OztBMURWUjtFMERHSTtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7O0ExRFZSO0UwREdJO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JO0lBQUE7O0VBUEo7SUFPSTtJQUFBOztFQVBKO0lBT0k7SUFBQTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQSjtJQU9JOztFQVBKO0lBT0k7O0VBUEo7SUFPSTs7RUFQ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QUNJOzs7QUFNaEI7QUFBQTtBQUFBO0VBR0k7OztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUVJO0VBQ0E7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBTUE7RUFDSTtFQUNBO0VBQ0E7O0FBSVI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7OztBN0RoYlI7RTZEeWJZO0lBQ0k7SUFDQTs7RUFLWjtJQUNJOztFQUdKO0lBQ0k7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBS0E7QUFBQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBSVI7SUFDSTtJQUNBOztFQUVBO0lBQ0k7SUFDQTtJQUNBOztFQUtKO0lBQ0k7OztBN0R4ZWhCO0U2RGdmQTtJQUNJOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7O0FBTUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7OztBQU1oQjtFQUNJO0lBQ0k7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7OztBQUlSO0VBQ0k7SUFDSTtJQUNBOztFQUdKO0lBQ0k7SUFDQTs7O0FBSVI7RUFHWTtJQUNJO0lBQ0E7OztBQU1oQjtBQUFBO0FBQUE7RUFDSTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNJOztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBR0k7OztBQUlSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBR0k7OztBQUlSO0VBQ0k7O0FBRUE7RUFDSTs7O0FBYUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFQUNJOztBQUtJO0VBQ0k7RUFDQTtFQUNBOztBQU1SO0VBQ0k7O0FBRUE7RUFDSTs7QUFLWjtFQUNJOztBQUVBO0VBR0k7OztBQUtaO0VBQ0k7RUFDQTtFQUNBOzs7QUFJQTtFQUNJOzs7QTdEaHRCSjtFNkRzdEJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFLSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUtKO0VBQ0k7OztBQUlSO0FBQUE7QUFBQTtFQUdJOzs7QUFLQTtBQUFBO0VBQ0k7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QTdEaHhCQTtFNkRveEJBO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJOztFQUtKO0lBQ0k7OztBN0QveUJSO0U2RHF6QkE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdJO0lBQ0k7O0VBS0o7SUFDSTs7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtBQUFBO0VBRUk7O0FBRUE7QUFBQTtFQUNJO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7RUFJSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7RUFJSTs7O0FBR0o7QUFBQTtFQUVJOztBQUVBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7RUFDSTs7O0FBTUo7QUFBQTtFQUNJOztBQUdKO0FBQUE7RUFDSTs7QUFFQTtBQUFBO0VBQ0k7O0FBSVI7QUFBQTtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7O0FBR0o7RUFFSTtFQUNBOzs7QUFNUjtFQUNJOzs7QUFNQTtFQUNJOzs7QUFTSTtFQUNJOzs7QUFPcEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0E3RGxpQ0E7RTZEMGlDQTtJQUNJOzs7QUFJUjtFQUNJOzs7QUFNQTtBQUFBO0FBQUE7RUFDSTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtF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QUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7RUFFSTtFQUNBOztBQUlJO0FBQUE7QUFBQTtFQUVJO0VBQ0E7O0FBTUo7QUFBQTtBQUFBO0VBQ0k7RUFDQTs7QUFHSjtBQUFBO0FBQUE7RUFDSTtFQUNBOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0VBR0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0EvRTVIQTtFK0VpSUE7QUFBQTtJQUVJO0lBQ0E7SUFDQTs7O0FBSVI7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0FBQUE7RUFFSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBT0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBT0o7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBRUk7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQU9KO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUtBO0FBQUE7RUFDSTs7QUFFQTtBQUFBO0VBQ0k7RUFDQTs7O0FBS1o7QUFBQTtBQUFBO0VBR0k7OztBQUdKO0VBQ0k7OztBQUlBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0VBQ0k7O0FBS1o7RUFDSTtFQUNBOzs7QUFJUjtBQUFBO0VBRUk7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7RUFDSTs7O0FBS0o7RUFDSTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBR0k7RUFDQTtFQUNBO0VBQ0E7OztBQU1SO0VBQ0k7RUFDQTs7O0FBS0o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0EvRTViUjtFK0VtY0k7SUFDSTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTs7RUFPSjtJQUNJOztFQUdKO0lBQ0k7O0VBT0o7SUFDSTtJQUNBOztFQUVBO0lBQ0k7O0VBTWhCO0lBQ0k7O0VBSUE7SUFDSTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFDSTs7RUFNaEI7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBQ0k7OztBL0U5ZlI7RStFc2dCUTtJQUNJOztFQUdKO0lBQ0k7O0VBTVI7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7O0VBR0o7SUFHSTtJQUNBO0lBQ0E7SUFDQTs7RUFHSjtJQUNJO0lBQ0E7OztBQU1oQjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7OztBQU1SO0VBQ0k7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7O0FBSVI7QUFBQTtBQUFBO0VBR0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTtFQUNBOzs7QUFJUjtFQUNJOzs7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7O0FBSVI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQTRDQTtFQUNBO0VBQ0E7O0FBNUNBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUdJOztBQU1SO0VBQ0k7O0FBS0o7RUFDSTtFQUNBOztBQVFSO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJOzs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOzs7QS9FeHhCWjtFK0VpeUJRO0lBQ0k7SUFDQTs7RUFFQTtJQUNJOztFQUdKO0lBQ0k7O0VBUUE7SUFDSTtJQUNBOztFQUVBO0lBQ0k7O0VBUXhCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBS0k7SUFDSTtJQUNBOztFQUtaO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7OztBL0VwNEJKO0UrRXk0QkE7SUFDSTtJQUNBO0lBQ0E7SUFDQTs7RUFJQTtJQUNJO0lBQ0E7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLQTtBQUFBO0VBRUk7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7OztBL0V4OUJKO0UrRSs5Qkk7SUFDSTs7RUFHSjtJQUNJOztFQUdKO0lBQ0k7OztBQU1aO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUlSO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBL0Vwa0NaO0UrRTJrQ0E7SUFDSTs7RUFJQTtJQUNJOzs7QUFPUjtBQUFBO0VBR0k7RUFDQTs7QUFTSjtFQUNJO0VBQ0E7OztBQUlSO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7RUFFSTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7QUFJUjtBQUFBO0FBQUE7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0FBQUE7QUFBQTtBQUFBO0VBRUk7RUFDQTtFQUNBOzs7QS9FM29DSjtFK0VpcENBO0FBQUE7SUFFSTs7RUFFQTtBQUFBO0FBQUE7QUFBQTtJQUVJOztFQUVBO0FBQUE7QUFBQTtBQUFBO0lBQ0k7O0VBSVI7QUFBQTtBQUFBO0FBQUE7SUFFSTtJQUNBOztFQUdKO0FBQUE7QUFBQTtBQUFBO0lBRUk7O0VBSVI7SUFDSTs7O0FBS0o7RUFDSTs7QUFJQTtFQUNJOztBQUtKO0VBQ0k7OztBQU9SO0FBQUE7RUFFSTtFQUNBOzs7QUFLSjtFQUNJOzs7QS9FL3JDSjtFK0Vvc0NBO0lBQ0k7O0VBRUE7QUFBQTtJQUVJOztFQUdKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdKO0lBQ0k7O0VBR0o7SUFDSTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUNJOztFQUdKO0lBQ0k7O0VBSVI7SUFDSTs7RUFHSjtJQUNJOztFQUlSO0lBQ0k7O0VBS0E7QUFBQTtJQUNJOztFQUlSO0lBQ0k7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJOztBQUVBO0FBQUE7QUFBQTtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTVI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTs7O0FBS0o7RUFDSTs7O0FBSVI7RUFDSTs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJOzs7QUFHSjtFQUNJOzs7QS9FcDJDQTtFK0V3MkNBO0lBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOzs7QUFLWjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7O0FBSVI7RUFFUTtJQUNJO0lBQ0E7OztBQU1SO0VBQ0k7RUFDQTs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7OztBQVFaO0FBQUE7RUFDSTs7O0FBYVI7QUFBQTtBQUFBO0VBR0k7OztBQUdKO0VBQ0k7OztBQ3ZpREo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtFQUVJOztBQUdKO0VBQ0k7OztBQU1SO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQU1JOztBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1SO0VBQ0k7O0FBR0o7RUFDSTs7QUFFQTtFQUdJOztBQUdKO0VBR0k7OztBQUtaO0VBQ0k7RUFDQTs7O0FoRi9DQTtFZ0ZvREk7SUFLSTtJQUNBOztFQUdKO0lBQ0k7O0VBR0o7SUFFSTs7RUFHSjtJQUVJOztFQUtBO0lBQ0k7O0VBSVI7SUFDSTs7RUFLQTtJQUNJOzs7QUNuS2hCO0VBQ0U7O0FBRUU7RXhGOEJBO0VBQ0E7O0F3RjNCRjtFQUNFO0VBQ0E7O0FBQ0E7RUFDRTs7O0FBTUo7RUFDRTs7QWpGMkNBO0VpRjVDRjtJQUlJOzs7QUFHSjtFQUNFOzs7QUN6Qko7RUFDRTs7QUFFQTtFQUNFOzs7QUFJSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUU7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0UsT2pHS29DO0VpR0pwQyxrQmpHSm9DO0VpR0twQyxjakdEb0M7O0FpR0dwQztFQUVFLE9qR0RrQztFaUdFbEMsa0JqR1RrQzs7O0FpR2F0QztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBSUU7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7O0FBR0o7RUFFSTtFQUNBOzs7QUFJTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7O0FBS0Y7RUFDRTs7O0FBSUo7RUFDRSxlakdpQm9DOztBaUdmcEM7RUFDSTtFQUNBO0V6RjVGRjtFQUNBO0VBZkE7RUFDQTs7QXlGOEdGO0VBQ0k7OztBQU1KO0FBQUE7QUFBQTtBQUFBO0VBQ0U7RUFDQSxPakd0SWtDO0VpR3VJbEMsa0JqR2pJa0M7RWlHa0lsQyxjakdwSWtDOztBaUdzSWxDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUUsT2pHNUlnQztFaUc2SWhDLGtCakdySWdDOztBaUd5SXBDO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7RUFDSTtFQUNBOzs7QUFJTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FsRnpIRTtFa0Y2SEY7SUFDRTs7RUFFRjtJQUNFOzs7QUN2TUo7RUFDRSxXbEd1TG9DO0VrR3RMcEM7RUFDQTtFQUNBLGtCbEdhb0M7RWtHWnBDOztBQUdBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBLGtCbEdKZ0M7O0FrR01oQztFQUNFLE9sR1A4QjtFa0dROUI7O0FBS047RUFFRSxPbEdnQmtDO0VrR2ZsQyxrQmxHZWtDOztBa0dibEM7RUFDRSxPM0ZnMkJrQztFMkYvMUJsQyxrQmxHcEJnQzs7QWtHd0JwQztFQUVFLE9sR0VrQztFa0dEbEMsa0JsR0NrQzs7QWtHQ2xDO0VBQ0UsTzNGcTFCa0M7RTJGcDFCbEMsa0JsRy9CZ0M7O0FrR21DcEM7QUFBQTtBQUFBO0FBQUE7RUFFRTtFQUNBLGtCbEd0Q2tDOzs7QW1HakJwQztFQUNFO0VBQ0EsVzVGc25CMEI7RTRGcm5CMUI7RUFDQSxhNUZ3b0IwQjs7QTRGcm9CNUI7RUFDRSxPbkdDa0M7OztBb0dYdEM7RUFDRTtFQUNBO0VBQ0Esa0JwR2dCb0M7RW9HZnBDLGNwR0prQzs7O0FvR1NsQztFQUNFO0VBQ0E7OztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDdkJKO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QXRGcUVBO0VzRjVFSjtJQVdJOzs7O0FDVEo7RUFDRSxrQi9GMmlEa0M7OztBK0Z4aURwQztFQUNFOzs7QUNKQTtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOzs7QUFJSjtFQUNFOzs7QUFJQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7OztBQzlGSjtFQUNJO0VBQ0E7RUFDQSxrQnhHRGdDO0V3R0VoQztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBSUk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTs7QUFLUjtFQUNJOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJOztBQU9aO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0ksa0J4R21Md0I7RXdHbEx4QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0J4R3FLb0I7RXdHcEtwQjs7O0FBTWhCO0VBQ0k7RUFDQSxZeEdoRGtDO0V3R2lEbEM7RUFDQSxjeEdyRWdDO0V3R3NFaEM7RUFDQSxZeEd0RWdDOzs7QXdHeUVwQztFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoR3pESjtFQUNBOztBZ0cyREk7RUFFSSxjakd5akN3QjtFaUd2akN4Qjs7QUFHSjtFQUNJLE9qRzZpQ3dCO0VpRzVpQ3hCO0VBQ0E7O0FBSVI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFFSSxPakc0aUM0QjtFaUczaUM1QixrQmpHNGlDNEI7RWlHM2lDNUIsY2pHNGlDNEI7OztBaUd4aUNwQztFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBR0k7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQU1oQjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSTs7O0FDOU1oQjtFQUNFOzs7QUNDQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtBQUFBO0VBRUU7O0FBRUE7QUFBQTtFQUNFOzs7QUFRSjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7O0FDNUJKO0VBQ0UsVzNHeUxvQztFMkd4THBDLFdwR2dtQjRCO0VvRy9sQjVCO0FBK0NBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUE3Q0E7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBLE9wR3kzQm9DO0VvR3gzQnBDO0VBQ0E7RUFDQSxpQjNHZ0xnQztFMkcvS2hDO0VBQ0E7RUFDQTtFbkdGQTs7QW1HS0E7RUFDRTs7QUFHRjtFQUVFLGNwR28zQmtDO0VvR24zQmxDOztBQUdGO0VBRUU7RUFDQSxrQnBHZzJCa0M7O0FvRzcxQnBDO0VBQ0U7O0FBSUo7RUFDRSxZM0d6QmtDO0UyRzBCbEM7O0FBR0Y7RUFDRTs7O0FBWUY7RUFDRSxXM0c4SGtDO0UyRzdIbEM7RUFDQSxXcEdvaUIwQjtFb0duaUIxQixhcEdpakIwQjtFb0doakIxQixrQjNHL0NrQzs7QTJHaURsQztFQUdFO0VBQ0EsTzNHckRnQztFMkdzRGhDO0VBQ0E7RUFDQSxZM0cxRThCO0UyRzZFNUIsZXBHNnpCZ0M7O0FvR3h6QmxDO0VBQ0U7RUFDQTtFQUNBLE9BakJ5QjtFQWtCekI7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLFdwR3NnQm9CO0VvR3JnQnBCLE8zRzVFNEI7RTJHNkU1Qjs7O0FBT1Y7RUFDRTs7O0FBSUY7RUFDRTs7O0FBS0Y7RUFDRTs7QUFFQTtFQUNFOzs7QUN0SEo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBRUE7RUFDRTs7O0FDVEo7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQ1RGO0VBQ0U7O0FBR0Y7RUFDRTtFdEdVQTs7QXNHTkY7QUFBQTtFQUVFLFk5R09rQzs7O0E4R0Z0QztFQUNFOzs7QUMyQ0Y7RUFFSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUlBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0UiLCJmaWxlIjoidGVtcGxhdGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR2xvYmFsXG4kbmVvdGVyaWMtY29udGFpbmVyLW1haW4tYmc6ICAgICAgICBoc2woMCwgMCUsIDk1JSkgIWRlZmF1bHQ7XG4kbmVvdGVyaWMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICBoc2woMjEwLCAxNCUsIDg5JSkgIWRlZmF1bHQ7XG4kbmVvdGVyaWMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAxcHggMXB4IDRweCBoc2xhKDAsIDAlLCAwJSwgLjEpICFkZWZhdWx0O1xuJG5lb3RlcmljLWJsb2NrLWhlYWRlci1iZzogICAgICAgICAgaHNsKDAsIDAlLCA5NiUpICFkZWZhdWx0O1xuJG5lb3RlcmljLWhlYWRlci1ncmFkOiAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbmVvdGVyaWMtY29sb3ItcHJpbWFyeSkgMCUsIHZhcigtLXRlbXBsYXRlLWxpbmstaG92ZXItY29sb3IpIDEwMCUpICFkZWZhdWx0O1xuJG5lb3RlcmljLWhlYWRlci1ncmFkLXJ0bDogICAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tdGVtcGxhdGUtbGluay1ob3Zlci1jb2xvcikgMCUsIHZhcigtLW5lb3RlcmljLWNvbG9yLXByaW1hcnkpIDEwMCUpICFkZWZhdWx0O1xuJG5lb3RlcmljLWludmVydGVkLXRleHQtY29sb3I6ICAgICAgdmFyKC0tdGVtcGxhdGUtbGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vIENvbG9yIHN5c3RlbVxuXG4vLyBTdGFuZGFyZFxuJHN0YW5kYXJkLWNvbG9yLXByaW1hcnk6ICAgICAgICAgICAgICBoc2woMjIwLCA2NyUsIDIwJSkgIWRlZmF1bHQ7XG4kc3RhbmRhcmQtY29sb3ItbGluazogICAgICAgICAgICAgICAgIGhzbCgyMjAsIDY3JSwgNDAlKSAhZGVmYXVsdDtcbiRzdGFuZGFyZC1jb2xvci1ob3ZlcjogICAgICAgICAgICAgICAgaHNsKDI0MiwgMzAlLCAzNiUpICFkZWZhdWx0O1xuXG4vLyBBbHRlcm5hdGl2ZVxuJGFsdGVybmF0aXZlLWNvbG9yLXByaW1hcnk6ICAgICAgICAgICBoc2woMzUxLCA1NCUsIDM3JSkgIWRlZmF1bHQ7XG4kYWx0ZXJuYXRpdmUtY29sb3ItbGluazogICAgICAgICAgICAgIGhzbCgyMDcsIDQ5JSwgMzclKSAhZGVmYXVsdDtcbiRhbHRlcm5hdGl2ZS1jb2xvci1ob3ZlcjogICAgICAgICAgICAgaHNsKDM1MSwgMzMlLCA0NCUpICFkZWZhdWx0O1xuXG4kd2hpdGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgwLCAwJSwgMTAwJSkgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgyMTAsIDE3JSwgOTglKSAhZGVmYXVsdDtcbiRncmF5LTIwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDIxMCwgMTYlLCA5MyUpICFkZWZhdWx0O1xuJGdyYXktMzAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMjEwLCAxNCUsIDg5JSkgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgyMTAsIDE0JSwgODMlKSAhZGVmYXVsdDtcbiRncmF5LTUwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDIxMCwgMTElLCA3MSUpICFkZWZhdWx0O1xuJGdyYXktNjAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMjEwLCA3JSwgNDYlKSAhZGVmYXVsdDtcbiRncmF5LTcwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDIxMCwgOSUsIDMxJSkgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgyMTAsIDEwJSwgMjMlKSAhZGVmYXVsdDtcbiRncmF5LTkwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDIxMCwgMTElLCAxNSUpICFkZWZhdWx0O1xuJGJsYWNrOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMCwgMCUsIDAlKSAhZGVmYXVsdDtcblxuJGdyYXlzOiAoXG4gIDEwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTEwMCxcbiAgMjAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwLFxuICAzMDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0zMDAsXG4gIDQwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCxcbiAgNTAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNTAwLFxuICA2MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS02MDAsXG4gIDcwMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMCxcbiAgODAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktODAwLFxuICA5MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDBcbikgIWRlZmF1bHQ7XG5cbiRibHVlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDI0MCwgOTglLCAxNyUpICFkZWZhdWx0O1xuJGluZGlnbzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMjYzLCA5MCUsIDUxJSkgIWRlZmF1bHQ7XG4kcHVycGxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgyNjEsIDUxJSwgNTElKSAhZGVmYXVsdDtcbiRwaW5rOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDMzMiwgNzklLCA1OCUpICFkZWZhdWx0O1xuJHJlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMywgNzUlLCAzNyUpICFkZWZhdWx0O1xuJG9yYW5nZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMjcsIDk4JSwgNTQlKSAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDM0LCAxMDAlLCAzNCUpICFkZWZhdWx0O1xuJGdyZWVuOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc2woMTIwLCAzMiUsIDM5JSkgIWRlZmF1bHQ7XG4kdGVhbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCgxOTQsIDY2JSwgNjElKSAhZGVmYXVsdDtcbiRjeWFuOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKDIwNywgNDklLCAzNyUpICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoXG4gIFwiYmx1ZVwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJsdWUsXG4gIFwiaW5kaWdvXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGluZGlnbyxcbiAgXCJwdXJwbGVcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rLFxuICBcInJlZFwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWQsXG4gIFwib3JhbmdlXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICAgICAgICAgICAgICAgICAgICAgICAkeWVsbG93LFxuICBcImdyZWVuXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmVlbixcbiAgXCJ0ZWFsXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3lhbixcbiAgXCJ3aGl0ZVwiOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGVcbikgIWRlZmF1bHQ7XG5cbiRwcmltYXJ5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6IChcbiAgcHJpbWFyeTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJsdWUsXG4gIHNlY29uZGFyeTogICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmRhcnksXG4gIHN1Y2Nlc3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdWNjZXNzLFxuICBpbmZvOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5mbyxcbiAgd2FybmluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdhcm5pbmcsXG4gIGRhbmdlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkYW5nZXIsXG4gIGxpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodCxcbiAgZGFyazogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRhcmtcbikgIWRlZmF1bHQ7XG5cbiRjb2xvcnM6IChcbiAgY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuNyksXG4gIGJsdWVncmF5OiAgICAgICAgICAgICAgICAgICAgICAgICNiMmJmY2QsXG4gIGxpZ2h0Ymx1ZWdyYXk6ICAgICAgICAgICAgICAgICAgICNmNmY5ZmMsXG4gIHRvb2xiYXItYmc6ICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSxcbiAgc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgICAgICAgdmFyKC0tc3VjY2VzcyksXG4gIGluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLWluZm8pLFxuICB3YXJuaW5nLWJvcmRlcjogICAgICAgICAgICAgICAgICB2YXIoLS13YXJuaW5nKSxcbiAgZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgdmFyKC0tZGFuZ2VyKSxcbiAgYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwLFxuICBcIndoaXRlXCI6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSwgLy8gdGhlIGtleSBoZXJlIG11c3QgYmUgaW4gcXVvdGVzIHRvIGF2b2lkIHNjc3MgY29tcGlsYXRpb24gd2FybmluZ3MuXG4gIHdoaXRlLW9mZnNldDogICAgICAgICAgICAgICAgICAgICNmZWZlZmUsXG4gIGZvY3VzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICMzOWYsXG4gIGZvY3VzLXNoYWRvdzogICAgICAgICAgICAgICAgICAgIDAgMCAwIC4ycmVtICNlYWVhZWEsXG4gIHRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICR3aGl0ZSwgLy91c2VkIGluIHNpZGViYXJcbikgIWRlZmF1bHQ7XG5cbiR0ZW1wbGF0ZS1jb2xvcnM6IChcbiAgdGVtcGxhdGUtYmctbGlnaHQ6ICAgICAgICAgICAgICAgICAgICNmMGY0ZmIsIC8vbGlnaHQgYmFja2dyb3VuZCBjb2xvciwgZnJvbnRlbmQgZGFzaGJvYXJkIGJhY2tncm91bmRcbiAgdGVtcGxhdGUtdGV4dC1saWdodDogICAgICAgICAgICAgICAgICR3aGl0ZSxcbiAgdGVtcGxhdGUtc3BlY2lhbC1jb2xvcjogICAgICAgICAgICAgICMxMzJmNTMsXG4gIHRlbXBsYXRlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAjMmE2OWI4LFxuICB0ZW1wbGF0ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgZGFya2VuKCMyYTY5YjgsIDIwJSksXG4gIHRlbXBsYXRlLWNvbnRyYXN0OiAgICAgICAgICAgICAgICAgICAjMmE2OWI4LFxuICB0ZW1wbGF0ZS1iZy1kYXJrOiAgICAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgMjAlKSxcbiAgdGVtcGxhdGUtYmctZGFyay0zOiAgICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDk3JSksXG4gIHRlbXBsYXRlLWJnLWRhcmstNTogICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCA5NSUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTc6ICAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgOTMlKSxcbiAgdGVtcGxhdGUtYmctZGFyay0xMDogICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDkwJSksXG4gIHRlbXBsYXRlLWJnLWRhcmstMTU6ICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCA4NSUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTIwOiAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgODAlKSxcbiAgdGVtcGxhdGUtYmctZGFyay0zMDogICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDcwJSksXG4gIHRlbXBsYXRlLWJnLWRhcmstNDA6ICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCA2MCUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTUwOiAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgNTAlKSxcbiAgdGVtcGxhdGUtYmctZGFyay02MDogICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDQwJSksXG4gIHRlbXBsYXRlLWJnLWRhcmstNjU6ICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCAzNSUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTcwOiAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgMzAlKSxcbiAgdGVtcGxhdGUtYmctZGFyay03NTogICAgICAgICAgICAgICAgIGhzbCh2YXIoLS1odWUpLCA0MCUsIDI1JSksXG4gIHRlbXBsYXRlLWJnLWRhcmstODA6ICAgICAgICAgICAgICAgICBoc2wodmFyKC0taHVlKSwgNDAlLCAyMCUpLFxuICB0ZW1wbGF0ZS1iZy1kYXJrLTkwOiAgICAgICAgICAgICAgICAgaHNsKHZhcigtLWh1ZSksIDQwJSwgMTAlKSxcbikgIWRlZmF1bHQ7XG5cbiRncmF5LXRleHQtY29sb3JzOiAoXG4gIGdyYXktMTAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCh2YXIoLS10ZXh0LWh1ZSwgMjEwKSwgMTclLCA5OCUpLFxuICBncmF5LTIwMDogICAgICAgICAgICAgICAgICAgICAgICAgICBoc2wodmFyKC0tdGV4dC1odWUsIDIxMCksIDE2JSwgOTMlKSxcbiAgZ3JheS0zMDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKHZhcigtLXRleHQtaHVlLCAyMTApLCAxNCUsIDg5JSksXG4gIGdyYXktNDAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCh2YXIoLS10ZXh0LWh1ZSwgMjEwKSwgMTQlLCA4MyUpLFxuICBncmF5LTUwMDogICAgICAgICAgICAgICAgICAgICAgICAgICBoc2wodmFyKC0tdGV4dC1odWUsIDIxMCksIDExJSwgNzElKSxcbiAgZ3JheS02MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKHZhcigtLXRleHQtaHVlLCAyMTApLCA3JSwgNDYlKSxcbiAgZ3JheS03MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKHZhcigtLXRleHQtaHVlLCAyMTApLCA5JSwgMzElKSxcbiAgZ3JheS04MDA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHNsKHZhcigtLXRleHQtaHVlLCAyMTApLCAxMCUsIDIzJSksXG4gIGdyYXktOTAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzbCh2YXIoLS10ZXh0LWh1ZSwgMjEwKSwgMTElLCAxNSUpLFxuICBwcmltYXJ5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKSxcbiAgbmVvdGVyaWMtY29sb3ItcHJpbWFyeTogICAgICAgICAgICAgdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvciksXG4pICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkc3RhbmRhcmQtY29sb3ItbGluayAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJHN0YW5kYXJkLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xuXG4vLyBCcmVhZGNydW1ic1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbi8vIEdyaWQgY29sdW1uc1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAyZW0gIWRlZmF1bHQ7XG4kbmVvdGVyaWMtZ3JpZC1ndXR0ZXI6ICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuLy8gQ29tcG9uZW50c1xuJGZhLWZvbnQtcGF0aDogICAgICAgICAgICAgICAgICAgICAgICBcIi4uLy4uLy4uL21lZGlhL3ZlbmRvci9mb250YXdlc29tZS1mcmVlL3dlYmZvbnRzXCIgIWRlZmF1bHQ7XG5cbi8vIFRyZWVzZWxlY3RcbiR0cmVlc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgMi4ycmVtICFkZWZhdWx0O1xuXG4vLyBNZXRpc01lbnVcbiRtZXRpc21lbnU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuLy8gVG9vbGJhclxuJG5lb3RlcmljLXRvb2xiYXItbGluZS1oZWlnaHQ6ICAgICAgICAxLjhyZW0gIWRlZmF1bHQ7XG5cbi8vIFR5cG9ncmFwaHlcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgICAgICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAgICAgICAgIHZhcigtLW5lb3RlcmljLWZvbnQtZmFtaWx5LWJvZHksICRmb250LWZhbWlseS1zYW5zLXNlcmlmKSAhZGVmYXVsdDtcbiRmb250LXNpemUtcm9vdDogICAgICAgICAgICAgICAgICAgICAgMTRweDtcbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tbmVvdGVyaWMtZm9udC13ZWlnaHQtbm9ybWFsLCA0MDApICFkZWZhdWx0O1xuXG4vLyBJY29uc1xuJGppY29uLWNzcy1wcmVmaXg6ICAgICAgICAgICAgICAgICAgICBpY29uICFkZWZhdWx0O1xuJGZhLWNzcy1wcmVmaXg6ICAgICAgICAgICAgICAgICAgICAgICBmYSAhZGVmYXVsdDtcblxuLy8gVGFibGVzXG4kdGFibGUtYmctc2NhbGU6ICAgICAgICAgICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7XG5cbi8vIEZvcm1zXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgLjZyZW0gMXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjZyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAgIC43cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAgIDNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAxMTZyZW0gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZS1zbTogICAgICAgICAgICA3NXJlbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgIHVybChcIi4uL2ltYWdlcy9zZWxlY3QtYmcuc3ZnXCIpICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1ydGw6ICAgICAgICAgdXJsKFwiLi4vaW1hZ2VzL3NlbGVjdC1iZy1ydGwuc3ZnXCIpICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1hY3RpdmU6ICAgICAgdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL3NlbGVjdC1iZy5zdmdcIikgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWFjdGl2ZS1ydGw6ICB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvc2VsZWN0LWJnLXJ0bC5zdmdcIikgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmFja2dyb3VuZDogICAgICAgICAgICAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yIG5vLXJlcGVhdCByaWdodCBjZW50ZXIgLyAkZm9ybS1zZWxlY3QtYmctc2l6ZSAhZGVmYXVsdDsgLy8gVXNlZCBzbyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBiYWNrZ3JvdW5kIGVsZW1lbnRzIChlLmcuLCBhcnJvdyBhbmQgZmVlZGJhY2sgaWNvbilcbiRmb3JtLXNlbGVjdC1iYWNrZ3JvdW5kLXJ0bDogICAgICAgICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcnRsIG5vLXJlcGVhdCBsZWZ0IGNlbnRlciAvICRmb3JtLXNlbGVjdC1iZy1zaXplICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuJGZvcm0tc2VsZWN0LW11bHRpcGxlLXBhZGRpbmcteTogICAgLjNyZW0gIWRlZmF1bHQ7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3RcbiR6aW5kZXgtbmVnYXRpdmU6ICAgICAgICAgICAgICAgICAgICAgLTEgIWRlZmF1bHQ7XG4kemluZGV4LWFjdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgIGF1dG8gIWRlZmF1bHQ7XG4kemluZGV4LXRvb2xiYXI6ICAgICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXNpZGViYXI6ICAgICAgICAgICAgICAgICAgICAgIDEwMTAgIWRlZmF1bHQ7XG4kemluZGV4LWhlYWRlcjogICAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWFsZXJ0czogICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vYmlsZS1ib3R0b206ICAgICAgICAgICAgICAgIDgwMDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vYmlsZS10b2dnbGU6ICAgICAgICAgICAgICAgIDk5OTkgIWRlZmF1bHQ7XG4kemluZGV4LW1vYmlsZS1tZW51OiAgICAgICAgICAgICAgICAgIDkwMDAgIWRlZmF1bHQ7XG5cbi8vIE5hdnNcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIE5hdnNcbiRuZW90ZXJpYy10YWJzLWhlYWRlci1iZzogICAgICAgICAgICRuZW90ZXJpYy1ibG9jay1oZWFkZXItYmcgIWRlZmF1bHQ7XG4kbmVvdGVyaWMtdGFicy1hY3RpdmUtYmc6ICAgICAgICAgICBoc2xhKDAsIDAlLCAwJSwgLjMpICFkZWZhdWx0O1xuJG5lb3RlcmljLXRhYnMtYWN0aXZlLWhpZ2hsaWdodDogICAgdmFyKC0tbmVvdGVyaWMtY29sb3ItcHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhclxuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAxLjVyZW0gKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcblxuLy8gQ2FyZHNcbiRuZW90ZXJpYy1jYXJkLXRpdGxlLWJnOiAgICAgICAgICAgICRuZW90ZXJpYy1ibG9jay1oZWFkZXItYmcgIWRlZmF1bHQ7XG4kbmVvdGVyaWMtY2FyZC10aXRsZS1pY29uLWJnOiAgICAgICAkbmVvdGVyaWMtYmxvY2staGVhZGVyLWJnICFkZWZhdWx0O1xuJG5lb3RlcmljLWNhcmQtdGl0bGUtaWNvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJG5lb3RlcmljLWNhcmQtdGl0bGUtYmcsICRsaWdodG5lc3M6IDIlKSAhZGVmYXVsdDtcbiRjYXJkLWJnLWNvbG9yLWxpZ2h0OiAgICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGNhcmQtYmctY29sb3ItZGFyazogICAgICAgICAgICAgICAgICB2YXIoLS1uZW90ZXJpYy1jb2xvci1wcmltYXJ5KSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJG5lb3RlcmljLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8gQmFkZ2VzXG4kYmFkZ2UtZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuLy8gTW9kYWxzXG4kbW9kYWwtaGVhZGVyLWhlaWdodDogICAgICAgICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsZXJ0c1xuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICAgICRzdWNjZXNzICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgICAgICBzY2FsZS1jb2xvcigkc3VjY2VzcywgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWluZm8tdGV4dDogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAgICAgICRpbmZvICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICAgICBzY2FsZS1jb2xvcigkaW5mbywgJGxpZ2h0bmVzczogLTclKSAhZGVmYXVsdDtcblxuJHN0YXRlLXdhcm5pbmctdGV4dDogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAgICAgICR3YXJuaW5nICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICAgICBzY2FsZS1jb2xvcigkd2FybmluZywgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICRkYW5nZXIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAgICAgIHNjYWxlLWNvbG9yKCRkYW5nZXIsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG5cbi8vIE1hcmsgZWxlbWVudFxuJG1hcmstYmc6ICNmYmVlYTggIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgIDAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgICAgMC4ycmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICAgIDAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgICAgICAgICAwLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy0yeGw6ICAgICAgICAgICAgICAgICAgMC4zcmVtICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgIDAgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiAgMCAhZGVmYXVsdDtcbi8qXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4qL1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuXG4vLyBjaGFuZ2UgYm9yZGVyIHdpZHRoXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS1ncmF5LTYwMCk7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLWdyYXktOTAwKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIHZhcigtLWdyYXktODAwKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgIHZhcigtLWdyYXktMjAwKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb250cmFzdC1jb2xvcikgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDsiLCIvLyBVdGlsaXRpZXNcblxuLy8gS2VlcCBCL0Ncbi5lbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xufVxuXG4uaGlkZSxcbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi50YWJsZS1yb3cge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG59XG5cbmpvb21sYS1hbGVydCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5lZGl0b3IteHRkLWJ1dHRvbnMgLmJ0biB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuJHV0aWxpdGllczogbWFwLW1lcmdlKFxuICAkdXRpbGl0aWVzLCAoXG4gICAgXCJpbnNldFwiOiAoXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcHJvcGVydHk6IGluc2V0LFxuICAgICAgY2xhc3M6IGluc2V0LFxuICAgICAgdmFsdWVzOiBtYXAtbWVyZ2UoJHNwYWNlcnMsIChhdXRvOiBhdXRvKSlcbiAgICApXG4gIClcbik7XG4iLCJAbWl4aW4gYnNCYW5uZXIoJGZpbGUpIHtcbiAgLyohXG4gICAqIEJvb3RzdHJhcCAjeyRmaWxlfSB2NS4zLjggKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pXG4gICAqIENvcHlyaWdodCAyMDExLTIwMjUgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4gICAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKVxuICAgKi9cbn1cbiIsIjpyb290LFxuW2RhdGEtYnMtdGhlbWU9XCJsaWdodFwiXSB7XG4gIC8vIE5vdGU6IEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuXG4gIC8vIENvbG9yc1xuICAvL1xuICAvLyBHZW5lcmF0ZSBwYWxldHRlcyBmb3IgZnVsbCBjb2xvcnMsIGdyYXlzLCBhbmQgdGhlbWUgY29sb3JzLlxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXlzIHtcbiAgICAtLSN7JHByZWZpeH1ncmF5LSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cblxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzLXJnYiB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYjogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy10ZXh0IHtcbiAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tdGV4dC1lbXBoYXNpczogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1iZy1zdWJ0bGUge1xuICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS1iZy1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZSB7XG4gICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJvcmRlci1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC0tI3skcHJlZml4fXdoaXRlLXJnYjogI3t0by1yZ2IoJHdoaXRlKX07XG4gIC0tI3skcHJlZml4fWJsYWNrLXJnYjogI3t0by1yZ2IoJGJsYWNrKX07XG5cbiAgLy8gRm9udHNcblxuICAvLyBOb3RlOiBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS0jeyRwcmVmaXh9Zm9udC1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG4gIC0tI3skcHJlZml4fWdyYWRpZW50OiAjeyRncmFkaWVudH07XG5cbiAgLy8gUm9vdCBhbmQgYm9keVxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuICBAaWYgJGZvbnQtc2l6ZS1yb290ICE9IG51bGwge1xuICAgIC0tI3skcHJlZml4fXJvb3QtZm9udC1zaXplOiAjeyRmb250LXNpemUtcm9vdH07XG4gIH1cbiAgLS0jeyRwcmVmaXh9Ym9keS1mb250LWZhbWlseTogI3tpbnNwZWN0KCRmb250LWZhbWlseS1iYXNlKX07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLWJhc2UsIC0tI3skcHJlZml4fWJvZHktZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtYmFzZX07XG4gIC0tI3skcHJlZml4fWJvZHktbGluZS1oZWlnaHQ6ICN7JGxpbmUtaGVpZ2h0LWJhc2V9O1xuICBAaWYgJGJvZHktdGV4dC1hbGlnbiAhPSBudWxsIHtcbiAgICAtLSN7JHByZWZpeH1ib2R5LXRleHQtYWxpZ246ICN7JGJvZHktdGV4dC1hbGlnbn07XG4gIH1cblxuICAtLSN7JHByZWZpeH1ib2R5LWNvbG9yOiAjeyRib2R5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJvZHktYmc6ICN7JGJvZHktYmd9O1xuICAtLSN7JHByZWZpeH1ib2R5LWJnLXJnYjogI3t0by1yZ2IoJGJvZHktYmcpfTtcblxuICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcjogI3skYm9keS1lbXBoYXNpcy1jb2xvcn07XG4gIC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktZW1waGFzaXMtY29sb3IpfTtcblxuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3I6ICN7JGJvZHktc2Vjb25kYXJ5LWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWNvbG9yKX07XG4gIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZzogI3skYm9keS1zZWNvbmRhcnktYmd9O1xuICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmctcmdiOiAje3RvLXJnYigkYm9keS1zZWNvbmRhcnktYmcpfTtcblxuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcjogI3skYm9keS10ZXJ0aWFyeS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktdGVydGlhcnktY29sb3IpfTtcbiAgLS0jeyRwcmVmaXh9dGVydGlhcnktYmc6ICN7JGJvZHktdGVydGlhcnktYmd9O1xuICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWJnKX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1ib2R5LXZhcmlhYmxlc1xuXG4gIC0tI3skcHJlZml4fWhlYWRpbmctY29sb3I6ICN7JGhlYWRpbmdzLWNvbG9yfTtcblxuICAtLSN7JHByZWZpeH1saW5rLWNvbG9yOiAjeyRsaW5rLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWNvbG9yKX07XG4gIC0tI3skcHJlZml4fWxpbmstZGVjb3JhdGlvbjogI3skbGluay1kZWNvcmF0aW9ufTtcblxuICAtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yOiAjeyRsaW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvci1yZ2I6ICN7dG8tcmdiKCRsaW5rLWhvdmVyLWNvbG9yKX07XG5cbiAgQGlmICRsaW5rLWhvdmVyLWRlY29yYXRpb24gIT0gbnVsbCB7XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1kZWNvcmF0aW9uOiAjeyRsaW5rLWhvdmVyLWRlY29yYXRpb259O1xuICB9XG5cbiAgLS0jeyRwcmVmaXh9Y29kZS1jb2xvcjogI3skY29kZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcjogI3skbWFyay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWhpZ2hsaWdodC1iZzogI3skbWFyay1iZ307XG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHJvb3QtYm9yZGVyLXZhclxuICAtLSN7JHByZWZpeH1ib3JkZXItd2lkdGg6ICN7JGJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1zdHlsZTogI3skYm9yZGVyLXN0eWxlfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yOiAjeyRib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudH07XG5cbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc206ICN7JGJvcmRlci1yYWRpdXMtc219O1xuICAtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnOiAjeyRib3JkZXItcmFkaXVzLWxnfTtcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14bDogI3skYm9yZGVyLXJhZGl1cy14bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMteHhsOiAjeyRib3JkZXItcmFkaXVzLXh4bH07XG4gIC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtMnhsOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy14eGwpOyAvLyBEZXByZWNhdGVkIGluIHY1LjMuMCBmb3IgY29uc2lzdGVuY3lcbiAgLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1waWxsOiAjeyRib3JkZXItcmFkaXVzLXBpbGx9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtYm9yZGVyLXZhclxuXG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3c6ICN7JGJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtOiAjeyRib3gtc2hhZG93LXNtfTtcbiAgLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1sZzogI3skYm94LXNoYWRvdy1sZ307XG4gIC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQ6ICN7JGJveC1zaGFkb3ctaW5zZXR9O1xuXG4gIC8vIEZvY3VzIHN0eWxlc1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1mb2N1cy12YXJpYWJsZXNcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy13aWR0aDogI3skZm9jdXMtcmluZy13aWR0aH07XG4gIC0tI3skcHJlZml4fWZvY3VzLXJpbmctb3BhY2l0eTogI3skZm9jdXMtcmluZy1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1jb2xvcjogI3skZm9jdXMtcmluZy1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgcm9vdC1mb2N1cy12YXJpYWJsZXNcblxuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1mb3JtLXZhbGlkYXRpb24tdmFyaWFibGVzXG4gIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3I6ICN7JGZvcm0tdmFsaWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogI3skZm9ybS12YWxpZC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtY29sb3I6ICN7JGZvcm0taW52YWxpZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0taW52YWxpZC1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHJvb3QtZm9ybS12YWxpZGF0aW9uLXZhcmlhYmxlc1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICBjb2xvci1zY2hlbWU6IGRhcms7XG5cbiAgICAvLyBzY3NzLWRvY3Mtc3RhcnQgcm9vdC1kYXJrLW1vZGUtdmFyc1xuICAgIC0tI3skcHJlZml4fWJvZHktY29sb3I6ICN7JGJvZHktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1ib2R5LWJnOiAjeyRib2R5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWJvZHktYmctcmdiOiAje3RvLXJnYigkYm9keS1iZy1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcjogI3skYm9keS1lbXBoYXNpcy1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LWVtcGhhc2lzLWNvbG9yLWRhcmspfTtcblxuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcjogI3skYm9keS1zZWNvbmRhcnktY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yLXJnYjogI3t0by1yZ2IoJGJvZHktc2Vjb25kYXJ5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH1zZWNvbmRhcnktYmc6ICN7JGJvZHktc2Vjb25kYXJ5LWJnLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fXNlY29uZGFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXNlY29uZGFyeS1iZy1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcjogI3skYm9keS10ZXJ0aWFyeS1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvci1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcmspfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZzogI3skYm9keS10ZXJ0aWFyeS1iZy1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZy1yZ2I6ICN7dG8tcmdiKCRib2R5LXRlcnRpYXJ5LWJnLWRhcmspfTtcblxuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMtdGV4dC1kYXJrIHtcbiAgICAgIC0tI3skcHJlZml4fSN7JGNvbG9yfS10ZXh0LWVtcGhhc2lzOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1iZy1zdWJ0bGUtZGFyayB7XG4gICAgICAtLSN7JHByZWZpeH0jeyRjb2xvcn0tYmctc3VidGxlOiAjeyR2YWx1ZX07XG4gICAgfVxuXG4gICAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycy1ib3JkZXItc3VidGxlLWRhcmsge1xuICAgICAgLS0jeyRwcmVmaXh9I3skY29sb3J9LWJvcmRlci1zdWJ0bGU6ICN7JHZhbHVlfTtcbiAgICB9XG5cbiAgICAtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yOiAjeyRoZWFkaW5ncy1jb2xvci1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWxpbmstY29sb3I6ICN7JGxpbmstY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcjogI3skbGluay1ob3Zlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogI3t0by1yZ2IoJGxpbmstY29sb3ItZGFyayl9O1xuICAgIC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiOiAje3RvLXJnYigkbGluay1ob3Zlci1jb2xvci1kYXJrKX07XG5cbiAgICAtLSN7JHByZWZpeH1jb2RlLWNvbG9yOiAjeyRjb2RlLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWhpZ2hsaWdodC1jb2xvcjogI3skbWFyay1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1oaWdobGlnaHQtYmc6ICN7JG1hcmstYmctZGFya307XG5cbiAgICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3I6ICN7JGJvcmRlci1jb2xvci1kYXJrfTtcbiAgICAtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICN7JGJvcmRlci1jb2xvci10cmFuc2x1Y2VudC1kYXJrfTtcblxuICAgIC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3I6ICN7JGZvcm0tdmFsaWQtY29sb3ItZGFya307XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvcjogI3skZm9ybS1pbnZhbGlkLWNvbG9yLWRhcmt9O1xuICAgIC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICN7JGZvcm0taW52YWxpZC1ib3JkZXItY29sb3ItZGFya307XG4gICAgLy8gc2Nzcy1kb2NzLWVuZCByb290LWRhcmstbW9kZS12YXJzXG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZGltZW5zaW9uLW5vLW5vbi1udW1lcmljLXZhbHVlc1xuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsIGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSByZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIGFuZCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBweCB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcmVtIGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHB4LCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXNwb25zaXZlIHZhbHVlIGNhbGN1bGF0ZWQgYnkgUkZTXG5AZnVuY3Rpb24gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgIEBpZiBub3QgJHVuaXQgb3IgJHVuaXQgIT0gcHggYW5kICR1bml0ICE9IHJlbSB7XG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICR2YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG4gICAgICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIGlmKCR1bml0ID09IHB4LCAxLCBkaXZpZGUoMSwgJHJmcy1yZW0tdmFsdWUpKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyBkaXZpZGUoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBhYnMoJHZhbHVlKSAtICR2YWx1ZS1taW47XG5cbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCR2YWx1ZS1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIGNhbGMoXCIgKyAkbWluLXdpZHRoICsgaWYoJHZhbHVlIDwgMCwgXCIgLSBcIiwgXCIgKyBcIikgKyAkdmFyaWFibGUtd2lkdGggKyBcIilcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gUkZTIG1peGluXG5AbWl4aW4gcmZzKCR2YWx1ZXMsICRwcm9wZXJ0eTogZm9udC1zaXplKSB7XG4gIEBpZiAkdmFsdWVzICE9IG51bGwge1xuICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWVzKTtcbiAgICAkZmx1aWQtdmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkLXZhbCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIF9yZnMtcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJHZhbCwgJGZsdWlkLXZhbCk7XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICRmbHVpZC12YWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cbiIsIi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci1tb2RlLW1peGluXG5AbWl4aW4gY29sb3ItbW9kZSgkbW9kZTogbGlnaHQsICRyb290OiBmYWxzZSkge1xuICBAaWYgJGNvbG9yLW1vZGUtdHlwZSA9PSBcIm1lZGlhLXF1ZXJ5XCIge1xuICAgIEBpZiAkcm9vdCA9PSB0cnVlIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ICRtb2RlKSB7XG4gICAgICAgIDpyb290IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogJG1vZGUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBbZGF0YS1icy10aGVtZT1cIiN7JG1vZGV9XCJdIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci1tb2RlLW1peGluXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuLy8gUm9vdFxuLy9cbi8vIEFiaWxpdHkgdG8gdGhlIHZhbHVlIG9mIHRoZSByb290IGZvbnQgc2l6ZXMsIGFmZmVjdGluZyB0aGUgdmFsdWUgb2YgYHJlbWAuXG4vLyBudWxsIGJ5IGRlZmF1bHQsIHRodXMgbm90aGluZyBpcyBnZW5lcmF0ZWQuXG5cbjpyb290IHtcbiAgQGlmICRmb250LXNpemUtcm9vdCAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXJvb3QtZm9udC1zaXplKSk7XG4gIH1cblxuICBAaWYgJGVuYWJsZS1zbW9vdGgtc2Nyb2xsIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbi8vIDQuIENoYW5nZSB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcmVib290LWJvZHktcnVsZXNcbmJvZHkge1xuICBtYXJnaW46IDA7IC8vIDFcbiAgZm9udC1mYW1pbHk6IHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtZmFtaWx5KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1ib2R5LWZvbnQtc2l6ZSkpO1xuICBmb250LXdlaWdodDogdmFyKC0tI3skcHJlZml4fWJvZHktZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fWJvZHktbGluZS1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB0ZXh0LWFsaWduOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS10ZXh0LWFsaWduKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktYmcpOyAvLyAyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gM1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNFxufVxuLy8gc2Nzcy1kb2NzLWVuZCByZWJvb3QtYm9keS1ydWxlc1xuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBSZXNldCBGaXJlZm94J3MgZ3JheSBjb2xvclxuXG5ociB7XG4gIG1hcmdpbjogJGhyLW1hcmdpbi15IDA7XG4gIGNvbG9yOiAkaHItY29sb3I7IC8vIDFcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG4gIG9wYWNpdHk6ICRoci1vcGFjaXR5O1xufVxuXG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyAxLiBSZW1vdmUgdG9wIG1hcmdpbnMgZnJvbSBoZWFkaW5nc1xuLy8gICAgQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vICAgIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cblxuJWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXN0eWxlOiAkaGVhZGluZ3MtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oZWFkaW5nLWNvbG9yKTtcbn1cblxuaDEge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG59XG5cbmgyIHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xufVxuXG5oMyB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbn1cblxuaDQge1xuICBAZXh0ZW5kICVoZWFkaW5nO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG59XG5cbmg1IHtcbiAgQGV4dGVuZCAlaGVhZGluZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xufVxuXG5oNiB7XG4gIEBleHRlbmQgJWhlYWRpbmc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbn1cblxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG59XG5cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDIuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDMuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMVxuICBjdXJzb3I6IGhlbHA7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvLyAzXG59XG5cblxuLy8gQWRkcmVzc1xuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuXG4vLyBMaXN0c1xuXG5vbCxcbnVsIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuLy8gMS4gVW5kbyBicm93c2VyIGRlZmF1bHRcblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIDFcbn1cblxuXG4vLyBCbG9ja3F1b3RlXG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vIFN0cm9uZ1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyO1xufVxuXG5cbi8vIFNtYWxsXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcblxuc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUoJHNtYWxsLWZvbnQtc2l6ZSk7XG59XG5cblxuLy8gTWFya1xuXG5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1oaWdobGlnaHQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9aGlnaGxpZ2h0LWJnKTtcbn1cblxuXG4vLyBTdWIgYW5kIFN1cFxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc3ViLXN1cC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxuc3VwIHsgdG9wOiAtLjVlbTsgfVxuXG5cbi8vIExpbmtzXG5cbmEge1xuICBjb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSk7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICAtLSN7JHByZWZpeH1saW5rLWNvbG9yLXJnYjogdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3ItcmdiKTtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW2NsYXNzXSkge1xuICAmLFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBDb2RlXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1jb2RlO1xuICBAaW5jbHVkZSBmb250LXNpemUoMWVtKTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuXG4vLyAxLiBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbi8vIDIuIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4vLyAzLiBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7IC8vIDFcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgLy8gMlxuICBvdmVyZmxvdzogYXV0bzsgLy8gM1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNvZGUtZm9udC1zaXplKTtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG5cbiAgLy8gQWNjb3VudCBmb3Igc29tZSBjb2RlIG91dHB1dHMgdGhhdCBwbGFjZSBjb2RlIHRhZ3MgaW4gcHJlIHRhZ3NcbiAgY29kZSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgfVxufVxuXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y29kZS1jb2xvcik7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbmtiZCB7XG4gIHBhZGRpbmc6ICRrYmQtcGFkZGluZy15ICRrYmQtcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGtiZC1mb250LXNpemUpO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG5cbmltZyxcbnN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xuXG50YWJsZSB7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmcteTtcbiAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vLyAxLiBSZW1vdmVzIGZvbnQtd2VpZ2h0IGJvbGQgYnkgaW5oZXJpdGluZ1xuLy8gMi4gTWF0Y2hlcyBkZWZhdWx0IGA8dGQ+YCBhbGlnbm1lbnQgYnkgaW5oZXJpdGluZyBgdGV4dC1hbGlnbmAuXG4vLyAzLiBGaXggYWxpZ25tZW50IGZvciBTYWZhcmlcblxudGgge1xuICBmb250LXdlaWdodDogJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OyAvLyAxXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7IC8vIDNcbn1cblxudGhlYWQsXG50Ym9keSxcbnRmb290LFxudHIsXG50ZCxcbnRoIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDA7XG59XG5cblxuLy8gRm9ybXNcbi8vXG4vLyAxLiBBbGxvdyBsYWJlbHMgdG8gdXNlIGBtYXJnaW5gIGZvciBzcGFjaW5nLlxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuXG5idXR0b24ge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIEV4cGxpY2l0bHkgcmVtb3ZlIGZvY3VzIG91dGxpbmUgaW4gQ2hyb21pdW0gd2hlbiBpdCBzaG91bGRuJ3QgYmVcbi8vIHZpc2libGUgKGUuZy4gYXMgcmVzdWx0IG9mIG1vdXNlIGNsaWNrIG9yIHRvdWNoIHRhcCkuIEl0IGFscmVhZHlcbi8vIHNob3VsZCBiZSBkb2luZyB0aGlzIGF1dG9tYXRpY2FsbHksIGJ1dCBzZWVtcyB0byBjdXJyZW50bHkgYmVcbi8vIGNvbmZ1c2VkIGFuZCBhcHBsaWVzIGl0cyB2ZXJ5IHZpc2libGUgdHdvLXRvbmUgb3V0bGluZSBhbnl3YXkuXG5cbmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi8vIFNldCB0aGUgY3Vyc29yIGZvciBub24tYDxidXR0b24+YCBidXR0b25zXG4vL1xuLy8gRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDU2MlxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnNlbGVjdCB7XG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbiAgd29yZC13cmFwOiBub3JtYWw7XG5cbiAgLy8gVW5kbyB0aGUgb3BhY2l0eSBjaGFuZ2UgZnJvbSBDaHJvbWVcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdGhlIGRyb3Bkb3duIGFycm93IG9ubHkgZnJvbSB0ZXh0IHR5cGUgaW5wdXRzIGJ1aWx0IHdpdGggZGF0YWxpc3RzIGluIENocm9tZS5cbi8vIFNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTQ5OTcxMThcblxuW2xpc3RdOm5vdChbdHlwZT1cImRhdGVcIl0pOm5vdChbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdKTpub3QoW3R5cGU9XCJtb250aFwiXSk6bm90KFt0eXBlPVwid2Vla1wiXSk6bm90KFt0eXBlPVwidGltZVwiXSk6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMy4gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG5cbiAgQGlmICRlbmFibGUtYnV0dG9uLXBvaW50ZXJzIHtcbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy8gMS4gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IC8vIDFcbn1cblxuLy8gMS4gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbi8vICAgIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuLy8gICAgU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbi8vICAgIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbi8vIDIuIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG4gIG1hcmdpbjogMDsgLy8gMlxuICBib3JkZXI6IDA7IC8vIDJcbn1cblxuLy8gMS4gQnkgdXNpbmcgYGZsb2F0OiBsZWZ0YCwgdGhlIGxlZ2VuZCB3aWxsIGJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudC5cbi8vICAgIFRoaXMgd2F5IHRoZSBib3JkZXIgb2YgYSBmaWVsZHNldCB3cmFwcyBhcm91bmQgdGhlIGxlZ2VuZCBpZiBwcmVzZW50LlxuLy8gMi4gRml4IHdyYXBwaW5nIGJ1Zy5cbi8vICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI5NzEyXG5cbmxlZ2VuZCB7XG4gIGZsb2F0OiBsZWZ0OyAvLyAxXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbGVnZW5kLW1hcmdpbi1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkbGVnZW5kLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWdlbmQtZm9udC1zaXplKTtcblxuICArICoge1xuICAgIGNsZWFyOiBsZWZ0OyAvLyAyXG4gIH1cbn1cblxuLy8gRml4IGhlaWdodCBvZiBpbnB1dHMgd2l0aCBhIHR5cGUgb2YgZGF0ZXRpbWUtbG9jYWwsIGRhdGUsIG1vbnRoLCB3ZWVrLCBvciB0aW1lXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODg0MlxuXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlcixcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIHtcbiAgcGFkZGluZzogMDtcbn1cblxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyAxLiBUaGlzIG92ZXJyaWRlcyB0aGUgZXh0cmEgcm91bmRlZCBjb3JuZXJzIG9uIHNlYXJjaCBpbnB1dHMgaW4gaU9TIHNvIHRoYXQgb3VyXG4vLyAgICBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbi8vICAgIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbi8vICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1ODYuXG4vLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuXG4gIC8vIDMuIEJldHRlciBhZmZvcmRhbmNlIGFuZCBjb25zaXN0ZW50IGFwcGVhcmFuY2UgZm9yIHNlYXJjaCBjYW5jZWwgYnV0dG9uXG4gICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbiAgfVxufVxuXG4vLyAxLiBBIGZldyBpbnB1dCB0eXBlcyBzaG91bGQgc3RheSBMVFJcbi8vIFNlZSBodHRwczovL3J0bHN0eWxpbmcuY29tL3Bvc3RzL3J0bC1zdHlsaW5nI2Zvcm0taW5wdXRzXG4vLyAyLiBSVEwgb25seSBvdXRwdXRcbi8vIFNlZSBodHRwczovL3J0bGNzcy5jb20vbGVhcm4vdXNhZ2UtZ3VpZGUvY29udHJvbC1kaXJlY3RpdmVzLyNyYXdcblxuLyogcnRsOnJhdzpcblt0eXBlPVwidGVsXCJdLFxuW3R5cGU9XCJ1cmxcIl0sXG5bdHlwZT1cImVtYWlsXCJdLFxuW3R5cGU9XCJudW1iZXJcIl0ge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbiovXG5cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBSZW1vdmUgcGFkZGluZyBhcm91bmQgY29sb3IgcGlja2VycyBpbiB3ZWJraXQgYnJvd3NlcnNcblxuOjotd2Via2l0LWNvbG9yLXN3YXRjaC13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbn1cblxuXG4vLyAxLiBJbmhlcml0IGZvbnQgZmFtaWx5IGFuZCBsaW5lIGhlaWdodCBmb3IgZmlsZSBpbnB1dCBidXR0b25zXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG46OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMVxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcblxub3V0cHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBSZW1vdmUgYm9yZGVyIGZyb20gaWZyYW1lXG5cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gU3VtbWFyeVxuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyAxXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vLyBQcm9ncmVzc1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5cbi8vIEhpZGRlbiBhdHRyaWJ1dGVcbi8vXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlLlxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvcnMtbWFwXG4kZ3JheXM6IChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmx1ZTogICAgIzBkNmVmZCAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2Q2MzM4NCAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMTk4NzU0ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzBkY2FmMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvcnMtbWFwXG4kY29sb3JzOiAoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcImJsYWNrXCI6ICAgICAgJGJsYWNrLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvcnMtbWFwXG5cbi8vIFRoZSBjb250cmFzdCByYXRpbyB0byByZWFjaCBhZ2FpbnN0IHdoaXRlLCB0byBkZXRlcm1pbmUgaWYgY29sb3IgY2hhbmdlcyBmcm9tIFwibGlnaHRcIiB0byBcImRhcmtcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4yIGFyZSAzLCA0LjUgYW5kIDcuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcvI2NvbnRyYXN0LW1pbmltdW1cbiRtaW4tY29udHJhc3QtcmF0aW86ICAgNC41ICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJGNvbG9yLWNvbnRyYXN0LWRhcms6ICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNvbG9yLWNvbnRyYXN0LWxpZ2h0OiAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRibHVlLTEwMDogdGludC1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcbiRibHVlLTIwMDogdGludC1jb2xvcigkYmx1ZSwgNjAlKSAhZGVmYXVsdDtcbiRibHVlLTMwMDogdGludC1jb2xvcigkYmx1ZSwgNDAlKSAhZGVmYXVsdDtcbiRibHVlLTQwMDogdGludC1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTUwMDogJGJsdWUgIWRlZmF1bHQ7XG4kYmx1ZS02MDA6IHNoYWRlLWNvbG9yKCRibHVlLCAyMCUpICFkZWZhdWx0O1xuJGJsdWUtNzAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgNDAlKSAhZGVmYXVsdDtcbiRibHVlLTgwMDogc2hhZGUtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS05MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA4MCUpICFkZWZhdWx0O1xuXG4kaW5kaWdvLTEwMDogdGludC1jb2xvcigkaW5kaWdvLCA4MCUpICFkZWZhdWx0O1xuJGluZGlnby0yMDA6IHRpbnQtY29sb3IoJGluZGlnbywgNjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMzAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDQwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTQwMDogdGludC1jb2xvcigkaW5kaWdvLCAyMCUpICFkZWZhdWx0O1xuJGluZGlnby01MDA6ICRpbmRpZ28gIWRlZmF1bHQ7XG4kaW5kaWdvLTYwMDogc2hhZGUtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNzAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby04MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTkwMDogc2hhZGUtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcblxuJHB1cnBsZS0xMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgODAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtMjAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDYwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTMwMDogdGludC1jb2xvcigkcHVycGxlLCA0MCUpICFkZWZhdWx0O1xuJHB1cnBsZS00MDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgMjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNTAwOiAkcHVycGxlICFkZWZhdWx0O1xuJHB1cnBsZS02MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTcwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtODAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS05MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG5cbiRwaW5rLTEwMDogdGludC1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcbiRwaW5rLTIwMDogdGludC1jb2xvcigkcGluaywgNjAlKSAhZGVmYXVsdDtcbiRwaW5rLTMwMDogdGludC1jb2xvcigkcGluaywgNDAlKSAhZGVmYXVsdDtcbiRwaW5rLTQwMDogdGludC1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTUwMDogJHBpbmsgIWRlZmF1bHQ7XG4kcGluay02MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCAyMCUpICFkZWZhdWx0O1xuJHBpbmstNzAwOiBzaGFkZS1jb2xvcigkcGluaywgNDAlKSAhZGVmYXVsdDtcbiRwaW5rLTgwMDogc2hhZGUtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay05MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA4MCUpICFkZWZhdWx0O1xuXG4kcmVkLTEwMDogdGludC1jb2xvcigkcmVkLCA4MCUpICFkZWZhdWx0O1xuJHJlZC0yMDA6IHRpbnQtY29sb3IoJHJlZCwgNjAlKSAhZGVmYXVsdDtcbiRyZWQtMzAwOiB0aW50LWNvbG9yKCRyZWQsIDQwJSkgIWRlZmF1bHQ7XG4kcmVkLTQwMDogdGludC1jb2xvcigkcmVkLCAyMCUpICFkZWZhdWx0O1xuJHJlZC01MDA6ICRyZWQgIWRlZmF1bHQ7XG4kcmVkLTYwMDogc2hhZGUtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNzAwOiBzaGFkZS1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC04MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTkwMDogc2hhZGUtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcblxuJG9yYW5nZS0xMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgODAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtMjAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDYwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTMwMDogdGludC1jb2xvcigkb3JhbmdlLCA0MCUpICFkZWZhdWx0O1xuJG9yYW5nZS00MDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgMjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNTAwOiAkb3JhbmdlICFkZWZhdWx0O1xuJG9yYW5nZS02MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTcwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtODAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS05MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG5cbiR5ZWxsb3ctMTAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDgwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTIwMDogdGludC1jb2xvcigkeWVsbG93LCA2MCUpICFkZWZhdWx0O1xuJHllbGxvdy0zMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNDAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNDAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDIwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTUwMDogJHllbGxvdyAhZGVmYXVsdDtcbiR5ZWxsb3ctNjAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy03MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTgwMDogc2hhZGUtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctOTAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuXG4kZ3JlZW4tMTAwOiB0aW50LWNvbG9yKCRncmVlbiwgODAlKSAhZGVmYXVsdDtcbiRncmVlbi0yMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA2MCUpICFkZWZhdWx0O1xuJGdyZWVuLTMwMDogdGludC1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNDAwOiB0aW50LWNvbG9yKCRncmVlbiwgMjAlKSAhZGVmYXVsdDtcbiRncmVlbi01MDA6ICRncmVlbiAhZGVmYXVsdDtcbiRncmVlbi02MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgMjAlKSAhZGVmYXVsdDtcbiRncmVlbi03MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgNDAlKSAhZGVmYXVsdDtcbiRncmVlbi04MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi05MDA6IHNoYWRlLWNvbG9yKCRncmVlbiwgODAlKSAhZGVmYXVsdDtcblxuJHRlYWwtMTAwOiB0aW50LWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuJHRlYWwtMjAwOiB0aW50LWNvbG9yKCR0ZWFsLCA2MCUpICFkZWZhdWx0O1xuJHRlYWwtMzAwOiB0aW50LWNvbG9yKCR0ZWFsLCA0MCUpICFkZWZhdWx0O1xuJHRlYWwtNDAwOiB0aW50LWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNTAwOiAkdGVhbCAhZGVmYXVsdDtcbiR0ZWFsLTYwMDogc2hhZGUtY29sb3IoJHRlYWwsIDIwJSkgIWRlZmF1bHQ7XG4kdGVhbC03MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA0MCUpICFkZWZhdWx0O1xuJHRlYWwtODAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTkwMDogc2hhZGUtY29sb3IoJHRlYWwsIDgwJSkgIWRlZmF1bHQ7XG5cbiRjeWFuLTEwMDogdGludC1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcbiRjeWFuLTIwMDogdGludC1jb2xvcigkY3lhbiwgNjAlKSAhZGVmYXVsdDtcbiRjeWFuLTMwMDogdGludC1jb2xvcigkY3lhbiwgNDAlKSAhZGVmYXVsdDtcbiRjeWFuLTQwMDogdGludC1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTUwMDogJGN5YW4gIWRlZmF1bHQ7XG4kY3lhbi02MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCAyMCUpICFkZWZhdWx0O1xuJGN5YW4tNzAwOiBzaGFkZS1jb2xvcigkY3lhbiwgNDAlKSAhZGVmYXVsdDtcbiRjeWFuLTgwMDogc2hhZGUtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi05MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA4MCUpICFkZWZhdWx0O1xuXG4kYmx1ZXM6IChcbiAgXCJibHVlLTEwMFwiOiAkYmx1ZS0xMDAsXG4gIFwiYmx1ZS0yMDBcIjogJGJsdWUtMjAwLFxuICBcImJsdWUtMzAwXCI6ICRibHVlLTMwMCxcbiAgXCJibHVlLTQwMFwiOiAkYmx1ZS00MDAsXG4gIFwiYmx1ZS01MDBcIjogJGJsdWUtNTAwLFxuICBcImJsdWUtNjAwXCI6ICRibHVlLTYwMCxcbiAgXCJibHVlLTcwMFwiOiAkYmx1ZS03MDAsXG4gIFwiYmx1ZS04MDBcIjogJGJsdWUtODAwLFxuICBcImJsdWUtOTAwXCI6ICRibHVlLTkwMFxuKSAhZGVmYXVsdDtcblxuJGluZGlnb3M6IChcbiAgXCJpbmRpZ28tMTAwXCI6ICRpbmRpZ28tMTAwLFxuICBcImluZGlnby0yMDBcIjogJGluZGlnby0yMDAsXG4gIFwiaW5kaWdvLTMwMFwiOiAkaW5kaWdvLTMwMCxcbiAgXCJpbmRpZ28tNDAwXCI6ICRpbmRpZ28tNDAwLFxuICBcImluZGlnby01MDBcIjogJGluZGlnby01MDAsXG4gIFwiaW5kaWdvLTYwMFwiOiAkaW5kaWdvLTYwMCxcbiAgXCJpbmRpZ28tNzAwXCI6ICRpbmRpZ28tNzAwLFxuICBcImluZGlnby04MDBcIjogJGluZGlnby04MDAsXG4gIFwiaW5kaWdvLTkwMFwiOiAkaW5kaWdvLTkwMFxuKSAhZGVmYXVsdDtcblxuJHB1cnBsZXM6IChcbiAgXCJwdXJwbGUtMTAwXCI6ICRwdXJwbGUtMTAwLFxuICBcInB1cnBsZS0yMDBcIjogJHB1cnBsZS0yMDAsXG4gIFwicHVycGxlLTMwMFwiOiAkcHVycGxlLTMwMCxcbiAgXCJwdXJwbGUtNDAwXCI6ICRwdXJwbGUtNDAwLFxuICBcInB1cnBsZS01MDBcIjogJHB1cnBsZS01MDAsXG4gIFwicHVycGxlLTYwMFwiOiAkcHVycGxlLTYwMCxcbiAgXCJwdXJwbGUtNzAwXCI6ICRwdXJwbGUtNzAwLFxuICBcInB1cnBsZS04MDBcIjogJHB1cnBsZS04MDAsXG4gIFwicHVycGxlLTkwMFwiOiAkcHVycGxlLTkwMFxuKSAhZGVmYXVsdDtcblxuJHBpbmtzOiAoXG4gIFwicGluay0xMDBcIjogJHBpbmstMTAwLFxuICBcInBpbmstMjAwXCI6ICRwaW5rLTIwMCxcbiAgXCJwaW5rLTMwMFwiOiAkcGluay0zMDAsXG4gIFwicGluay00MDBcIjogJHBpbmstNDAwLFxuICBcInBpbmstNTAwXCI6ICRwaW5rLTUwMCxcbiAgXCJwaW5rLTYwMFwiOiAkcGluay02MDAsXG4gIFwicGluay03MDBcIjogJHBpbmstNzAwLFxuICBcInBpbmstODAwXCI6ICRwaW5rLTgwMCxcbiAgXCJwaW5rLTkwMFwiOiAkcGluay05MDBcbikgIWRlZmF1bHQ7XG5cbiRyZWRzOiAoXG4gIFwicmVkLTEwMFwiOiAkcmVkLTEwMCxcbiAgXCJyZWQtMjAwXCI6ICRyZWQtMjAwLFxuICBcInJlZC0zMDBcIjogJHJlZC0zMDAsXG4gIFwicmVkLTQwMFwiOiAkcmVkLTQwMCxcbiAgXCJyZWQtNTAwXCI6ICRyZWQtNTAwLFxuICBcInJlZC02MDBcIjogJHJlZC02MDAsXG4gIFwicmVkLTcwMFwiOiAkcmVkLTcwMCxcbiAgXCJyZWQtODAwXCI6ICRyZWQtODAwLFxuICBcInJlZC05MDBcIjogJHJlZC05MDBcbikgIWRlZmF1bHQ7XG5cbiRvcmFuZ2VzOiAoXG4gIFwib3JhbmdlLTEwMFwiOiAkb3JhbmdlLTEwMCxcbiAgXCJvcmFuZ2UtMjAwXCI6ICRvcmFuZ2UtMjAwLFxuICBcIm9yYW5nZS0zMDBcIjogJG9yYW5nZS0zMDAsXG4gIFwib3JhbmdlLTQwMFwiOiAkb3JhbmdlLTQwMCxcbiAgXCJvcmFuZ2UtNTAwXCI6ICRvcmFuZ2UtNTAwLFxuICBcIm9yYW5nZS02MDBcIjogJG9yYW5nZS02MDAsXG4gIFwib3JhbmdlLTcwMFwiOiAkb3JhbmdlLTcwMCxcbiAgXCJvcmFuZ2UtODAwXCI6ICRvcmFuZ2UtODAwLFxuICBcIm9yYW5nZS05MDBcIjogJG9yYW5nZS05MDBcbikgIWRlZmF1bHQ7XG5cbiR5ZWxsb3dzOiAoXG4gIFwieWVsbG93LTEwMFwiOiAkeWVsbG93LTEwMCxcbiAgXCJ5ZWxsb3ctMjAwXCI6ICR5ZWxsb3ctMjAwLFxuICBcInllbGxvdy0zMDBcIjogJHllbGxvdy0zMDAsXG4gIFwieWVsbG93LTQwMFwiOiAkeWVsbG93LTQwMCxcbiAgXCJ5ZWxsb3ctNTAwXCI6ICR5ZWxsb3ctNTAwLFxuICBcInllbGxvdy02MDBcIjogJHllbGxvdy02MDAsXG4gIFwieWVsbG93LTcwMFwiOiAkeWVsbG93LTcwMCxcbiAgXCJ5ZWxsb3ctODAwXCI6ICR5ZWxsb3ctODAwLFxuICBcInllbGxvdy05MDBcIjogJHllbGxvdy05MDBcbikgIWRlZmF1bHQ7XG5cbiRncmVlbnM6IChcbiAgXCJncmVlbi0xMDBcIjogJGdyZWVuLTEwMCxcbiAgXCJncmVlbi0yMDBcIjogJGdyZWVuLTIwMCxcbiAgXCJncmVlbi0zMDBcIjogJGdyZWVuLTMwMCxcbiAgXCJncmVlbi00MDBcIjogJGdyZWVuLTQwMCxcbiAgXCJncmVlbi01MDBcIjogJGdyZWVuLTUwMCxcbiAgXCJncmVlbi02MDBcIjogJGdyZWVuLTYwMCxcbiAgXCJncmVlbi03MDBcIjogJGdyZWVuLTcwMCxcbiAgXCJncmVlbi04MDBcIjogJGdyZWVuLTgwMCxcbiAgXCJncmVlbi05MDBcIjogJGdyZWVuLTkwMFxuKSAhZGVmYXVsdDtcblxuJHRlYWxzOiAoXG4gIFwidGVhbC0xMDBcIjogJHRlYWwtMTAwLFxuICBcInRlYWwtMjAwXCI6ICR0ZWFsLTIwMCxcbiAgXCJ0ZWFsLTMwMFwiOiAkdGVhbC0zMDAsXG4gIFwidGVhbC00MDBcIjogJHRlYWwtNDAwLFxuICBcInRlYWwtNTAwXCI6ICR0ZWFsLTUwMCxcbiAgXCJ0ZWFsLTYwMFwiOiAkdGVhbC02MDAsXG4gIFwidGVhbC03MDBcIjogJHRlYWwtNzAwLFxuICBcInRlYWwtODAwXCI6ICR0ZWFsLTgwMCxcbiAgXCJ0ZWFsLTkwMFwiOiAkdGVhbC05MDBcbikgIWRlZmF1bHQ7XG5cbiRjeWFuczogKFxuICBcImN5YW4tMTAwXCI6ICRjeWFuLTEwMCxcbiAgXCJjeWFuLTIwMFwiOiAkY3lhbi0yMDAsXG4gIFwiY3lhbi0zMDBcIjogJGN5YW4tMzAwLFxuICBcImN5YW4tNDAwXCI6ICRjeWFuLTQwMCxcbiAgXCJjeWFuLTUwMFwiOiAkY3lhbi01MDAsXG4gIFwiY3lhbi02MDBcIjogJGN5YW4tNjAwLFxuICBcImN5YW4tNzAwXCI6ICRjeWFuLTcwMCxcbiAgXCJjeWFuLTgwMFwiOiAkY3lhbi04MDAsXG4gIFwiY3lhbi05MDBcIjogJGN5YW4tOTAwXG4pICFkZWZhdWx0O1xuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3JzLW1hcFxuJHRoZW1lLWNvbG9yczogKFxuICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvcnMtbWFwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS10ZXh0LXZhcmlhYmxlc1xuJHByaW1hcnktdGV4dC1lbXBoYXNpczogICBzaGFkZS1jb2xvcigkcHJpbWFyeSwgNjAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktdGV4dC1lbXBoYXNpczogc2hhZGUtY29sb3IoJHNlY29uZGFyeSwgNjAlKSAhZGVmYXVsdDtcbiRzdWNjZXNzLXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHN1Y2Nlc3MsIDYwJSkgIWRlZmF1bHQ7XG4kaW5mby10ZXh0LWVtcGhhc2lzOiAgICAgIHNoYWRlLWNvbG9yKCRpbmZvLCA2MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctdGV4dC1lbXBoYXNpczogICBzaGFkZS1jb2xvcigkd2FybmluZywgNjAlKSAhZGVmYXVsdDtcbiRkYW5nZXItdGV4dC1lbXBoYXNpczogICAgc2hhZGUtY29sb3IoJGRhbmdlciwgNjAlKSAhZGVmYXVsdDtcbiRsaWdodC10ZXh0LWVtcGhhc2lzOiAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGRhcmstdGV4dC1lbXBoYXNpczogICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLXRleHQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1iZy1zdWJ0bGUtdmFyaWFibGVzXG4kcHJpbWFyeS1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHByaW1hcnksIDgwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJnLXN1YnRsZTogICAgIHRpbnQtY29sb3IoJHNlY29uZGFyeSwgODAlKSAhZGVmYXVsdDtcbiRzdWNjZXNzLWJnLXN1YnRsZTogICAgICAgdGludC1jb2xvcigkc3VjY2VzcywgODAlKSAhZGVmYXVsdDtcbiRpbmZvLWJnLXN1YnRsZTogICAgICAgICAgdGludC1jb2xvcigkaW5mbywgODAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLWJnLXN1YnRsZTogICAgICAgdGludC1jb2xvcigkd2FybmluZywgODAlKSAhZGVmYXVsdDtcbiRkYW5nZXItYmctc3VidGxlOiAgICAgICAgdGludC1jb2xvcigkZGFuZ2VyLCA4MCUpICFkZWZhdWx0O1xuJGxpZ2h0LWJnLXN1YnRsZTogICAgICAgICBtaXgoJGdyYXktMTAwLCAkd2hpdGUpICFkZWZhdWx0O1xuJGRhcmstYmctc3VidGxlOiAgICAgICAgICAkZ3JheS00MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJnLXN1YnRsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG4kcHJpbWFyeS1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHByaW1hcnksIDYwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWJvcmRlci1zdWJ0bGU6IHRpbnQtY29sb3IoJHNlY29uZGFyeSwgNjAlKSAhZGVmYXVsdDtcbiRzdWNjZXNzLWJvcmRlci1zdWJ0bGU6ICAgdGludC1jb2xvcigkc3VjY2VzcywgNjAlKSAhZGVmYXVsdDtcbiRpbmZvLWJvcmRlci1zdWJ0bGU6ICAgICAgdGludC1jb2xvcigkaW5mbywgNjAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLWJvcmRlci1zdWJ0bGU6ICAgdGludC1jb2xvcigkd2FybmluZywgNjAlKSAhZGVmYXVsdDtcbiRkYW5nZXItYm9yZGVyLXN1YnRsZTogICAgdGludC1jb2xvcigkZGFuZ2VyLCA2MCUpICFkZWZhdWx0O1xuJGxpZ2h0LWJvcmRlci1zdWJ0bGU6ICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZGFyay1ib3JkZXItc3VidGxlOiAgICAgICRncmF5LTUwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYm9yZGVyLXN1YnRsZS12YXJpYWJsZXNcblxuLy8gQ2hhcmFjdGVycyB3aGljaCBhcmUgZXNjYXBlZCBieSB0aGUgZXNjYXBlLXN2ZyBmdW5jdGlvblxuJGVzY2FwZWQtY2hhcmFjdGVyczogKFxuICAoXCI8XCIsIFwiJTNjXCIpLFxuICAoXCI+XCIsIFwiJTNlXCIpLFxuICAoXCIjXCIsIFwiJTIzXCIpLFxuICAoXCIoXCIsIFwiJTI4XCIpLFxuICAoXCIpXCIsIFwiJTI5XCIpLFxuKSAhZGVmYXVsdDtcblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcmVkdWNlZC1tb3Rpb246ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNtb290aC1zY3JvbGw6ICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtY29udGFpbmVyLWNsYXNzZXM6ICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNzc2dyaWQ6ICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtYnV0dG9uLXBvaW50ZXJzOiAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJmczogICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtbmVnYXRpdmUtbWFyZ2luczogICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlczogdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllczogIHRydWUgIWRlZmF1bHQ7XG5cbiRlbmFibGUtZGFyay1tb2RlOiAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kY29sb3ItbW9kZS10eXBlOiAgICAgICAgICAgICBkYXRhICFkZWZhdWx0OyAvLyBgZGF0YWAgb3IgYG1lZGlhLXF1ZXJ5YFxuXG4vLyBQcmVmaXggZm9yIDpyb290IENTUyB2YXJpYWJsZXNcblxuJHZhcmlhYmxlLXByZWZpeDogICAgICAgICAgICAgYnMtICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCBmb3IgdGhlIHNob3J0ZXIgYCRwcmVmaXhgXG4kcHJlZml4OiAgICAgICAgICAgICAgICAgICAgICAkdmFyaWFibGUtcHJlZml4ICFkZWZhdWx0O1xuXG4vLyBHcmFkaWVudFxuLy9cbi8vIFRoZSBncmFkaWVudCB3aGljaCBpcyBhZGRlZCB0byBjb21wb25lbnRzIGlmIGAkZW5hYmxlLWdyYWRpZW50c2AgaXMgYHRydWVgXG4vLyBUaGlzIGdyYWRpZW50IGlzIGFsc28gYWRkZWQgdG8gZWxlbWVudHMgd2l0aCBgLmJnLWdyYWRpZW50YFxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHZhcmlhYmxlLWdyYWRpZW50XG4kZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoJHdoaXRlLCAuMTUpLCByZ2JhKCR3aGl0ZSwgMCkpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB2YXJpYWJsZS1ncmFkaWVudFxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwYWNlci12YXJpYWJsZXMtbWFwc1xuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoXG4gIDA6IDAsXG4gIDE6ICRzcGFjZXIgKiAuMjUsXG4gIDI6ICRzcGFjZXIgKiAuNSxcbiAgMzogJHNwYWNlcixcbiAgNDogJHNwYWNlciAqIDEuNSxcbiAgNTogJHNwYWNlciAqIDMsXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzcGFjZXItdmFyaWFibGVzLW1hcHNcblxuLy8gUG9zaXRpb25cbi8vXG4vLyBEZWZpbmUgdGhlIGVkZ2UgcG9zaXRpb25pbmcgYW5jaG9ycyBvZiB0aGUgcG9zaXRpb24gdXRpbGl0aWVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcG9zaXRpb24tbWFwXG4kcG9zaXRpb24tdmFsdWVzOiAoXG4gIDA6IDAsXG4gIDUwOiA1MCUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcG9zaXRpb24tbWFwXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LXRleHQtYWxpZ246ICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRib2R5LXNlY29uZGFyeS1jb2xvcjogICAgICByZ2JhKCRib2R5LWNvbG9yLCAuNzUpICFkZWZhdWx0O1xuJGJvZHktc2Vjb25kYXJ5LWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGJvZHktdGVydGlhcnktY29sb3I6ICAgICAgIHJnYmEoJGJvZHktY29sb3IsIC41KSAhZGVmYXVsdDtcbiRib2R5LXRlcnRpYXJ5LWJnOiAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRib2R5LWVtcGhhc2lzLWNvbG9yOiAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbiRsaW5rLXNoYWRlLXBlcmNlbnRhZ2U6ICAgICAgICAgICAgICAgICAgIDIwJSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIHNoaWZ0LWNvbG9yKCRsaW5rLWNvbG9yLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRzdHJldGNoZWQtbGluay1wc2V1ZG8tZWxlbWVudDogICAgICAgICAgIGFmdGVyICFkZWZhdWx0O1xuJHN0cmV0Y2hlZC1saW5rLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcblxuLy8gSWNvbiBsaW5rc1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGljb24tbGluay12YXJpYWJsZXNcbiRpY29uLWxpbmstZ2FwOiAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLXVuZGVybGluZS1vZmZzZXQ6ICAuMjVlbSAhZGVmYXVsdDtcbiRpY29uLWxpbmstaWNvbi1zaXplOiAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRpY29uLWxpbmstaWNvbi10cmFuc2l0aW9uOiAgIC4ycyBlYXNlLWluLW91dCB0cmFuc2Zvcm0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tdHJhbnNmb3JtOiAgICB0cmFuc2xhdGUzZCguMjVlbSwgMCwgMCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGljb24tbGluay12YXJpYWJsZXNcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JpZC1icmVha3BvaW50c1xuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHgsXG4gIHh4bDogMTQwMHB4XG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBncmlkLWJyZWFrcG9pbnRzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29udGFpbmVyLW1heC13aWR0aHNcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4LFxuICB4eGw6IDEzMjBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29udGFpbmVyLW1heC13aWR0aHNcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1yb3ctY29sdW1uczogICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG4vLyBDb250YWluZXIgcGFkZGluZ1xuXG4kY29udGFpbmVyLXBhZGRpbmcteDogJGdyaWQtZ3V0dGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItdmFyaWFibGVzXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoczogKFxuICAxOiAxcHgsXG4gIDI6IDJweCxcbiAgMzogM3B4LFxuICA0OiA0cHgsXG4gIDU6IDVweFxuKSAhZGVmYXVsdDtcbiRib3JkZXItc3R5bGU6ICAgICAgICAgICAgICAgIHNvbGlkICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci10cmFuc2x1Y2VudDogICAgcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMteGw6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXh4bDogICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1waWxsOiAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbi8vIGZ1c3YtZGlzYWJsZVxuJGJvcmRlci1yYWRpdXMtMnhsOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMteHhsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjMuMFxuLy8gZnVzdi1lbmFibGVcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJveC1zaGFkb3ctdmFyaWFibGVzXG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWluc2V0OiAgICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJveC1zaGFkb3ctdmFyaWFibGVzXG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9jdXMtcmluZy12YXJpYWJsZXNcbiRmb2N1cy1yaW5nLXdpZHRoOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLW9wYWNpdHk6ICAgIC4yNSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWNvbG9yOiAgICAgIHJnYmEoJHByaW1hcnksICRmb2N1cy1yaW5nLW9wYWNpdHkpICFkZWZhdWx0O1xuJGZvY3VzLXJpbmctYmx1cjogICAgICAgMCAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWJveC1zaGFkb3c6IDAgMCAkZm9jdXMtcmluZy1ibHVyICRmb2N1cy1yaW5nLXdpZHRoICRmb2N1cy1yaW5nLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb2N1cy1yaW5nLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtdmFyaWFibGVzXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC12YXJpYWJsZXNcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sbGFwc2UtdHJhbnNpdGlvblxuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZSAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlLXdpZHRoOiAgIHdpZHRoIC4zNXMgZWFzZSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sbGFwc2UtdHJhbnNpdGlvblxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbi8vIHNjc3MtZG9jcy1zdGFydCBhc3BlY3QtcmF0aW9zXG4kYXNwZWN0LXJhdGlvczogKFxuICBcIjF4MVwiOiAxMDAlLFxuICBcIjR4M1wiOiBjYWxjKDMgLyA0ICogMTAwJSksXG4gIFwiMTZ4OVwiOiBjYWxjKDkgLyAxNiAqIDEwMCUpLFxuICBcIjIxeDlcIjogY2FsYyg5IC8gMjEgKiAxMDAlKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYXNwZWN0LXJhdGlvc1xuLy8gc3R5bGVsaW50LWVuYWJsZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC12YXJpYWJsZXNcbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIk5vdG8gU2Fuc1wiLCBcIkxpYmVyYXRpb24gU2Fuc1wiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1zYW5zLXNlcmlmKSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1jb2RlOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1mb250LW1vbm9zcGFjZSkgIWRlZmF1bHQ7XG5cbi8vICRmb250LXNpemUtcm9vdCBhZmZlY3RzIHRoZSB2YWx1ZSBvZiBgcmVtYCwgd2hpY2ggaXMgdXNlZCBmb3IgYXMgd2VsbCBmb250IHNpemVzLCBwYWRkaW5ncywgYW5kIG1hcmdpbnNcbi8vICRmb250LXNpemUtYmFzZSBhZmZlY3RzIHRoZSBmb250IHNpemUgb2YgdGhlIGJvZHkgdGV4dFxuJGZvbnQtc2l6ZS1yb290OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbWVkaXVtOiAgICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6ICAgICAgICA2MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAyICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvbnQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb250LXNpemVzXG4kZm9udC1zaXplczogKFxuICAxOiAkaDEtZm9udC1zaXplLFxuICAyOiAkaDItZm9udC1zaXplLFxuICAzOiAkaDMtZm9udC1zaXplLFxuICA0OiAkaDQtZm9udC1zaXplLFxuICA1OiAkaDUtZm9udC1zaXplLFxuICA2OiAkaDYtZm9udC1zaXplXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXNpemVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBoZWFkaW5ncy12YXJpYWJsZXNcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1zdHlsZTogICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaGVhZGluZ3MtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkaXNwbGF5LWhlYWRpbmdzXG4kZGlzcGxheS1mb250LXNpemVzOiAoXG4gIDE6IDVyZW0sXG4gIDI6IDQuNXJlbSxcbiAgMzogNHJlbSxcbiAgNDogMy41cmVtLFxuICA1OiAzcmVtLFxuICA2OiAyLjVyZW1cbikgIWRlZmF1bHQ7XG5cbiRkaXNwbGF5LWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC1zdHlsZTogIG51bGwgIWRlZmF1bHQ7XG4kZGlzcGxheS1mb250LXdlaWdodDogMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZGlzcGxheS1oZWFkaW5nc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdHlwZS12YXJpYWJsZXNcbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIC44NzVlbSAhZGVmYXVsdDtcblxuJHN1Yi1zdXAtZm9udC1zaXplOiAgICAgICAgICAgLjc1ZW0gIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gNS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRpbml0aWFsaXNtLWZvbnQtc2l6ZTogICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLW1hcmdpbi15OiAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRoci1jb2xvcjogICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGhyLWJnLWNvbG9yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbiRoci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBBbGxvd3MgZm9yIGluaGVyaXRlZCBjb2xvcnNcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGhyLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgLjI1ICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdnItdmFyaWFibGVzXG4kdnItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdnItdmFyaWFibGVzXG5cbiRsZWdlbmQtbWFyZ2luLWJvdHRvbTogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGxlZ2VuZC1mb250LXNpemU6ICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGxlZ2VuZC1mb250LXdlaWdodDogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMTg3NWVtICFkZWZhdWx0O1xuJG1hcmstY29sb3I6ICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAkeWVsbG93LTEwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdHlwZS12YXJpYWJsZXNcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYWJsZXNcbiR0YWJsZS1jZWxsLXBhZGRpbmcteTogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14OiAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXktc206ICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXgtc206ICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLXZlcnRpY2FsLWFsaWduOiAgIHRvcCAhZGVmYXVsdDtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1jb2xvcjogICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1iZy1mYWN0b3I6ICAgICAuMDUgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1iZzogICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtc3RyaXBlZC1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYWN0aXZlLWNvbG9yOiAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnLWZhY3RvcjogICAgICAuMSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksICR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnLWZhY3RvcjogICAgICAgLjA3NSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksICR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLWZhY3RvcjogICAgICAgICAuMiAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXI6IGV2ZW4gIWRlZmF1bHQ7XG5cbiR0YWJsZS1ncm91cC1zZXBhcmF0b3ItY29sb3I6IGN1cnJlbnRjb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1zY2FsZTogICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtbG9vcFxuJHRhYmxlLXZhcmlhbnRzOiAoXG4gIFwicHJpbWFyeVwiOiAgICBzaGlmdC1jb2xvcigkcHJpbWFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzZWNvbmRhcnlcIjogIHNoaWZ0LWNvbG9yKCRzZWNvbmRhcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic3VjY2Vzc1wiOiAgICBzaGlmdC1jb2xvcigkc3VjY2VzcywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJpbmZvXCI6ICAgICAgIHNoaWZ0LWNvbG9yKCRpbmZvLCAkdGFibGUtYmctc2NhbGUpLFxuICBcIndhcm5pbmdcIjogICAgc2hpZnQtY29sb3IoJHdhcm5pbmcsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiZGFuZ2VyXCI6ICAgICBzaGlmdC1jb2xvcigkZGFuZ2VyLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmssXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS1sb29wXG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1idG4tdmFyaWFibGVzXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICRmb2N1cy1yaW5nLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5OiAkZm9jdXMtcmluZy1vcGFjaXR5ICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgICAkZm9jdXMtcmluZy1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYmx1cjogICAgICAgICAgJGZvY3VzLXJpbmctYmx1ciAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYWJsZXNcbiRidG4tY29sb3I6ICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tbGluay1ob3Zlci1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRidG4tbGluay1mb2N1cy1zaGFkb3ctcmdiOiAgIHRvLXJnYihtaXgoY29sb3ItY29udHJhc3QoJGxpbmstY29sb3IpLCAkbGluay1jb2xvciwgMTUlKSkgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLXNtKSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kYnRuLWhvdmVyLWJnLXNoYWRlLWFtb3VudDogICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudDogICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudDogICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudDogICAgMTAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctc2hhZGUtYW1vdW50OiAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50OiAgICAgICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50OiAgMjUlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXRpbnQtYW1vdW50OiAgIDEwJSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhYmxlc1xuXG5cbi8vIEZvcm1zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXRleHQtdmFyaWFibGVzXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXRleHQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuJGZvcm0tbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tbGFiZWwtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDUwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1ib3JkZXItd2lkdGh9ICogMikgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAqIC41KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15ICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktc20gKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tY29sb3Itd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0taW5wdXQtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuJGZvcm0tY2hlY2staW5wdXQtd2lkdGg6ICAgICAgICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWluLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0OiAgICAgICAgICAgICAgICAkZm9ybS1jaGVjay1pbnB1dC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1hY3RpdmUtZmlsdGVyOiAgICAgICAgICBicmlnaHRuZXNzKDkwJSkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3JkZXI6ICAgICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nbTYgMTAgMyAzIDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzInIGZpbGw9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J002IDEwaDgnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAkZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stYnRuLWNoZWNrLWRpc2FibGVkLW9wYWNpdHk6ICAgICRidG4tZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi1lbmQ6ICAgIDFyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tY2hlY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcbiRmb3JtLXN3aXRjaC1jb2xvcjogICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAyZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDogICAgICAgJGZvcm0tc3dpdGNoLXdpZHRoICsgLjVlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1iZy1pbWFnZTogICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1czogICAgICAgJGZvcm0tc3dpdGNoLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXRyYW5zaXRpb246ICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yOiAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtZm9jdXMtYmctaW1hZ2U6ICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZTogICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY2hlY2tlZC1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1wb3NpdGlvbjogcmlnaHQgY2VudGVyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXN3aXRjaC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaW5wdXQtZ3JvdXAtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAgICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKiAzICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIGZvciBiYWNrZ3JvdW5kLWltYWdlXG4kZm9ybS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJvcmRlci1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbjogICAgICAgICAgIHJpZ2h0ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggY2VudGVyICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgICAgMTZweCAxMnB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNic+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nbTIgNSA2IDYgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWVuZDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDIuNSArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICBjZW50ZXIgcmlnaHQgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGZvcm0tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLXNtOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAkaW5wdXQtZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtbGc6ICAgICRpbnB1dC1ib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtdHJhbnNpdGlvbjogICAgICAgICAgJGlucHV0LXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1yYW5nZS12YXJpYWJsZXNcbiRmb3JtLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBFZGdlXG4kZm9ybS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgdGludC1jb2xvcigkY29tcG9uZW50LWFjdGl2ZS1iZywgNzAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLXRyYW5zaXRpb246ICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tcmFuZ2UtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZpbGUtdmFyaWFibGVzXG4kZm9ybS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1ob3Zlci1iZzogICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmlsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmxvYXRpbmctdmFyaWFibGVzXG4kZm9ybS1mbG9hdGluZy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgYWRkKDMuNXJlbSwgJGlucHV0LWhlaWdodC1ib3JkZXIpICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGluZS1oZWlnaHQ6ICAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10OiAgICAgICAgIDEuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iOiAgICAgICAgIC42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1oZWlnaHQ6ICAgICAgICAgICAgMS41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5OiAgICAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtdHJhbnNmb3JtOiAgICAgICAgIHNjYWxlKC44NSkgdHJhbnNsYXRlWSgtLjVyZW0pIHRyYW5zbGF0ZVgoLjE1cmVtKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy10cmFuc2l0aW9uOiAgICAgICAgICAgICAgb3BhY2l0eSAuMXMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAuMXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmxvYXRpbmctdmFyaWFibGVzXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRmb3JtLXRleHQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zdHlsZTogICAgICAgICAgJGZvcm0tdGV4dC1mb250LXN0eWxlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgJHN1Y2Nlc3MgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICAkZGFuZ2VyICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCc+PHBhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjEnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tY29sb3JzXG4kZm9ybS12YWxpZC1jb2xvcjogICAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1jb2xvcjogICAgICAgICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoXG4gIFwidmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3IpLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9c3VjY2VzcyksXG4gICAgXCJmb2N1cy1ib3gtc2hhZG93XCI6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEodmFyKC0tI3skcHJlZml4fXN1Y2Nlc3MtcmdiKSwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgICBcImJvcmRlci1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3IpLFxuICApLFxuICBcImludmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZCxcbiAgICBcInRvb2x0aXAtY29sb3JcIjogI2ZmZixcbiAgICBcInRvb2x0aXAtYmctY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWRhbmdlciksXG4gICAgXCJmb2N1cy1ib3gtc2hhZG93XCI6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEodmFyKC0tI3skcHJlZml4fWRhbmdlci1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yKSxcbiAgKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtc3RhY2tcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wOiAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhczogICAgICAgICAgICAgICAgICAxMDQ1ICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTUgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA4MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9hc3Q6ICAgICAgICAgICAgICAgICAgICAgIDEwOTAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1zdGFja1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LWxldmVscy1tYXBcbiR6aW5kZXgtbGV2ZWxzOiAoXG4gIG4xOiAtMSxcbiAgMDogMCxcbiAgMTogMSxcbiAgMjogMixcbiAgMzogM1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LWxldmVscy1tYXBcblxuXG4vLyBOYXZzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdmFyaWFibGVzXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC1zaXplOiAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRuYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi11bmRlcmxpbmUtZ2FwOiAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aDogICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kbmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcjogICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXYtdmFyaWFibGVzXG5cblxuLy8gTmF2YmFyXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItdmFyaWFibGVzXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogICAgICAgICRidG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbjogICAgICAgICBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC42NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAxKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcjogICAgICAgICAgIHJnYmEoJGJvZHktY29sb3IsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjE1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWljb24tY29sb3I6ICAgICAgICAgICAgJG5hdmJhci1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZGFyay12YXJpYWJsZXNcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi12YXJpYWJsZXNcbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBjYWxjKCN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9IC0gI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkZHJvcGRvd24tbGluay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogICAgICAgICAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteTogICAgICAgICAkZHJvcGRvd24tcGFkZGluZy15ICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kZHJvcGRvd24taGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteSAkZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbi8vIGZ1c3YtZW5hYmxlXG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZHJvcGRvd24tZGFyay12YXJpYWJsZXNcbiRkcm9wZG93bi1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJvcmRlci1jb2xvcjogICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1kaXZpZGVyLWJnOiAgICAgICAgICAkZHJvcGRvd24tZGl2aWRlci1iZyAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWJveC1zaGFkb3c6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWNvbG9yOiAgICAgICAgICAkZHJvcGRvd24tZGFyay1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItY29sb3I6ICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItYmc6ICAgICAgIHJnYmEoJHdoaXRlLCAuMTUpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtY29sb3I6ICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1hY3RpdmUtYmc6ICAgICAgJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1kaXNhYmxlZC1jb2xvcjogJGdyYXktNTAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstaGVhZGVyLWNvbG9yOiAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIFBhZ2luYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBhZ2luYXRpb24tdmFyaWFibGVzXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQ6ICAgICAgICAgICBjYWxjKC0xICogI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1jb2xvcjogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7IC8vIFRvZG8gaW4gdjY6IHJlbW92ZSB0aGlzP1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLXZhcmlhYmxlc1xuXG5cbi8vIFBsYWNlaG9sZGVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGxhY2Vob2xkZXJzXG4kcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbjogICAgICAgICAgIC4yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwbGFjZWhvbGRlcnNcblxuLy8gQ2FyZHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmQtdmFyaWFibGVzXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLXNwYWNlci15OiAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1zdWJ0aXRsZS1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRjYXJkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBzdWJ0cmFjdCgkY2FyZC1ib3JkZXItcmFkaXVzLCAkY2FyZC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgKiAuNSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICRjYXJkLXNwYWNlci14ICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvci1yZ2IpLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAqIC41ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLXZhcmlhYmxlc1xuXG4vLyBBY2NvcmRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFjY29yZGlvbi12YXJpYWJsZXNcbiRhY2NvcmRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgIHN1YnRyYWN0KCRhY2NvcmRpb24tYm9yZGVyLXJhZGl1cywgJGFjY29yZGlvbi1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAkYWNjb3JkaW9uLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteDogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy14ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24sIGJvcmRlci1yYWRpdXMgLjE1cyBlYXNlICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktYmctc3VidGxlKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1wcmltYXJ5LXRleHQtZW1waGFzaXMpICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJvcmRlci1jb2xvcjogICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy4zXG4vLyBmdXN2LWVuYWJsZVxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAkcHJpbWFyeS10ZXh0LWVtcGhhc2lzICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi10cmFuc2Zvcm06ICAgICAgICAgICAgICAgIHJvdGF0ZSgtMTgwZGVnKSAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24taWNvbjogICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRhY2NvcmRpb24taWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nbTIgNSA2IDYgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb246ICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J20yIDUgNiA2IDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuXG4vLyBUb29sdGlwc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC12YXJpYWJsZXNcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBUT0RPOiByZW1vdmUgdGhpcyBpbiB2NlxuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC12YXJpYWJsZXNcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG5cblxuLy8gUG9wb3ZlcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItdmFyaWFibGVzXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgY2FsYygjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9IC0gI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG5cbi8vIFRvYXN0c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtdmFyaWFibGVzXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuJHRvYXN0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJHRvYXN0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtdmFyaWFibGVzXG5cblxuLy8gQmFkZ2VzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS12YXJpYWJsZXNcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC42NWVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZS12YXJpYWJsZXNcblxuXG4vLyBNb2RhbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLXZhcmlhYmxlc1xuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctc20pICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNSAhZGVmYXVsdDtcblxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLWZvb3Rlci1iZzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweCAhZGVmYXVsdDtcbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuJG1vZGFsLXNjYWxlLXRyYW5zZm9ybTogICAgICAgICAgICAgc2NhbGUoMS4wMikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG1vZGFsLXZhcmlhYmxlc1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWxlcnQtdmFyaWFibGVzXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGFsZXJ0LWRpc21pc3NpYmxlLXBhZGRpbmctcjogICAkYWxlcnQtcGFkZGluZy14ICogMyAhZGVmYXVsdDsgLy8gM3ggY292ZXJzIHdpZHRoIG9mIHggcGx1cyBkZWZhdWx0IHBhZGRpbmcgb24gZWl0aGVyIHNpZGVcbi8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGFsZXJ0LWJnLXNjYWxlOiAgICAgICAgICAgICAgICAtODAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgdG8gYmUgcmVtb3ZlZCBpbiB2NlxuJGFsZXJ0LWJvcmRlci1zY2FsZTogICAgICAgICAgICAtNzAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgdG8gYmUgcmVtb3ZlZCBpbiB2NlxuJGFsZXJ0LWNvbG9yLXNjYWxlOiAgICAgICAgICAgICA0MCUgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wLCB0byBiZSByZW1vdmVkIGluIHY2XG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy12YXJpYWJsZXNcbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgICRwcmltYXJ5ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1hbmltYXRpb24tdGltaW5nOiAgICAgMXMgbGluZWFyIGluZmluaXRlICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFuc2l0aW9uOiAgICAgICAgICAgd2lkdGggLjZzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLXZhcmlhYmxlc1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGxpc3QtZ3JvdXAtdmFyaWFibGVzXG4kbGlzdC1ncm91cC1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteDogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kbGlzdC1ncm91cC1pdGVtLWJnLXNjYWxlOiAgICAgICAgICAtODAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjMuMFxuJGxpc3QtZ3JvdXAtaXRlbS1jb2xvci1zY2FsZTogICAgICAgNDAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjMuMFxuLy8gZnVzdi1lbmFibGVcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtdmFyaWFibGVzXG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGh1bWJuYWlsLXZhcmlhYmxlc1xuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGh1bWJuYWlsLXZhcmlhYmxlc1xuXG5cbi8vIEZpZ3VyZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZpZ3VyZS12YXJpYWJsZXNcbiRmaWd1cmUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZmlndXJlLXZhcmlhYmxlc1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBicmVhZGNydW1iLXZhcmlhYmxlc1xuJGJyZWFkY3J1bWItZm9udC1zaXplOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQ6ICAgICAgICAkYnJlYWRjcnVtYi1kaXZpZGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYnJlYWRjcnVtYi12YXJpYWJsZXNcblxuLy8gQ2Fyb3VzZWxcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcm91c2VsLXZhcmlhYmxlc1xuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1ob3Zlci1vcGFjaXR5OiAgICAgLjkgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uOiAgICAgICAgb3BhY2l0eSAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLWZpbHRlcjogICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5OiAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk6ICAxICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tcGFkZGluZy15OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDJyZW0gIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nPjxwYXRoIGQ9J00xMS4zNTQgMS42NDZhLjUuNSAwIDAgMSAwIC43MDhMNS43MDcgOGw1LjY0NyA1LjY0NmEuNS41IDAgMCAxLS43MDguNzA4bC02LTZhLjUuNSAwIDAgMSAwLS43MDhsNi02YS41LjUgMCAwIDEgLjcwOCAwJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTQuNjQ2IDEuNjQ2YS41LjUgMCAwIDEgLjcwOCAwbDYgNmEuNS41IDAgMCAxIDAgLjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOC0uNzA4TDEwLjI5MyA4IDQuNjQ2IDIuMzU0YS41LjUgMCAwIDEgMC0uNzA4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC1kYXJrLXZhcmlhYmxlc1xuJGNhcm91c2VsLWRhcmstaW5kaWNhdG9yLWFjdGl2ZS1iZzogICRibGFjayAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjRcbiRjYXJvdXNlbC1kYXJrLWNhcHRpb24tY29sb3I6ICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy40XG4kY2Fyb3VzZWwtZGFyay1jb250cm9sLWljb24tZmlsdGVyOiAgaW52ZXJ0KDEpIGdyYXlzY2FsZSgxMDApICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjMuNFxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJvdXNlbC1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIFNwaW5uZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLXZhcmlhYmxlc1xuJHNwaW5uZXItd2lkdGg6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLXZlcnRpY2FsLWFsaWduOiAgLS4xMjVlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogICAgLjI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6IC43NXMgIWRlZmF1bHQ7XG5cbiRzcGlubmVyLXdpZHRoLXNtOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodC1zbTogICAgICAgJHNwaW5uZXItd2lkdGgtc20gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGgtc206IC4yZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItdmFyaWFibGVzXG5cblxuLy8gQ2xvc2VcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNsb3NlLXZhcmlhYmxlc1xuJGJ0bi1jbG9zZS13aWR0aDogICAgICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWhlaWdodDogICAgICAgICAgICRidG4tY2xvc2Utd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXBhZGRpbmcteDogICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1wYWRkaW5nLXk6ICAgICAgICAkYnRuLWNsb3NlLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tY2xvc2UtY29sb3I6ICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1iZzogICAgICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nI3skYnRuLWNsb3NlLWNvbG9yfSc+PHBhdGggZD0nTS4yOTMuMjkzYTEgMSAwIDAgMSAxLjQxNCAwTDggNi41ODYgMTQuMjkzLjI5M2ExIDEgMCAxIDEgMS40MTQgMS40MTRMOS40MTQgOGw2LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQgMS40MTRMOCA5LjQxNGwtNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0LTEuNDE0TDYuNTg2IDggLjI5MyAxLjcwN2ExIDEgMCAwIDEgMC0xLjQxNCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtc2hhZG93OiAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tY2xvc2Utb3BhY2l0eTogICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk6ICAgIC43NSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eTogICAgMSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eTogLjI1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1maWx0ZXI6ICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS13aGl0ZS1maWx0ZXI6ICAgICBpbnZlcnQoMSkgZ3JheXNjYWxlKDEwMCUpIGJyaWdodG5lc3MoMjAwJSkgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMy40XG4vLyBzY3NzLWRvY3MtZW5kIGNsb3NlLXZhcmlhYmxlc1xuXG5cbi8vIE9mZmNhbnZhc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuJG9mZmNhbnZhcy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXBhZGRpbmcteDogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtaG9yaXpvbnRhbC13aWR0aDogICAgICAgIDQwMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1oZWlnaHQ6ICAgICAgICAgMzB2aCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgIC4zcyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICRtb2RhbC10aXRsZS1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmctY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY29sb3I6ICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAkbW9kYWwtYmFja2Ryb3AtYmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgb2ZmY2FudmFzLXZhcmlhYmxlc1xuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjE4NzVyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHJlbW92aW5nIGluIHY2XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbkBpbXBvcnQgXCJ2YXJpYWJsZXMtZGFya1wiOyAvLyBUT0RPOiBjYW4gYmUgcmVtb3ZlZCBzYWZlbHkgaW4gdjYsIG9ubHkgaGVyZSB0byBhdm9pZCBicmVha2luZyBjaGFuZ2VzIGluIHY1LjNcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtbWl4aW5zXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3Atc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbiIsIi8vXG4vLyBIZWFkaW5nc1xuLy9cbi5oMSB7XG4gIEBleHRlbmQgaDE7XG59XG5cbi5oMiB7XG4gIEBleHRlbmQgaDI7XG59XG5cbi5oMyB7XG4gIEBleHRlbmQgaDM7XG59XG5cbi5oNCB7XG4gIEBleHRlbmQgaDQ7XG59XG5cbi5oNSB7XG4gIEBleHRlbmQgaDU7XG59XG5cbi5oNiB7XG4gIEBleHRlbmQgaDY7XG59XG5cblxuLmxlYWQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGxlYWQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRsZWFkLWZvbnQtd2VpZ2h0O1xufVxuXG4vLyBUeXBlIGRpc3BsYXkgY2xhc3Nlc1xuQGVhY2ggJGRpc3BsYXksICRmb250LXNpemUgaW4gJGRpc3BsYXktZm9udC1zaXplcyB7XG4gIC5kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICBmb250LWZhbWlseTogJGRpc3BsYXktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGRpc3BsYXktZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGRpc3BsYXktZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgfVxufVxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG4uc21hbGwge1xuICBAZXh0ZW5kIHNtYWxsO1xufVxuXG4ubWFyayB7XG4gIEBleHRlbmQgbWFyaztcbn1cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5pdGlhbGlzbS1mb250LXNpemUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkYmxvY2txdW90ZS1tYXJnaW4teTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBtYXJnaW4tdG9wOiAtJGJsb2NrcXVvdGUtbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRibG9ja3F1b3RlLW1hcmdpbi15O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1mb290ZXItY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgKiAuNTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZmlndXJlLWNhcHRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzIHtcbiAgLy8gU2luZ2xlIGNvbnRhaW5lciBjbGFzcyB3aXRoIGJyZWFrcG9pbnQgbWF4LXdpZHRoc1xuICAuY29udGFpbmVyLFxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4dGVuZCBlYWNoIGJyZWFrcG9pbnQgd2hpY2ggaXMgc21hbGxlciBvciBlcXVhbCB0byB0aGUgY3VycmVudCBicmVha3BvaW50XG4gICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IHRydWU7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRleHRlbmQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRncmlkLWJyZWFrcG9pbnRzKX0ge1xuICAgICAgICAgICAgQGV4dGVuZCAlcmVzcG9uc2l2ZS1jb250YWluZXItI3skYnJlYWtwb2ludH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gT25jZSB0aGUgY3VycmVudCBicmVha3BvaW50IGlzIHJlYWNoZWQsIHN0b3AgZXh0ZW5kaW5nXG4gICAgICAgICAgQGlmICgkYnJlYWtwb2ludCA9PSAkbmFtZSkge1xuICAgICAgICAgICAgJGV4dGVuZC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBtaXhpbnNcblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRjb250YWluZXItcGFkZGluZy14KSB7XG4gIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIHlvdXIgY29sdW1ucy5cblxuOnJvb3Qge1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLSN7JHByZWZpeH1icmVha3BvaW50LSN7JG5hbWV9OiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcblxuICAgID4gKiB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgpO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1jc3NncmlkIHtcbiAgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQodmFyKC0tI3skcHJlZml4fXJvd3MsIDEpLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLSN7JHByZWZpeH1jb2x1bW5zLCAjeyRncmlkLWNvbHVtbnN9KSwgMWZyKTtcbiAgICBnYXA6IHZhcigtLSN7JHByZWZpeH1nYXAsICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7XG5cbiAgICBAaW5jbHVkZSBtYWtlLWNzc2dyaWQoKTtcbiAgfVxufVxuXG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLy8gVE9ETzogUmV2aXNpdCBjYWxjIG9yZGVyIGFmdGVyIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC1ib290c3RyYXAvcmVhY3QtYm9vdHN0cmFwL2lzc3Vlcy82MDM5IGlzIGZpeGVkXG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCkge1xuICAvLyBBZGQgYm94IHNpemluZyBpZiBvbmx5IHRoZSBncmlkIGlzIGxvYWRlZFxuICBib3gtc2l6aW5nOiBpZih2YXJpYWJsZS1leGlzdHMoaW5jbHVkZS1jb2x1bW4tYm94LXNpemluZykgYW5kICRpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nLCBib3JkZXItYm94LCBudWxsKTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHNldCB0aGUgd2lkdGhcbiAgLy8gbGF0ZXIgb24gdG8gb3ZlcnJpZGUgdGhpcyBpbml0aWFsIHdpZHRoLlxuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUHJldmVudCBgLmNvbC1hdXRvYCwgYC5jb2xgICgmIHJlc3BvbnNpdmUgdmFyaWFudHMpIGZyb20gYnJlYWtpbmcgb3V0IHRoZSBncmlkXG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZTogZmFsc2UsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiAkc2l6ZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKCRzaXplLCAkY29sdW1ucykpO1xuXG4gIH0gQGVsc2Uge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXIgb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkY291bnQpKTtcbiAgfVxufVxuXG4vLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleDogMSAwIDA7XG4gICAgICB9XG5cbiAgICAgIC5yb3ctY29scyN7JGluZml4fS1hdXRvID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gR3V0dGVyc1xuICAgICAgLy9cbiAgICAgIC8vIE1ha2UgdXNlIG9mIGAuZy0qYCwgYC5neC0qYCBvciBgLmd5LSpgIHV0aWxpdGllcyB0byBjaGFuZ2Ugc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRndXR0ZXJzIHtcbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd4I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3kjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jc3NncmlkKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5nLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgd2l0aCBgMWAgYmVjYXVzZSBgMGAgaXMgYW4gaW52YWxpZCB2YWx1ZS5cbiAgICAgICAgLy8gRW5kcyB3aXRoIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZS5cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgLmctc3RhcnQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6ICRpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgLy8gUmVzZXQgbmVlZGVkIGZvciBuZXN0aW5nIHRhYmxlc1xuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlOiBpbml0aWFsO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy10eXBlOiBpbml0aWFsO1xuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGU6IGluaXRpYWw7XG4gIC8vIEVuZCBvZiByZXNldFxuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvcjogI3skdGFibGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1iZzogI3skdGFibGUtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3I6ICN7JHRhYmxlLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjY2VudC1iZzogI3skdGFibGUtYWNjZW50LWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcjogI3skdGFibGUtc3RyaXBlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmc6ICN7JHRhYmxlLXN0cmlwZWQtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3I6ICN7JHRhYmxlLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZzogI3skdGFibGUtYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3I6ICN7JHRhYmxlLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItYmc6ICN7JHRhYmxlLWhvdmVyLWJnfTtcblxuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgdmVydGljYWwtYWxpZ246ICR0YWJsZS1jZWxsLXZlcnRpY2FsLWFsaWduO1xuICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3IpO1xuXG4gIC8vIFRhcmdldCB0aCAmIHRkXG4gIC8vIFdlIG5lZWQgdGhlIGNoaWxkIGNvbWJpbmF0b3IgdG8gcHJldmVudCBzdHlsZXMgbGVha2luZyB0byBuZXN0ZWQgdGFibGVzIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIGAudGFibGVgIGNsYXNzLlxuICAvLyBXZSB1c2UgdGhlIHVuaXZlcnNhbCBzZWxlY3RvcnMgaGVyZSB0byBzaW1wbGlmeSB0aGUgc2VsZWN0b3IgKGVsc2Ugd2Ugd291bGQgbmVlZCA2IGRpZmZlcmVudCBzZWxlY3RvcnMpLlxuICAvLyBBbm90aGVyIGFkdmFudGFnZSBpcyB0aGF0IHRoaXMgZ2VuZXJhdGVzIGxlc3MgY29kZSBhbmQgbWFrZXMgdGhlIHNlbGVjdG9yIGxlc3Mgc3BlY2lmaWMgbWFraW5nIGl0IGVhc2llciB0byBvdmVycmlkZS5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmcteSAkdGFibGUtY2VsbC1wYWRkaW5nLXg7XG4gICAgLy8gRm9sbG93aW5nIHRoZSBwcmVjZXB0IG9mIGNhc2NhZGVzOiBodHRwczovL2NvZGVwZW4uaW8vbWlyaWFtc3V6YW5uZS9mdWxsL3ZZTmdvZGJcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXN0YXRlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKSkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1iZyk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA5OTk5cHggdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjY2VudC1iZykpKTtcbiAgfVxuXG4gID4gdGJvZHkge1xuICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICB9XG5cbiAgPiB0aGVhZCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgfVxufVxuXG4udGFibGUtZ3JvdXAtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IGNhbGMoI3skdGFibGUtYm9yZGVyLXdpZHRofSAqIDIpIHNvbGlkICR0YWJsZS1ncm91cC1zZXBhcmF0b3ItY29sb3I7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbi8vXG4vLyBDaGFuZ2UgcGxhY2VtZW50IG9mIGNhcHRpb25zIHdpdGggYSBjbGFzc1xuLy9cblxuLmNhcHRpb24tdG9wIHtcbiAgY2FwdGlvbi1zaWRlOiB0b3A7XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXktc20gJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cbi8vXG4vLyBXaGVuIGJvcmRlcnMgYXJlIGFkZGVkIG9uIGFsbCBzaWRlcyBvZiB0aGUgY2VsbHMsIHRoZSBjb3JuZXJzIGNhbiByZW5kZXIgb2RkIHdoZW5cbi8vIHRoZXNlIGJvcmRlcnMgZG8gbm90IGhhdmUgdGhlIHNhbWUgY29sb3Igb3IgaWYgdGhleSBhcmUgc2VtaS10cmFuc3BhcmVudC5cbi8vIFRoZXJlZm9yZSB3ZSBhZGQgdG9wIGFuZCBib3JkZXIgYm90dG9tcyB0byB0aGUgYHRyYHMgYW5kIGxlZnQgYW5kIHJpZ2h0IGJvcmRlcnNcbi8vIHRvIHRoZSBgdGRgcyBvciBgdGhgc1xuXG4udGFibGUtYm9yZGVyZWQge1xuICA+IDpub3QoY2FwdGlvbikgPiAqIHtcbiAgICBib3JkZXItd2lkdGg6ICR0YWJsZS1ib3JkZXItd2lkdGggMDtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gICAgPiAqIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG5cbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4vLyBGb3Igcm93c1xuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgfVxufVxuXG4vLyBGb3IgY29sdW1uc1xuLnRhYmxlLXN0cmlwZWQtY29sdW1ucyB7XG4gID4gOm5vdChjYXB0aW9uKSA+IHRyID4gOm50aC1jaGlsZCgjeyR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXJ9KSB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgfVxufVxuXG4vLyBBY3RpdmUgdGFibGVcbi8vXG4vLyBUaGUgYC50YWJsZS1hY3RpdmVgIGNsYXNzIGNhbiBiZSBhZGRlZCB0byBoaWdobGlnaHQgcm93cyBvciBjZWxsc1xuXG4udGFibGUtYWN0aXZlIHtcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3IpO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZyk7XG59XG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZyk7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSB2YXJpYW50c1xuLy9cbi8vIFRhYmxlIHZhcmlhbnRzIHNldCB0aGUgdGFibGUgY2VsbCBiYWNrZ3JvdW5kcywgYm9yZGVyIGNvbG9yc1xuLy8gYW5kIHRoZSBjb2xvcnMgb2YgdGhlIHN0cmlwZWQsIGhvdmVyZWQgJiBhY3RpdmUgdGFibGVzXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0YWJsZS12YXJpYW50cyB7XG4gIEBpbmNsdWRlIHRhYmxlLXZhcmlhbnQoJGNvbG9yLCAkdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC50YWJsZS1yZXNwb25zaXZlI3skaW5maXh9IHtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFudFxuQG1peGluIHRhYmxlLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAkY29sb3I6IGNvbG9yLWNvbnRyYXN0KG9wYXF1ZSgkYm9keS1iZywgJGJhY2tncm91bmQpKTtcbiAgICAkaG92ZXItYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpKTtcbiAgICAkc3RyaXBlZC1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSk7XG4gICAgJGFjdGl2ZS1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpKTtcbiAgICAkdGFibGUtYm9yZGVyLWNvbG9yOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYm9yZGVyLWZhY3RvcikpO1xuXG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3I6ICN7JGNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1iZzogI3skYmFja2dyb3VuZH07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiAjeyR0YWJsZS1ib3JkZXItY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmc6ICN7JHN0cmlwZWQtYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJHN0cmlwZWQtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmcpfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZzogI3skaG92ZXItYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRob3Zlci1iZyl9O1xuXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1jb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYW50XG4iLCIvL1xuLy8gTGFiZWxzXG4vL1xuXG4uZm9ybS1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1sYWJlbC1mb250LXNpemUpO1xuICBmb250LXN0eWxlOiAkZm9ybS1sYWJlbC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGZvbnQtc3R5bGU6ICRmb3JtLWxhYmVsLWZvbnQtc3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcsICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIHBhZGRpbmctYm90dG9tOiBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSwgJGlucHV0LWJvcmRlci13aWR0aCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbn1cbiIsIi8vXG4vLyBGb3JtIHRleHRcbi8vXG5cbi5mb3JtLXRleHQge1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS10ZXh0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtc3R5bGU6ICRmb3JtLXRleHQtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLXRleHQtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xufVxuIiwiLy9cbi8vIEdlbmVyYWwgZm9ybSBjb250cm9scyAocGx1cyBhIGZldyBzcGVjaWZpYyBoaWdoLWxldmVsIGludGVydmVudGlvbnMpXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYXBwZWFyYW5jZTogbm9uZTsgLy8gRml4IGFwcGVhcmFuY2UgZm9yIGRhdGUgaW5wdXRzIGluIFNhZmFyaVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuXG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cywgMCk7XG5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gICZbdHlwZT1cImZpbGVcIl0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIHByZXZlbnQgcHNldWRvIGVsZW1lbnQgYnV0dG9uIG92ZXJsYXBcblxuICAgICY6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHtcbiAgICAvLyBPbiBBbmRyb2lkIENocm9tZSwgZm9ybS1jb250cm9sJ3MgXCJ3aWR0aDogMTAwJVwiIG1ha2VzIHRoZSBpbnB1dCB3aWR0aCB0b28gc21hbGxcbiAgICAvLyBUZXN0ZWQgdW5kZXIgQW5kcm9pZCAxMSAvIENocm9tZSA4OSwgQW5kcm9pZCAxMiAvIENocm9tZSAxMDAsIEFuZHJvaWQgMTMgLyBDaHJvbWUgMTA5XG4gICAgLy9cbiAgICAvLyBPbiBpT1MgU2FmYXJpLCBmb3JtLWNvbnRyb2wncyBcImFwcGVhcmFuY2U6IG5vbmVcIiArIFwid2lkdGg6IDEwMCVcIiBtYWtlcyB0aGUgaW5wdXQgd2lkdGggdG9vIHNtYWxsXG4gICAgLy8gVGVzdGVkIHVuZGVyIGlPUyAxNi4yIC8gU2FmYXJpIDE2LjJcbiAgICBtaW4td2lkdGg6IDg1cHg7IC8vIFNlZW1zIHRvIGJlIGEgZ29vZCBtaW5pbXVtIHNhZmUgd2lkdGhcblxuICAgIC8vIEFkZCBzb21lIGhlaWdodCB0byBkYXRlIGlucHV0cyBvbiBpT1NcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzIzMzA3XG4gICAgLy8gVE9ETzogd2UgY2FuIHJlbW92ZSB0aGlzIHdvcmthcm91bmQgb25jZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4OTU5IGlzIHJlc29sdmVkXG4gICAgLy8gTXVsdGlwbHkgbGluZS1oZWlnaHQgYnkgMWVtIGlmIGl0IGhhcyBubyB1bml0XG4gICAgaGVpZ2h0OiBpZih1bml0KCRpbnB1dC1saW5lLWhlaWdodCkgPT0gXCJcIiwgJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtbGluZS1oZWlnaHQpO1xuXG4gICAgLy8gQW5kcm9pZCBDaHJvbWUgdHlwZT1cImRhdGVcIiBpcyB0YWxsZXIgdGhhbiB0aGUgb3RoZXIgaW5wdXRzXG4gICAgLy8gYmVjYXVzZSBvZiBcIm1hcmdpbjogMXB4IDI0cHggMXB4IDRweFwiIGluc2lkZSB0aGUgc2hhZG93IERPTVxuICAgIC8vIFRlc3RlZCB1bmRlciBBbmRyb2lkIDExIC8gQ2hyb21lIDg5LCBBbmRyb2lkIDEyIC8gQ2hyb21lIDEwMCwgQW5kcm9pZCAxMyAvIENocm9tZSAxMDlcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBQcmV2ZW50IGV4Y2Vzc2l2ZSBkYXRlIGlucHV0IGhlaWdodCBpbiBXZWJraXRcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8zNDQzM1xuICAmOjotd2Via2l0LWRhdGV0aW1lLWVkaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIEZpbGUgaW5wdXQgYnV0dG9ucyB0aGVtaW5nXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXkpICgtJGlucHV0LXBhZGRpbmcteCk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXg7XG4gICAgY29sb3I6ICRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLWZpbGUtYnV0dG9uLWJnKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYm9yZGVyLWlubGluZS1lbmQtd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG4gIH1cblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZpbGUtYnV0dG9uLWhvdmVyLWJnO1xuICB9XG59XG5cbi8vIFJlYWRvbmx5IGNvbnRyb2xzIGFzIHBsYWluIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIHJlYWRvbmx5IGlucHV0IHRvIG1ha2UgaXQgYXBwZWFyIGxpa2UgcmVndWxhciBwbGFpblxuLy8gdGV4dCAod2l0aG91dCBhbnkgYm9yZGVyLCBiYWNrZ3JvdW5kIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3IpXG5cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG1hdGNoIGlucHV0cyBpZiB0aGlzIGNsYXNzIGNvbWVzIG9uIGlucHV0cyB3aXRoIGRlZmF1bHQgbWFyZ2luc1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LXBsYWludGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAwO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBSZXBlYXRlZCBpbiBgX2lucHV0X2dyb3VwLnNjc3NgIHRvIGF2b2lkIFNhc3MgZXh0ZW5kIGlzc3Vlcy5cblxuLmZvcm0tY29udHJvbC1zbSB7XG4gIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcblxuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15LXNtKSAoLSRpbnB1dC1wYWRkaW5nLXgtc20pO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14LXNtO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteS1sZykgKC0kaW5wdXQtcGFkZGluZy14LWxnKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteC1sZztcbiAgfVxufVxuXG4vLyBNYWtlIHN1cmUgdGV4dGFyZWFzIGRvbid0IHNocmluayB0b28gbXVjaCB3aGVuIHJlc2l6ZWRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzI5MTI0XG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbnRleHRhcmVhIHtcbiAgJi5mb3JtLWNvbnRyb2wge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICAmLmZvcm0tY29udHJvbC1zbSB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLWxnIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICB9XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4uZm9ybS1jb250cm9sLWNvbG9yIHtcbiAgd2lkdGg6ICRmb3JtLWNvbG9yLXdpZHRoO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXk7XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6Oi1tb3otY29sb3Itc3dhdGNoIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtY29sb3Itc3dhdGNoIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtIHsgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtOyB9XG4gICYuZm9ybS1jb250cm9sLWxnIHsgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnOyB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBAaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JhZGllbnQtYmctbWl4aW5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3I6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1iZy1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JhZGllbnQtbWl4aW5zXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogbnVsbCwgJGVuZC1wZXJjZW50OiBudWxsKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LW1peGluc1xuIiwiLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cHM6Ly9wcmltZXIuZ2l0aHViLmlvLy5cblxuLmZvcm0tc2VsZWN0IHtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nOiAje2VzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvcil9O1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGZvcm0tc2VsZWN0LXBhZGRpbmcteSAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgJGZvcm0tc2VsZWN0LXBhZGRpbmcteSAkZm9ybS1zZWxlY3QtcGFkZGluZy14O1xuICBmb250LWZhbWlseTogJGZvcm0tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1zZWxlY3QtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1zZWxlY3QtY29sb3I7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXNlbGVjdC1iZztcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWltZyksIHZhcigtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pY29uLCBub25lKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplO1xuICBib3JkZXI6ICRmb3JtLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cywgMCk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXNlbGVjdC10cmFuc2l0aW9uKTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3csICRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIGJveC1zaGFkb3c6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICZbbXVsdGlwbGVdLFxuICAmW3NpemVdOm5vdChbc2l6ZT1cIjFcIl0pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBSZW1vdmUgb3V0bGluZSBmcm9tIHNlbGVjdCBib3ggaW4gRkZcbiAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAkZm9ybS1zZWxlY3QtY29sb3I7XG4gIH1cbn1cblxuLmZvcm0tc2VsZWN0LXNtIHtcbiAgcGFkZGluZy10b3A6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLXNtKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLXNlbGVjdC1sZyB7XG4gIHBhZGRpbmctdG9wOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1sZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nOiAje2VzY2FwZS1zdmcoJGZvcm0tc2VsZWN0LWluZGljYXRvci1kYXJrKX07XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ2hlY2svcmFkaW9cbi8vXG5cbi5mb3JtLWNoZWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6ICRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTtcblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgcGFkZGluZy1yaWdodDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydCAqIC0xO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZzogI3skZm9ybS1jaGVjay1pbnB1dC1iZ307XG5cbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgaGVpZ2h0OiAkZm9ybS1jaGVjay1pbnB1dC13aWR0aDtcbiAgbWFyZ2luLXRvcDogKCRsaW5lLWhlaWdodC1iYXNlIC0gJGZvcm0tY2hlY2staW5wdXQtd2lkdGgpICogLjU7IC8vIGxpbmUtaGVpZ2h0IG1pbnVzIGNoZWNrIGhlaWdodFxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJvcmRlcjogJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyO1xuICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyAvLyBLZWVwIHRoZW1lZCBhcHBlYXJhbmNlIGZvciBwcmludFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLWNoZWNrLXRyYW5zaXRpb24pO1xuXG4gICZbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJlt0eXBlPVwicmFkaW9cIl0ge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1jaGVjay1yYWRpby1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGZpbHRlcjogJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgfVxuXG4gICY6Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuXG4gICAgJlt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cblxuICAgICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLXJhZGlvLWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW3R5cGU9XCJjaGVja2JveFwiXTppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I7XG5cbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlKX07XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZmlsdGVyOiBub25lO1xuICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHk7XG4gIH1cblxuICAvLyBVc2UgZGlzYWJsZWQgYXR0cmlidXRlIGluIGFkZGl0aW9uIG9mIDpkaXNhYmxlZCBwc2V1ZG8tY2xhc3NcbiAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MjQ3XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6ICRmb3JtLWNoZWNrLWxhYmVsLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgY29sb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yO1xuICBjdXJzb3I6ICRmb3JtLWNoZWNrLWxhYmVsLWN1cnNvcjtcbn1cblxuLy9cbi8vIFN3aXRjaFxuLy9cblxuLmZvcm0tc3dpdGNoIHtcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDtcblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtYmctaW1hZ2UpfTtcblxuICAgIHdpZHRoOiAkZm9ybS1zd2l0Y2gtd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXN3aXRjaC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRmb3JtLXN3aXRjaC10cmFuc2l0aW9uKTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtZm9jdXMtYmctaW1hZ2UpfTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb247XG5cbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2UpfSwgdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlKX07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5mb3JtLWNoZWNrLXJldmVyc2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0O1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5saW5lLW1hcmdpbi1lbmQ7XG59XG5cbi5idG4tY2hlY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkIHtcbiAgICArIC5idG4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrKSB7XG4gICAgLmZvcm0tc3dpdGNoIC5mb3JtLWNoZWNrLWlucHV0Om5vdCg6Y2hlY2tlZCk6bm90KDpmb2N1cykge1xuICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtYmctaW1hZ2UtZGFyayl9O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uZm9ybS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGFkZCgkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQsICRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIgICAgIHsgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0KSAqIC41OyAvLyBXZWJraXQgc3BlY2lmaWNcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uKTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uKTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGaXJlZm94IHNwZWNpZmljP1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cbiIsIi5mb3JtLWZsb2F0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIGhlaWdodDogJGZvcm0tZmxvYXRpbmctaGVpZ2h0O1xuICAgIG1pbi1oZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmxvYXRpbmctbGluZS1oZWlnaHQ7XG4gIH1cblxuICA+IGxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyAvLyBhbGxvdyB0ZXh0YXJlYXNcbiAgICBwYWRkaW5nOiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgJGZvcm0tZmxvYXRpbmctcGFkZGluZy14O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiKSwgI3skZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5fSk7XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIFJlcXVpcmVkIGZvciBhbGlnbmluZyBsYWJlbCdzIHRleHQgd2l0aCB0aGUgaW5wdXQgYXMgaXQgYWZmZWN0cyBpbm5lciBib3ggbW9kZWxcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1mbG9hdGluZy10cmFuc2l0aW9uKTtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgcGFkZGluZzogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6bm90KDpwbGFjZWhvbGRlci1zaG93bikge1xuICAgICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gICAgfVxuICAgIC8vIER1cGxpY2F0ZWQgYmVjYXVzZSBgOi13ZWJraXQtYXV0b2ZpbGxgIGludmFsaWRhdGVzIG90aGVyIHNlbGVjdG9ycyB3aGVuIGdyb3VwZWRcbiAgICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgICAgcGFkZGluZy10b3A6ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gICAgfVxuICB9XG5cbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgcGFkZGluZy1ib3R0b206ICRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICB0cmFuc2Zvcm06ICRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cbiAgLy8gRHVwbGljYXRlZCBiZWNhdXNlIGA6LXdlYmtpdC1hdXRvZmlsbGAgaW52YWxpZGF0ZXMgb3RoZXIgc2VsZWN0b3JzIHdoZW4gZ3JvdXBlZFxuICA+IC5mb3JtLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICB0cmFuc2Zvcm06ICRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTtcbiAgICB9XG4gIH1cbiAgPiB0ZXh0YXJlYTpmb2N1cyxcbiAgPiB0ZXh0YXJlYTpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gICAgfiBsYWJlbDo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAoJGZvcm0tZmxvYXRpbmctcGFkZGluZy14ICogLjUpO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBoZWlnaHQ6ICRmb3JtLWZsb2F0aW5nLWxhYmVsLWhlaWdodDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgPiB0ZXh0YXJlYTpkaXNhYmxlZCB+IGxhYmVsOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDsgLy8gUmVxdWlyZWQgdG8gcHJvcGVybHkgcG9zaXRpb24gbGFiZWwgdGV4dCAtIGFzIGV4cGxhaW5lZCBhYm92ZVxuICAgIH1cbiAgfVxuXG4gID4gOmRpc2FibGVkIH4gbGFiZWwsXG4gID4gLmZvcm0tY29udHJvbDpkaXNhYmxlZCB+IGxhYmVsIHsgLy8gUmVxdWlyZWQgZm9yIGAuZm9ybS1jb250cm9sYHMgYmVjYXVzZSBvZiBzcGVjaWZpY2l0eVxuICAgIGNvbG9yOiAkZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLXNlbGVjdCxcbiAgPiAuZm9ybS1mbG9hdGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDElO1xuICAgIG1pbi13aWR0aDogMDsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzYyNDcxNDAvd2h5LWRvbnQtZmxleC1pdGVtcy1zaHJpbmstcGFzdC1jb250ZW50LXNpemVcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgdG9wIG9mIHN1cnJvdW5kaW5nIGVsZW1lbnRzXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuZm9ybS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmZvcm0tZmxvYXRpbmc6Zm9jdXMtd2l0aGluIHtcbiAgICB6LWluZGV4OiA1O1xuICB9XG5cbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cbiAgLy8gVGhpcyBpc24ndCBuZWVkZWQgZm9yIGAuaW5wdXQtZ3JvdXAtdGV4dGAgc2luY2UgaXQgc2hhcmVzIHRoZSBzYW1lIGJvcmRlci1jb2xvclxuICAvLyBhcyBvdXIgaW5wdXRzLlxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteSAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteCArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBSb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uaW5wdXQtZ3JvdXAge1xuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoLmRyb3Bkb3duLW1lbnUpOm5vdCguZm9ybS1mbG9hdGluZyksXG4gICAgPiAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6bGFzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAmLmhhcy12YWxpZGF0aW9uIHtcbiAgICA+IDpudGgtbGFzdC1jaGlsZChuICsgMyk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDQpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tY29udHJvbCxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAkdmFsaWRhdGlvbi1tZXNzYWdlczogXCJcIjtcbiAgQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCRmb3JtLXZhbGlkYXRpb24tc3RhdGVzKSB7XG4gICAgJHZhbGlkYXRpb24tbWVzc2FnZXM6ICR2YWxpZGF0aW9uLW1lc3NhZ2VzICsgXCI6bm90KC5cIiArIHVucXVvdGUoJHN0YXRlKSArIFwiLXRvb2x0aXApXCIgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItZmVlZGJhY2spXCI7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLW1lbnUpI3skdmFsaWRhdGlvbi1tZXNzYWdlc30ge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmaXJzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG59XG4iLCIvLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1taXhpbnNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKFxuICAkc3RhdGUsXG4gICRjb2xvcixcbiAgJGljb24sXG4gICR0b29sdGlwLWNvbG9yOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkdG9vbHRpcC1iZy1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSksXG4gICRmb2N1cy1ib3gtc2hhZG93OiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgJGJvcmRlci1jb2xvcjogJGNvbG9yXG4pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGZvbnQtc3R5bGU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmctY29sb3I7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICAmOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSxcbiAgICAgICAgJjpub3QoW211bHRpcGxlXSlbc2l6ZT1cIjFcIl0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWljb246ICN7ZXNjYXBlLXN2ZygkaWNvbil9O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXNlbGVjdC1iZy1wb3NpdGlvbiwgJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb247XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkZm9ybS1zZWxlY3QtYmctc2l6ZSwgJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93LCAkZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICB3aWR0aDogYWRkKCRmb3JtLWNvbG9yLXdpZHRoLCAkaW5wdXQtaGVpZ2h0LWlubmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cblxuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zm9jdXMpLFxuICAgID4gLmZvcm0tc2VsZWN0Om5vdCg6Zm9jdXMpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgICAgQGlmICRzdGF0ZSA9PSBcInZhbGlkXCIge1xuICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH0gQGVsc2UgaWYgJHN0YXRlID09IFwiaW52YWxpZFwiIHtcbiAgICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1taXhpbnNcbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBidG4tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteDogI3skYnRuLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXk6ICN7JGJ0bi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1idG4tZm9udC1mYW1pbHk6ICN7JGJ0bi1mb250LWZhbWlseX07XG4gIEBpbmNsdWRlIHJmcygkYnRuLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnRuLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodDogI3skYnRuLWZvbnQtd2VpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWxpbmUtaGVpZ2h0OiAjeyRidG4tbGluZS1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGJ0bi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItd2lkdGg6ICN7JGJ0bi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXM6ICN7JGJ0bi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiAjeyRidG4tYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAjeyRidG4tZGlzYWJsZWQtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAwIDAgMCAjeyRidG4tZm9jdXMtd2lkdGh9IHJnYmEodmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1zaGFkb3ctcmdiKSwgLjUpO1xuICAvLyBzY3NzLWRvY3MtZW5kIGJ0bi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJ0bi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1idG4tcGFkZGluZy14KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLSN7JHByZWZpeH1idG4tZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1idG4tZm9udC13ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tI3skcHJlZml4fWJ0bi1saW5lLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiAkYnRuLXdoaXRlLXNwYWNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IGlmKCRlbmFibGUtYnV0dG9uLXBvaW50ZXJzLCBwb2ludGVyLCBudWxsKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWJ0bi1iZykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdykpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLmJ0bi1jaGVjayArICY6aG92ZXIge1xuICAgIC8vIG92ZXJyaWRlIGZvciB0aGUgY2hlY2tib3gvcmFkaW8gYnV0dG9uc1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYmcpKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tYm94LXNoYWRvdyksIHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tY2hlY2s6Zm9jdXMtdmlzaWJsZSArICYge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93KSwgdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpjaGVja2VkICsgJixcbiAgOm5vdCguYnRuLWNoZWNrKSArICY6YWN0aXZlLFxuICAmOmZpcnN0LWNoaWxkOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gICYuc2hvdyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZyk7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdykpO1xuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1jaGVjazpjaGVja2VkOmZvY3VzLXZpc2libGUgKyAmIHtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1zaGFkb3cpLCB2YXIoLS0jeyRwcmVmaXh9YnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fWJ0bi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldDpkaXNhYmxlZCAmIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIG5vbmUsIG51bGwpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYW50LWxvb3BzXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi0jeyRjb2xvcn0ge1xuICAgIEBpZiAkY29sb3IgPT0gXCJsaWdodFwiIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICR2YWx1ZSxcbiAgICAgICAgJGhvdmVyLWJhY2tncm91bmQ6IHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkaG92ZXItYm9yZGVyOiBzaGFkZS1jb2xvcigkdmFsdWUsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQpLFxuICAgICAgICAkYWN0aXZlLWJvcmRlcjogc2hhZGUtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KVxuICAgICAgKTtcbiAgICB9IEBlbHNlIGlmICRjb2xvciA9PSBcImRhcmtcIiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChcbiAgICAgICAgJHZhbHVlLFxuICAgICAgICAkdmFsdWUsXG4gICAgICAgICRob3Zlci1iYWNrZ3JvdW5kOiB0aW50LWNvbG9yKCR2YWx1ZSwgJGJ0bi1ob3Zlci1iZy10aW50LWFtb3VudCksXG4gICAgICAgICRob3Zlci1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWhvdmVyLWJvcmRlci10aW50LWFtb3VudCksXG4gICAgICAgICRhY3RpdmUtYmFja2dyb3VuZDogdGludC1jb2xvcigkdmFsdWUsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSxcbiAgICAgICAgJGFjdGl2ZS1ib3JkZXI6IHRpbnQtY29sb3IoJHZhbHVlLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpXG4gICAgICApO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJHZhbHVlLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJ0bi1vdXRsaW5lLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYW50LWxvb3BzXG5cblxuLy9cbi8vIExpbmsgYnV0dG9uc1xuLy9cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIC0tI3skcHJlZml4fWJ0bi1mb250LXdlaWdodDogI3skZm9udC13ZWlnaHQtbm9ybWFsfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNvbG9yOiAjeyRidG4tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGJ0bi1saW5rLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1ib3gtc2hhZG93OiAwIDAgMCAjMDAwOyAvLyBDYW4ndCB1c2UgYG5vbmVgIGFzIGtleXdvcmQgbmVnYXRlcyBhbGwgdmFsdWVzIHdoZW4gdXNlZCB3aXRoIG11bHRpcGxlIHNoYWRvd3NcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7JGJ0bi1saW5rLWZvY3VzLXNoYWRvdy1yZ2J9O1xuXG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNvbG9yKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWNvbG9yKTtcbiAgfVxuXG4gIC8vIE5vIG5lZWQgZm9yIGFuIGFjdGl2ZSBzdGF0ZSBoZXJlXG59XG5cblxuLy9cbi8vIEJ1dHRvbiBTaXplc1xuLy9cblxuLmJ0bi1sZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGJ0bi1mb250LXNpemUtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRidG4tZm9udC1zaXplLXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi12YXJpYW50KFxuICAkYmFja2dyb3VuZCxcbiAgJGJvcmRlcixcbiAgJGNvbG9yOiBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCksXG4gICRob3Zlci1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWNvbG9yOiBjb2xvci1jb250cmFzdCgkaG92ZXItYmFja2dyb3VuZCksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtYm9yZGVyOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKSxcbiAgJGRpc2FibGVkLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLFxuICAkZGlzYWJsZWQtYm9yZGVyOiAkYm9yZGVyLFxuICAkZGlzYWJsZWQtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRkaXNhYmxlZC1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6ICN7JGJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRob3Zlci1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skaG92ZXItYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKG1peCgkY29sb3IsICRib3JkZXIsIDE1JSkpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiAjeyRkaXNhYmxlZC1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skZGlzYWJsZWQtYm9yZGVyfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KFxuICAkY29sb3IsXG4gICRjb2xvci1ob3ZlcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsXG4gICRhY3RpdmUtYm9yZGVyOiAkY29sb3IsXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZClcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGNvbG9yLWhvdmVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IoJGNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Z3JhZGllbnQ6IG5vbmU7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1zaXplLW1peGluXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteDogI3skcGFkZGluZy14fTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUsIC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1zaXplLW1peGluXG4iLCIuZmFkZSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tZmFkZSk7XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xsYXBzZS1jbGFzc2VzXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2UpO1xuXG4gICYuY29sbGFwc2UtaG9yaXpvbnRhbCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24tY29sbGFwc2Utd2lkdGgpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLWNsYXNzZXNcbiIsIi8vIFRoZSBkcm9wZG93biB3cmFwcGVyIChgPGRpdj5gKVxuLmRyb3B1cCxcbi5kcm9wZW5kLFxuLmRyb3Bkb3duLFxuLmRyb3BzdGFydCxcbi5kcm9wdXAtY2VudGVyLFxuLmRyb3Bkb3duLWNlbnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgQGluY2x1ZGUgY2FyZXQoKTtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXppbmRleDogI3skemluZGV4LWRyb3Bkb3dufTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoOiAjeyRkcm9wZG93bi1taW4td2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1wYWRkaW5nLXg6ICN7JGRyb3Bkb3duLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteTogI3skZHJvcGRvd24tcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tc3BhY2VyOiAjeyRkcm9wZG93bi1zcGFjZXJ9O1xuICBAaW5jbHVkZSByZnMoJGRyb3Bkb3duLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3I6ICN7JGRyb3Bkb3duLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYmc6ICN7JGRyb3Bkb3duLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZzogI3skZHJvcGRvd24tZGl2aWRlci1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICN7JGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXl9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiAjeyRkcm9wZG93bi1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcjogI3skZHJvcGRvd24tbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjeyRkcm9wZG93bi1saW5rLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICN7JGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogI3skZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAjeyRkcm9wZG93bi1pdGVtLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcjogI3skZHJvcGRvd24taGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteDogI3skZHJvcGRvd24taGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXk6ICN7JGRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24temluZGV4KTtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgbWluLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbWluLXdpZHRoKTtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXBhZGRpbmcteCk7XG4gIG1hcmdpbjogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBtYXJnaW4gb2YgdWxcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1mb250LXNpemUpKTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93KSk7XG5cbiAgJltkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgPiAuZHJvcGRvd24taXRlbTpmaXJzdC1jaGlsZCxcbiAgICA+IGxpOmZpcnN0LWNoaWxkIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICAgID4gLmRyb3Bkb3duLWl0ZW06bGFzdC1jaGlsZCxcbiAgICA+IGxpOmxhc3QtY2hpbGQgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgfVxufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcmVzcG9uc2l2ZS1icmVha3BvaW50c1xuLy8gV2UgZGVsaWJlcmF0ZWx5IGhhcmRjb2RlIHRoZSBgYnMtYCBwcmVmaXggYmVjYXVzZSB3ZSBjaGVja1xuLy8gdGhpcyBjdXN0b20gcHJvcGVydHkgaW4gSlMgdG8gZGV0ZXJtaW5lIFBvcHBlcidzIHBvc2l0aW9uaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LXN0YXJ0IHtcbiAgICAgIC0tYnMtcG9zaXRpb246IHN0YXJ0O1xuXG4gICAgICAmW2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51I3skaW5maXh9LWVuZCB7XG4gICAgICAtLWJzLXBvc2l0aW9uOiBlbmQ7XG5cbiAgICAgICZbZGF0YS1icy1wb3BwZXJdIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHJlc3BvbnNpdmUtYnJlYWtwb2ludHNcblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLW1lbnVbZGF0YS1icy1wb3BwZXJdIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLXNwYWNlcik7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3BlbmQge1xuICAuZHJvcGRvd24tbWVudVtkYXRhLWJzLXBvcHBlcl0ge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoZW5kKTtcbiAgICAmOjphZnRlciB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLmRyb3BzdGFydCB7XG4gIC5kcm9wZG93bi1tZW51W2RhdGEtYnMtcG9wcGVyXSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1zcGFjZXIpO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoc3RhcnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGA8aHI+YCkgd2l0aGluIHRoZSBkcm9wZG93blxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXkpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tZGl2aWRlci1iZyk7XG4gIG9wYWNpdHk6IDE7IC8vIFJldmlzaXQgaW4gdjYgdG8gZGUtZHVwZSBzdHlsZXMgdGhhdCBjb25mbGljdCB3aXRoIDxocj4gZWxlbWVudFxufVxuXG4vLyBMaW5rcywgYnV0dG9ucywgYW5kIG1vcmUgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4vL1xuLy8gYDxidXR0b24+YC1zcGVjaWZpYyBzdHlsZXMgYXJlIGRlbm90ZWQgd2l0aCBgLy8gRm9yIDxidXR0b24+c2Bcbi5kcm9wZG93bi1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHNcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXgpO1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcik7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgbGlua3MgZnJvbSByYW5kb21seSBicmVha2luZyBvbnRvIG5ldyBsaW5lc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWl0ZW0tYm9yZGVyLXJhZGl1cywgMCkpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcodmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstaG92ZXItYmcpKTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1iZykpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpZigkZW5hYmxlLWdyYWRpZW50cywgbm9uZSwgbnVsbCk7XG4gIH1cbn1cblxuLmRyb3Bkb3duLW1lbnUuc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wZG93biBzZWN0aW9uIGhlYWRlcnNcbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1oZWFkZXItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gZm9yIHVzZSB3aXRoIGhlYWRpbmcgZWxlbWVudHNcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtc20pO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWRyb3Bkb3duLWhlYWRlci1jb2xvcik7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gRHJvcGRvd24gdGV4dFxuLmRyb3Bkb3duLWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24taXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1kcm9wZG93bi1pdGVtLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1jb2xvcik7XG59XG5cbi8vIERhcmsgZHJvcGRvd25zXG4uZHJvcGRvd24tbWVudS1kYXJrIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLWRhcmstY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tY29sb3I6ICN7JGRyb3Bkb3duLWRhcmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1iZzogI3skZHJvcGRvd24tZGFyay1iZ307XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI3skZHJvcGRvd24tZGFyay1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiAjeyRkcm9wZG93bi1kYXJrLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1kaXZpZGVyLWJnOiAjeyRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstaG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1kcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAjeyRkcm9wZG93bi1kYXJrLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogI3skZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9ZHJvcGRvd24taGVhZGVyLWNvbG9yOiAjeyRkcm9wZG93bi1kYXJrLWhlYWRlci1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tZGFyay1jc3MtdmFyc1xufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LW1peGluc1xuQG1peGluIGNhcmV0LWRvd24oJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwKCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1lbmQoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZDtcbn1cblxuQG1peGluIGNhcmV0LXN0YXJ0KCR3aWR0aDogJGNhcmV0LXdpZHRoKSB7XG4gIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KFxuICAkZGlyZWN0aW9uOiBkb3duLFxuICAkd2lkdGg6ICRjYXJldC13aWR0aCxcbiAgJHNwYWNpbmc6ICRjYXJldC1zcGFjaW5nLFxuICAkdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnblxuKSB7XG4gIEBpZiAkZW5hYmxlLWNhcmV0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1kb3duKCR3aWR0aCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cCgkd2lkdGgpO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGVuZCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWVuZCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHN0YXJ0IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1zdGFydCgkd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjYXJldC1taXhpbnNcbiIsIi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gIC8vIHRoZSBib3JkZXJzIHByb3Blcmx5XG4gID4gLmJ0bi1jaGVjazpjaGVja2VkICsgLmJ0bixcbiAgPiAuYnRuLWNoZWNrOmZvY3VzICsgLmJ0bixcbiAgPiAuYnRuOmhvdmVyLFxuICA+IC5idG46Zm9jdXMsXG4gID4gLmJ0bjphY3RpdmUsXG4gID4gLmJ0bi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnRuLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiA6bm90KC5idG4tY2hlY2s6Zmlyc3QtY2hpbGQpICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICN7JGJ0bi1ib3JkZXItd2lkdGh9KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6Zmlyc3QtY2hpbGQsXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG4gIH1cblxuICAvLyBUaGUgbGVmdCByYWRpdXMgc2hvdWxkIGJlIDAgaWYgdGhlIGJ1dHRvbiBpczpcbiAgLy8gLSB0aGUgXCJ0aGlyZCBvciBtb3JlXCIgY2hpbGRcbiAgLy8gLSB0aGUgc2Vjb25kIGNoaWxkIGFuZCB0aGUgcHJldmlvdXMgZWxlbWVudCBpc24ndCBgLmJ0bi1jaGVja2AgKG1ha2luZyBpdCB0aGUgZmlyc3QgY2hpbGQgdmlzdWFsbHkpXG4gIC8vIC0gcGFydCBvZiBhIGJ0bi1ncm91cCB3aGljaCBpc24ndCB0aGUgZmlyc3QgY2hpbGRcbiAgPiAuYnRuOm50aC1jaGlsZChuICsgMyksXG4gID4gOm5vdCguYnRuLWNoZWNrKSArIC5idG4sXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG4gIHBhZGRpbmctbGVmdDogJGJ0bi1wYWRkaW5nLXggKiAuNzU7XG5cbiAgJjo6YWZ0ZXIsXG4gIC5kcm9wdXAgJjo6YWZ0ZXIsXG4gIC5kcm9wZW5kICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wc3RhcnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygtMSAqICN7JGJ0bi1ib3JkZXItd2lkdGh9KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICAvLyBUaGUgdG9wIHJhZGl1cyBzaG91bGQgYmUgMCBpZiB0aGUgYnV0dG9uIGlzOlxuICAvLyAtIHRoZSBcInRoaXJkIG9yIG1vcmVcIiBjaGlsZFxuICAvLyAtIHRoZSBzZWNvbmQgY2hpbGQgYW5kIHRoZSBwcmV2aW91cyBlbGVtZW50IGlzbid0IGAuYnRuLWNoZWNrYCAobWFraW5nIGl0IHRoZSBmaXJzdCBjaGlsZCB2aXN1YWxseSlcbiAgLy8gLSBwYXJ0IG9mIGEgYnRuLWdyb3VwIHdoaWNoIGlzbid0IHRoZSBmaXJzdCBjaGlsZFxuICA+IC5idG46bnRoLWNoaWxkKG4gKyAzKSxcbiAgPiA6bm90KC5idG4tY2hlY2spICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcywgYDx1bD5gcyBvciBgPG9sPmBzLlxuXG4ubmF2IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXg6ICN7JG5hdi1saW5rLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLXBhZGRpbmcteTogI3skbmF2LWxpbmstcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRuYXYtbGluay1mb250LXNpemUsIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWZvbnQtd2VpZ2h0OiAjeyRuYXYtbGluay1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWNvbG9yOiAjeyRuYXYtbGluay1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yOiAjeyRuYXYtbGluay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAjeyRuYXYtbGluay1kaXNhYmxlZC1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWRlY29yYXRpb24gPT0gbm9uZSwgbnVsbCwgbm9uZSk7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbmF2LWxpbmstdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtbGluay1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogJG5hdi1saW5rLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsaWdodGVucyB0ZXh0XG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3IpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi10YWJzLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aDogI3skbmF2LXRhYnMtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItcmFkaXVzOiAjeyRuYXYtdGFicy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICN7JG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICN7JG5hdi10YWJzLWxpbmstYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdi10YWJzLWNzcy12YXJzXG5cbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1jb2xvcik7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWJvcmRlci1yYWRpdXMpKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBQcmV2ZW50cyBhY3RpdmUgLm5hdi1saW5rIHRhYiBvdmVybGFwcGluZyBmb2N1cyBvdXRsaW5lIG9mIHByZXZpb3VzL25leHQgLm5hdi1saW5rXG4gICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2LXRhYnMtbGluay1hY3RpdmUtYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1uYXYtdGFicy1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy9cbi8vIFBpbGxzXG4vL1xuXG4ubmF2LXBpbGxzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi1waWxscy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogI3skbmF2LXBpbGxzLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICN7JG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogI3skbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXYtcGlsbHMtY3NzLXZhcnNcblxuICAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdi1waWxscy1ib3JkZXItcmFkaXVzKSk7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAuc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3IpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKHZhcigtLSN7JHByZWZpeH1uYXYtcGlsbHMtbGluay1hY3RpdmUtYmcpKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBVbmRlcmxpbmVcbi8vXG5cbi5uYXYtdW5kZXJsaW5lIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi11bmRlcmxpbmUtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1nYXA6ICN7JG5hdi11bmRlcmxpbmUtZ2FwfTtcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGg6ICN7JG5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcjogI3skbmF2LXVuZGVybGluZS1saW5rLWFjdGl2ZS1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgbmF2LXVuZGVybGluZS1jc3MtdmFyc1xuXG4gIGdhcDogdmFyKC0tI3skcHJlZml4fW5hdi11bmRlcmxpbmUtZ2FwKTtcblxuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWJvcmRlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY3VycmVudGNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluay5hY3RpdmUsXG4gIC5zaG93ID4gLm5hdi1saW5rIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1qdXN0aWZpZWQge1xuICA+IC5uYXYtbGluayxcbiAgLm5hdi1pdGVtIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5hdi1maWxsLFxuLm5hdi1qdXN0aWZpZWQge1xuICAubmF2LWl0ZW0gLm5hdi1saW5rIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gTWFrZSBzdXJlIGJ1dHRvbiB3aWxsIGdyb3dcbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcblxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy8gTmF2YmFyXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy14OiAje2lmKCRuYXZiYXItcGFkZGluZy14ID09IG51bGwsIDAsICRuYXZiYXItcGFkZGluZy14KX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXk6ICN7JG5hdmJhci1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItY29sb3I6ICN7JG5hdmJhci1saWdodC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWRpc2FibGVkLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yOiAjeyRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLXBhZGRpbmcteTogI3skbmF2YmFyLWJyYW5kLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1tYXJnaW4tZW5kOiAjeyRuYXZiYXItYnJhbmQtbWFyZ2luLWVuZH07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1mb250LXNpemU6ICN7JG5hdmJhci1icmFuZC1mb250LXNpemV9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3I6ICN7JG5hdmJhci1saWdodC1icmFuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcjogI3skbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogI3skbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogI3skbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAjeyRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICN7JG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZX07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmc6ICN7ZXNjYXBlLXN2ZygkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZyl9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1ib3JkZXItY29sb3I6ICN7JG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICN7JG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aDogI3skbmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGh9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAjeyRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9ufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdmJhci1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1uYXZiYXItcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoKTtcblxuICAvLyBCZWNhdXNlIGZsZXggcHJvcGVydGllcyBhcmVuJ3QgaW5oZXJpdGVkLCB3ZSBuZWVkIHRvIHJlZGVjbGFyZSB0aGVzZSBmaXJzdFxuICAvLyBmZXcgcHJvcGVydGllcyBzbyB0aGF0IGNvbnRlbnQgbmVzdGVkIHdpdGhpbiBiZWhhdmUgcHJvcGVybHkuXG4gIC8vIFRoZSBgZmxleC13cmFwYCBwcm9wZXJ0eSBpcyBpbmhlcml0ZWQgdG8gc2ltcGxpZnkgdGhlIGV4cGFuZGVkIG5hdmJhcnNcbiAgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBpbmhlcml0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgPiAuY29udGFpbmVyLFxuICA+IC5jb250YWluZXItZmx1aWQge1xuICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICA+IC5jb250YWluZXIje2JyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRocyl9IHtcbiAgICAgIEBleHRlbmQgJWNvbnRhaW5lci1mbGV4LXByb3BlcnRpZXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1wYWRkaW5nLXkpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1wYWRkaW5nLXkpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtbWFyZ2luLWVuZCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1icmFuZC1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2XG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIChkb2Vzbid0IHJlcXVpcmUgYC5uYXZgLCBidXQgZG9lcyBtYWtlIHVzZSBvZiBgLm5hdi1saW5rYCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci1uYXYtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstcGFkZGluZy14OiAwO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1wYWRkaW5nLXk6ICN7JG5hdi1saW5rLXBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkbmF2LWxpbmstZm9udC1zaXplLCAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1mb250LXdlaWdodDogI3skbmF2LWxpbmstZm9udC13ZWlnaHR9O1xuICAtLSN7JHByZWZpeH1uYXYtbGluay1jb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG4gIC0tI3skcHJlZml4fW5hdi1saW5rLWhvdmVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9bmF2LWxpbmstZGlzYWJsZWQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItZGlzYWJsZWQtY29sb3IpO1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1uYXYtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBjYW5ub3QgdXNlIGBpbmhlcml0YCB0byBnZXQgdGhlIGAubmF2YmFyYHMgdmFsdWVcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5uYXYtbGluayB7XG4gICAgJi5hY3RpdmUsXG4gICAgJi5zaG93IHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLWFjdGl2ZS1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGV4dFxuLy9cbi8vXG5cbi5uYXZiYXItdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1uYXZiYXItY29sb3IpO1xuXG4gIGEsXG4gIGE6aG92ZXIsXG4gIGE6Zm9jdXMgIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1hY3RpdmUtY29sb3IpO1xuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBuYXZiYXJcbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciByZXNwb25zaXZlIGNvbGxhcHNpbmcgYW5kIHRvZ2dsaW5nIG9mIG5hdmJhciBjb250ZW50cy5cbi8vIFBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlIEJvb3RzdHJhcCBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLy8gV2hlbiBjb2xsYXBzZWQsIHByZXZlbnQgdGhlIHRvZ2dsZWFibGUgbmF2YmFyIGNvbnRlbnRzIGZyb20gYXBwZWFyaW5nIGluXG4vLyB0aGUgZGVmYXVsdCBmbGV4Ym94IHJvdyBvcmllbnRhdGlvbi4gUmVxdWlyZXMgdGhlIHVzZSBvZiBgZmxleC13cmFwOiB3cmFwYFxuLy8gb24gdGhlIGAubmF2YmFyYCBwYXJlbnQuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICAvLyBGb3IgYWx3YXlzIGV4cGFuZGVkIG9yIGV4dHJhIGZ1bGwgbmF2YmFycywgZW5zdXJlIGNvbnRlbnQgYWxpZ25zIGl0c2VsZlxuICAvLyBwcm9wZXJseSB2ZXJ0aWNhbGx5LiBDYW4gYmUgZWFzaWx5IG92ZXJyaWRkZW4gd2l0aCBmbGV4IHV0aWxpdGllcy5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8gQnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbmF2YmFyIHdoZW4gaW4gaXRzIGNvbGxhcHNlZCBzdGF0ZVxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLXBhZGRpbmcteCk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItZm9udC1zaXplKSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fW5hdmJhci1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyByZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItYm9yZGVyLWNvbG9yKTsgLy8gcmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItdHJhbnNpdGlvbikpO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1mb2N1cy13aWR0aCk7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLXRvZ2dsZXItaWNvbi1iZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xufVxuXG4ubmF2YmFyLW5hdi1zY3JvbGwge1xuICBtYXgtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9c2Nyb2xsLWhlaWdodCwgNzV2aCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItZXhwYW5kLWxvb3Bcbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL3NlbGVjdG9yLW5vLXVuaW9uLWNsYXNzLW5hbWVcbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5leHQpIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tI3skcHJlZml4fW5hdmJhci1uYXYtbGluay1wYWRkaW5nLXgpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9bmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci1uYXYtc2Nyb2xsIHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdmJhci10b2dnbGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmNhbnZhcyB7XG4gICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICB6LWluZGV4OiBhdXRvO1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihub25lKTtcbiAgICAgICAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4gICAgICAgICAgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAub2ZmY2FudmFzLWJvZHkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZXhwYW5kLWxvb3BcblxuLy8gTmF2YmFyIHRoZW1lc1xuLy9cbi8vIFN0eWxlcyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gbmF2YmFycyB3aXRoIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC5cblxuLm5hdmJhci1saWdodCB7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImAubmF2YmFyLWxpZ2h0YFwiLCBcInY1LjIuMFwiLCBcInY2LjAuMFwiLCB0cnVlKTtcbn1cblxuLm5hdmJhci1kYXJrLFxuLm5hdmJhcltkYXRhLWJzLXRoZW1lPVwiZGFya1wiXSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItZGFyay1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1uYXZiYXItY29sb3I6ICN7JG5hdmJhci1kYXJrLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci1kaXNhYmxlZC1jb2xvcjogI3skbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYWN0aXZlLWNvbG9yOiAjeyRuYXZiYXItZGFyay1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItYnJhbmQtY29sb3I6ICN7JG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bmF2YmFyLWJyYW5kLWhvdmVyLWNvbG9yOiAjeyRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWJvcmRlci1jb2xvcjogI3skbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1uYXZiYXItdG9nZ2xlci1pY29uLWJnOiAje2VzY2FwZS1zdmcoJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZyl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLWNzcy12YXJzXG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICAgIC0tI3skcHJlZml4fW5hdmJhci10b2dnbGVyLWljb24tYmc6ICN7ZXNjYXBlLXN2ZygkbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnKX07XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmQtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteTogI3skY2FyZC1zcGFjZXIteX07XG4gIC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXg6ICN7JGNhcmQtc3BhY2VyLXh9O1xuICAtLSN7JHByZWZpeH1jYXJkLXRpdGxlLXNwYWNlci15OiAjeyRjYXJkLXRpdGxlLXNwYWNlci15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1jb2xvcjogI3skY2FyZC10aXRsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtc3VidGl0bGUtY29sb3I6ICN7JGNhcmQtc3VidGl0bGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aDogI3skY2FyZC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcjogI3skY2FyZC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1yYWRpdXM6ICN7JGNhcmQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWNhcmQtYm94LXNoYWRvdzogI3skY2FyZC1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXk6ICN7JGNhcmQtY2FwLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteDogI3skY2FyZC1jYXAtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmc6ICN7JGNhcmQtY2FwLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3I6ICN7JGNhcmQtY2FwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1oZWlnaHQ6ICN7JGNhcmQtaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jb2xvcjogI3skY2FyZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYmc6ICN7JGNhcmQtYmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICN7JGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZ307XG4gIC0tI3skcHJlZml4fWNhcmQtZ3JvdXAtbWFyZ2luOiAjeyRjYXJkLWdyb3VwLW1hcmdpbn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgY2FyZC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwOyAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjI3NDAjaXNzdWVjb21tZW50LTMwNTg2ODEwNlxuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1jYXJkLWhlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcik7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3gtc2hhZG93KSk7XG5cbiAgPiBociB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgPiAubGlzdC1ncm91cCB7XG4gICAgYm9yZGVyLXRvcDogaW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tOiBpbmhlcml0O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBEdWUgdG8gc3BlY2lmaWNpdHkgb2YgdGhlIGFib3ZlIHNlbGVjdG9yIChgLmNhcmQgPiAubGlzdC1ncm91cGApLCB3ZSBtdXN0XG4gIC8vIHVzZSBhIGNoaWxkIHNlbGVjdG9yIGhlcmUgdG8gcHJldmVudCBkb3VibGUgYm9yZGVycy5cbiAgPiAuY2FyZC1oZWFkZXIgKyAubGlzdC1ncm91cCxcbiAgPiAubGlzdC1ncm91cCArIC5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG4uY2FyZC1ib2R5IHtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIGZvciBkZWNrcyBhbmQgZ3JvdXBzIHNvIHRoYXQgY2FyZCBibG9ja3MgdGFrZSB1cFxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY29sb3IpO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLXRpdGxlLXNwYWNlci15KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLXRpdGxlLWNvbG9yKTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLXRpdGxlLXNwYWNlci15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zdWJ0aXRsZS1jb2xvcik7XG59XG5cbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWxpbmsge1xuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRsaW5rLWhvdmVyLWRlY29yYXRpb24gPT0gdW5kZXJsaW5lLCBub25lLCBudWxsKTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14KTtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1iZyk7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIDAgMCk7XG4gIH1cbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmcpO1xuICBib3JkZXItdG9wOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gSGVhZGVyIG5hdnNcbi8vXG5cbi5jYXJkLWhlYWRlci10YWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIC5uYXYtbGluay5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gIH1cbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3AsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICA+IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ncm91cC1tYXJnaW4pO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIGZsZXg6IDEgMCAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgKyAuY2FyZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIHJvdW5kZWQgY29ybmVyc1xuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICA+IC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgPiAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICA+IC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgPiAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgID4gLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICA+IC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWNjb3JkaW9uIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGFjY29yZGlvbi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tY29sb3I6ICN7JGFjY29yZGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1iZzogI3skYWNjb3JkaW9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLXRyYW5zaXRpb246ICN7JGFjY29yZGlvbi10cmFuc2l0aW9ufTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcjogI3skYWNjb3JkaW9uLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItd2lkdGg6ICN7JGFjY29yZGlvbi1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9yZGVyLXJhZGl1czogI3skYWNjb3JkaW9uLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1czogI3skYWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteDogI3skYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteTogI3skYWNjb3JkaW9uLWJ1dHRvbi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWNvbG9yOiAjeyRhY2NvcmRpb24tYnV0dG9uLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1iZzogI3skYWNjb3JkaW9uLWJ1dHRvbi1iZ307XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWljb24pfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoOiAjeyRhY2NvcmRpb24taWNvbi13aWR0aH07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2Zvcm06ICN7JGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2l0aW9uOiAjeyRhY2NvcmRpb24taWNvbi10cmFuc2l0aW9ufTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1hY3RpdmUtaWNvbjogI3tlc2NhcGUtc3ZnKCRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uKX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tZm9jdXMtYm94LXNoYWRvdzogI3skYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvZHktcGFkZGluZy14OiAjeyRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICN7JGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtY29sb3I6ICN7JGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1iZzogI3skYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmd9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGFjY29yZGlvbi1jc3MtdmFyc1xufVxuXG4uYWNjb3JkaW9uLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIFJlc2V0IGJ1dHRvbiBzdHlsZVxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1iZyk7XG4gIGJvcmRlcjogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgb3ZlcmZsb3ctYW5jaG9yOiBub25lO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tdHJhbnNpdGlvbikpO1xuXG4gICY6bm90KC5jb2xsYXBzZWQpIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYWN0aXZlLWJnKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aCkpIDAgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3IpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4tYWN0aXZlLWljb24pO1xuICAgICAgdHJhbnNmb3JtOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXRyYW5zZm9ybSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWNjb3JkaW9uIGljb25cbiAgJjo6YWZ0ZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uLXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWljb24td2lkdGgpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1idG4taWNvbi10cmFuc2l0aW9uKSk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMztcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWZvY3VzLWJveC1zaGFkb3cpO1xuICB9XG59XG5cbi5hY2NvcmRpb24taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFjY29yZGlvbi1pdGVtIHtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKTtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG5cbiAgICA+IC5hY2NvcmRpb24taGVhZGVyIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24taW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuXG4gIC8vIE9ubHkgc2V0IGEgYm9yZGVyLXJhZGl1cyBvbiB0aGUgbGFzdCBpdGVtIGlmIHRoZSBhY2NvcmRpb24gaXMgY29sbGFwc2VkXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1yYWRpdXMpKTtcblxuICAgID4gLmFjY29yZGlvbi1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgJi5jb2xsYXBzZWQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5hY2NvcmRpb24tY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWFjY29yZGlvbi1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG59XG5cbi5hY2NvcmRpb24tYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hY2NvcmRpb24tYm9keS1wYWRkaW5nLXgpO1xufVxuXG5cbi8vIEZsdXNoIGFjY29yZGlvbiBpdGVtc1xuLy9cbi8vIFJlbW92ZSBib3JkZXJzIGFuZCBib3JkZXItcmFkaXVzIHRvIGtlZXAgYWNjb3JkaW9uIGl0ZW1zIGVkZ2UtdG8tZWRnZS5cblxuLmFjY29yZGlvbi1mbHVzaCB7XG4gID4gLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICAgICY6Zmlyc3QtY2hpbGQgeyBib3JkZXItdG9wOiAwOyB9XG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LWNsYXNzXG4gICAgPiAuYWNjb3JkaW9uLWNvbGxhcHNlLFxuICAgID4gLmFjY29yZGlvbi1oZWFkZXIgLmFjY29yZGlvbi1idXR0b24sXG4gICAgPiAuYWNjb3JkaW9uLWhlYWRlciAuYWNjb3JkaW9uLWJ1dHRvbi5jb2xsYXBzZWQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1tYXgtY2xhc3NcbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmspIHtcbiAgICAuYWNjb3JkaW9uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJ0bi1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24taWNvbi1kYXJrKX07XG4gICAgICAtLSN7JHByZWZpeH1hY2NvcmRpb24tYnRuLWFjdGl2ZS1pY29uOiAje2VzY2FwZS1zdmcoJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb24tZGFyayl9O1xuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteTogI3skYnJlYWRjcnVtYi1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b206ICN7JGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbX07XG4gIEBpbmNsdWRlIHJmcygkYnJlYWRjcnVtYi1mb250LXNpemUsIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1iZzogI3skYnJlYWRjcnVtYi1iZ307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYm9yZGVyLXJhZGl1czogI3skYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAjeyRicmVhZGNydW1iLWRpdmlkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAjeyRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogI3skYnJlYWRjcnVtYi1hY3RpdmUtY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy14KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1mb250LXNpemUpKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBmbG9hdDogbGVmdDsgLy8gU3VwcHJlc3MgaW5saW5lIHNwYWNpbmdzIGFuZCB1bmRlcmxpbmluZyBvZiB0aGUgc2VwYXJhdG9yXG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG4gICAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcik7XG4gICAgICBjb250ZW50OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLCBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXIpKSAje1wiLyogcnRsOlwifSB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLCBlc2NhcGUtc3ZnKCRicmVhZGNydW1iLWRpdmlkZXItZmxpcHBlZCkpICN7XCIqL1wifTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yKTtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteDogI3skcGFnaW5hdGlvbi1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteTogI3skcGFnaW5hdGlvbi1wYWRkaW5nLXl9O1xuICBAaW5jbHVkZSByZnMoJHBhZ2luYXRpb24tZm9udC1zaXplLCAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tY29sb3I6ICN7JHBhZ2luYXRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJnOiAjeyRwYWdpbmF0aW9uLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICN7JHBhZ2luYXRpb24tYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAjeyRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1iZzogI3skcGFnaW5hdGlvbi1ob3Zlci1iZ307XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAjeyRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9jdXMtY29sb3I6ICN7JHBhZ2luYXRpb24tZm9jdXMtY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWJnOiAjeyRwYWdpbmF0aW9uLWZvY3VzLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAjeyRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogI3skcGFnaW5hdGlvbi1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1iZzogI3skcGFnaW5hdGlvbi1hY3RpdmUtYmd9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICN7JHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAjeyRwYWdpbmF0aW9uLWRpc2FibGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBwYWdpbmF0aW9uLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZCgpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstZGVjb3JhdGlvbiA9PSBub25lLCBudWxsLCBub25lKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkcGFnaW5hdGlvbi10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvY3VzLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1iZyk7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICYuYWN0aXZlLFxuICAuYWN0aXZlID4gJiB7XG4gICAgei1pbmRleDogMztcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZyh2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1hY3RpdmUtYmcpKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgLmRpc2FibGVkID4gJiB7XG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3IpO1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOm5vdCg6Zmlyc3QtY2hpbGQpIC5wYWdlLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkcGFnaW5hdGlvbi1tYXJnaW4tc3RhcnQ7XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tbWFyZ2luLXN0YXJ0ID09IGNhbGMoLTEgKiAjeyRwYWdpbmF0aW9uLWJvcmRlci13aWR0aH0pIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEFkZCBib3JkZXItcmFkaXVzIHRvIGFsbCBwYWdlTGlua3MgaW4gY2FzZSB0aGV5IGhhdmUgbGVmdCBtYXJnaW5cbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi1taXhpblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteDogI3skcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLCAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG59XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tbWl4aW5cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi5iYWRnZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1iYWRnZS1wYWRkaW5nLXg6ICN7JGJhZGdlLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJhZGdlLXBhZGRpbmcteTogI3skYmFkZ2UtcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRiYWRnZS1mb250LXNpemUsIC0tI3skcHJlZml4fWJhZGdlLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJhZGdlLWZvbnQtd2VpZ2h0OiAjeyRiYWRnZS1mb250LXdlaWdodH07XG4gIC0tI3skcHJlZml4fWJhZGdlLWNvbG9yOiAjeyRiYWRnZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJhZGdlLWJvcmRlci1yYWRpdXM6ICN7JGJhZGdlLWJvcmRlci1yYWRpdXN9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGJhZGdlLWNzcy12YXJzXG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YmFkZ2UtcGFkZGluZy14KTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1iYWRnZS1mb250LXNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1iYWRnZS1mb250LXdlaWdodCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJhZGdlLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJhZGdlLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoKTtcblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBhbGVydC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1hbGVydC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LXBhZGRpbmcteDogI3skYWxlcnQtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtcGFkZGluZy15OiAjeyRhbGVydC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1hbGVydC1tYXJnaW4tYm90dG9tOiAjeyRhbGVydC1tYXJnaW4tYm90dG9tfTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtY29sb3I6IGluaGVyaXQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWFsZXJ0LWJvcmRlcjogI3skYWxlcnQtYm9yZGVyLXdpZHRofSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLWNvbG9yKTtcbiAgLS0jeyRwcmVmaXh9YWxlcnQtYm9yZGVyLXJhZGl1czogI3skYWxlcnQtYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWFsZXJ0LWxpbmstY29sb3I6IGluaGVyaXQ7XG4gIC8vIHNjc3MtZG9jcy1lbmQgYWxlcnQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1hbGVydC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtbWFyZ2luLWJvdHRvbSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YWxlcnQtYmcpO1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXIpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4uYWxlcnQtaGVhZGluZyB7XG4gIC8vIFNwZWNpZmllZCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3MtY29sb3JcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4uYWxlcnQtbGluayB7XG4gIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1hbGVydC1saW5rLWNvbG9yKTtcbn1cblxuXG4vLyBEaXNtaXNzaWJsZSBhbGVydHNcbi8vXG4vLyBFeHBhbmQgdGhlIHJpZ2h0IHBhZGRpbmcgYW5kIGFjY291bnQgZm9yIHRoZSBjbG9zZSBidXR0b24ncyBwb3NpdGlvbmluZy5cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogJGFsZXJ0LWRpc21pc3NpYmxlLXBhZGRpbmctcjtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuYnRuLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6ICRzdHJldGNoZWQtbGluay16LWluZGV4ICsgMTtcbiAgICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZy15ICogMS4yNSAkYWxlcnQtcGFkZGluZy14O1xuICB9XG59XG5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LW1vZGlmaWVyc1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydFxuQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCR0aGVtZS1jb2xvcnMpIHtcbiAgLmFsZXJ0LSN7JHN0YXRlfSB7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1hbGVydC1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYm9yZGVyLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9YWxlcnQtbGluay1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS10ZXh0LWVtcGhhc2lzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBhbGVydC1tb2RpZmllcnNcbiIsIi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3Mta2V5ZnJhbWVzXG5AaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICAgIDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTsgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLWtleWZyYW1lc1xuXG4ucHJvZ3Jlc3MsXG4ucHJvZ3Jlc3Mtc3RhY2tlZCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBwcm9ncmVzcy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQ6ICN7JHByb2dyZXNzLWhlaWdodH07XG4gIEBpbmNsdWRlIHJmcygkcHJvZ3Jlc3MtZm9udC1zaXplLCAtLSN7JHByZWZpeH1wcm9ncmVzcy1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iZzogI3skcHJvZ3Jlc3MtYmd9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAjeyRwcm9ncmVzcy1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm94LXNoYWRvdzogI3skcHJvZ3Jlc3MtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXByb2dyZXNzLWJhci1jb2xvcjogI3skcHJvZ3Jlc3MtYmFyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWJnOiAjeyRwcm9ncmVzcy1iYXItYmd9O1xuICAtLSN7JHByZWZpeH1wcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogI3skcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb259O1xuICAvLyBzY3NzLWRvY3MtZW5kIHByb2dyZXNzLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtaGVpZ2h0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZm9yY2Ugcm91bmRlZCBjb3JuZXJzIGJ5IGNyb3BwaW5nIGl0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtZm9udC1zaXplKSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fXByb2dyZXNzLWJvcmRlci1yYWRpdXMpKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyh2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYm94LXNoYWRvdykpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLWJnKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9cHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb24pKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpIHZhcigtLSN7JHByZWZpeH1wcm9ncmVzcy1oZWlnaHQpO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucHJvZ3Jlc3Mtc3RhY2tlZCA+IC5wcm9ncmVzcyA+IC5wcm9ncmVzcy1iYXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246ICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZyBwcm9ncmVzcy1iYXItc3RyaXBlcztcblxuICAgIEBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBFYXNpbHkgdXNhYmxlIG9uIDx1bD4sIDxvbD4sIG9yIDxkaXY+LlxuXG4ubGlzdC1ncm91cCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtY29sb3I6ICN7JGxpc3QtZ3JvdXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJnOiAjeyRsaXN0LWdyb3VwLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICN7JGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICN7JGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAjeyRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAjeyRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogI3skbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWJnOiAjeyRsaXN0LWdyb3VwLWhvdmVyLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICN7JGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICN7JGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWRpc2FibGVkLWJnOiAjeyRsaXN0LWdyb3VwLWRpc2FibGVkLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICN7JGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmc6ICN7JGxpc3QtZ3JvdXAtYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtY3NzLXZhcnNcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xufVxuXG4ubGlzdC1ncm91cC1udW1iZXJlZCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogc2VjdGlvbjtcblxuICA+IC5saXN0LWdyb3VwLWl0ZW06OmJlZm9yZSB7XG4gICAgLy8gSW5jcmVtZW50cyBvbmx5IHRoaXMgaW5zdGFuY2Ugb2YgdGhlIHNlY3Rpb24gY291bnRlclxuICAgIGNvbnRlbnQ6IGNvdW50ZXJzKHNlY3Rpb24sIFwiLlwiKSBcIi4gXCI7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IHNlY3Rpb247XG4gIH1cbn1cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1kZWNvcmF0aW9uID09IG5vbmUsIG51bGwsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1iZyk7XG4gIGJvcmRlcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKGluaGVyaXQpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyhpbmhlcml0KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtZGlzYWJsZWQtYmcpO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3Mvc2VsZWN0b3Itbm8tcmVkdW5kYW50LW5lc3Rpbmctc2VsZWN0b3JcbiAgJiArIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlXG4vLyBsaXN0IGl0ZW1zLiBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNlbGVjdGVkIGl0ZW1zLlxuXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgYmVjb21lIDEwMCUgYnkgZGVmYXVsdCB0aG91Z2gpXG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tY29sb3IpO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAmOm5vdCguYWN0aXZlKSB7XG4gICAgLy8gSG92ZXIgc3RhdGVcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMTsgLy8gUGxhY2UgaG92ZXIvZm9jdXMgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcik7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24taG92ZXItYmcpO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsXG4vL1xuLy8gQ2hhbmdlIHRoZSBsYXlvdXQgb2YgbGlzdCBncm91cCBpdGVtcyBmcm9tIHZlcnRpY2FsIChkZWZhdWx0KSB0byBob3Jpem9udGFsLlxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAubGlzdC1ncm91cC1ob3Jpem9udGFsI3skaW5maXh9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXModmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cykpO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtZW5kLXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1lbmQtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuXG4gID4gLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgdmFyKC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoKTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLW1vZGlmaWVyc1xuLy8gTGlzdCBncm91cCBjb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRzdGF0ZSBpbiBtYXAta2V5cygkdGhlbWUtY29sb3JzKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tYmctc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1iZzogdmFyKC0tI3skcHJlZml4fSN7JHN0YXRlfS1ib3JkZXItc3VidGxlKTtcbiAgICAtLSN7JHByZWZpeH1saXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6IHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJvcmRlci1zdWJ0bGUpO1xuICAgIC0tI3skcHJlZml4fWxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LWJnLXN1YnRsZSk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYmc6IHZhcigtLSN7JHByZWZpeH0jeyRzdGF0ZX0tdGV4dC1lbXBoYXNpcyk7XG4gICAgLS0jeyRwcmVmaXh9bGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9I3skc3RhdGV9LXRleHQtZW1waGFzaXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGxpc3QtZ3JvdXAtbW9kaWZpZXJzXG4iLCIvLyBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgcHJvcGVydGllcyBpbmNsdWRlZCBmb3IgYnV0dG9uIHZlcnNpb24uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbi5idG4tY2xvc2Uge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgY2xvc2UtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWNvbG9yOiAjeyRidG4tY2xvc2UtY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtYmc6ICN7IGVzY2FwZS1zdmcoJGJ0bi1jbG9zZS1iZykgfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWhvdmVyLW9wYWNpdHk6ICN7JGJ0bi1jbG9zZS1ob3Zlci1vcGFjaXR5fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLXNoYWRvdzogI3skYnRuLWNsb3NlLWZvY3VzLXNoYWRvd307XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAjeyRidG4tY2xvc2UtZm9jdXMtb3BhY2l0eX07XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAjeyRidG4tY2xvc2UtZGlzYWJsZWQtb3BhY2l0eX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtY3NzLXZhcnNcblxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgd2lkdGg6ICRidG4tY2xvc2Utd2lkdGg7XG4gIGhlaWdodDogJGJ0bi1jbG9zZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRidG4tY2xvc2UtcGFkZGluZy15ICRidG4tY2xvc2UtcGFkZGluZy14O1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1jb2xvcik7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtYmcpIGNlbnRlciAvICRidG4tY2xvc2Utd2lkdGggYXV0byBuby1yZXBlYXQ7IC8vIGluY2x1ZGUgdHJhbnNwYXJlbnQgZm9yIGJ1dHRvbiBlbGVtZW50c1xuICBmaWx0ZXI6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZmlsdGVyKTtcbiAgYm9yZGVyOiAwOyAvLyBmb3IgYnV0dG9uIGVsZW1lbnRzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbiAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1vcGFjaXR5KTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG9wYWNpdHk6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtaG92ZXItb3BhY2l0eSk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1idG4tY2xvc2UtZm9jdXMtc2hhZG93KTtcbiAgICBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9YnRuLWNsb3NlLWZvY3VzLW9wYWNpdHkpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3BhY2l0eTogdmFyKC0tI3skcHJlZml4fWJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgfVxufVxuXG5AbWl4aW4gYnRuLWNsb3NlLXdoaXRlKCkge1xuICAtLSN7JHByZWZpeH1idG4tY2xvc2UtZmlsdGVyOiAjeyRidG4tY2xvc2UtZmlsdGVyLWRhcmt9O1xufVxuXG4uYnRuLWNsb3NlLXdoaXRlIHtcbiAgQGluY2x1ZGUgYnRuLWNsb3NlLXdoaXRlKCk7XG59XG5cbjpyb290LFxuW2RhdGEtYnMtdGhlbWU9XCJsaWdodFwiXSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jbG9zZS1maWx0ZXI6ICN7JGJ0bi1jbG9zZS1maWx0ZXJ9O1xufVxuXG5AaWYgJGVuYWJsZS1kYXJrLW1vZGUge1xuICBAaW5jbHVkZSBjb2xvci1tb2RlKGRhcmssIHRydWUpIHtcbiAgICBAaW5jbHVkZSBidG4tY2xvc2Utd2hpdGUoKTtcbiAgfVxufVxuIiwiLnRvYXN0IHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvYXN0LWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXRvYXN0LXppbmRleDogI3skemluZGV4LXRvYXN0fTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14OiAjeyR0b2FzdC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXk6ICN7JHRvYXN0LXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fXRvYXN0LXNwYWNpbmc6ICN7JHRvYXN0LXNwYWNpbmd9O1xuICAtLSN7JHByZWZpeH10b2FzdC1tYXgtd2lkdGg6ICN7JHRvYXN0LW1heC13aWR0aH07XG4gIEBpbmNsdWRlIHJmcygkdG9hc3QtZm9udC1zaXplLCAtLSN7JHByZWZpeH10b2FzdC1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH10b2FzdC1jb2xvcjogI3skdG9hc3QtY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1iZzogI3skdG9hc3QtYmFja2dyb3VuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWJvcmRlci13aWR0aDogI3skdG9hc3QtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLWNvbG9yOiAjeyR0b2FzdC1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItcmFkaXVzOiAjeyR0b2FzdC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtYm94LXNoYWRvdzogI3skdG9hc3QtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1jb2xvcjogI3skdG9hc3QtaGVhZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWJnOiAjeyR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICN7JHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3J9O1xuICAvLyBzY3NzLWRvY3MtZW5kIHRvYXN0LWNzcy12YXJzXG5cbiAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH10b2FzdC1tYXgtd2lkdGgpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tI3skcHJlZml4fXRvYXN0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItcmFkaXVzKSk7XG5cbiAgJi5zaG93aW5nIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJjpub3QoLnNob3cpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b2FzdC1jb250YWluZXIge1xuICAtLSN7JHByZWZpeH10b2FzdC16aW5kZXg6ICN7JHppbmRleC10b2FzdH07XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtemluZGV4KTtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gID4gOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH10b2FzdC1zcGFjaW5nKTtcbiAgfVxufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtaGVhZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvYXN0LWhlYWRlci1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH10b2FzdC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH10b2FzdC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXJhZGl1cykgLSB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtYm9yZGVyLXdpZHRoKSkpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9dG9hc3QtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLSN7JHByZWZpeH10b2FzdC1wYWRkaW5nLXgpO1xuICB9XG59XG5cbi50b2FzdC1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXRvYXN0LXBhZGRpbmcteCk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4vLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1tb2RhbC16aW5kZXg6ICN7JHppbmRleC1tb2RhbH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXdpZHRoOiAjeyRtb2RhbC1tZH07XG4gIC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmc6ICN7JG1vZGFsLWlubmVyLXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW46ICN7JG1vZGFsLWRpYWxvZy1tYXJnaW59O1xuICAtLSN7JHByZWZpeH1tb2RhbC1jb2xvcjogI3skbW9kYWwtY29udGVudC1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJnOiAjeyRtb2RhbC1jb250ZW50LWJnfTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLWNvbG9yOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWJvcmRlci13aWR0aDogI3skbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3JkZXItcmFkaXVzOiAjeyRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93OiAjeyRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzOiAjeyRtb2RhbC1jb250ZW50LWlubmVyLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14OiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteTogI3skbW9kYWwtaGVhZGVyLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nOiAjeyRtb2RhbC1oZWFkZXItcGFkZGluZ307IC8vIFRvZG8gaW4gdjY6IFNwbGl0IHRoaXMgcGFkZGluZyBpbnRvIHggYW5kIHlcbiAgLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogI3skbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICN7JG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1tb2RhbC10aXRsZS1saW5lLWhlaWdodDogI3skbW9kYWwtdGl0bGUtbGluZS1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwOiAjeyRtb2RhbC1mb290ZXItbWFyZ2luLWJldHdlZW59O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYmc6ICN7JG1vZGFsLWZvb3Rlci1iZ307XG4gIC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICN7JG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAjeyRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRofTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1jc3MtdmFyc1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtemluZGV4KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHVzZSBgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO2AgZHVlIHRvIGFcbiAgLy8gZ25hcmx5IGlPUyBTYWZhcmkgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzQyXG4gIC8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTc2OTVcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKTtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLWZhZGUtdHJhbnNmb3JtO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogJG1vZGFsLXNob3ctdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8gV2hlbiB0cnlpbmcgdG8gY2xvc2UsIGFuaW1hdGUgZm9jdXMgdG8gc2NhbGVcbiAgLm1vZGFsLm1vZGFsLXN0YXRpYyAmIHtcbiAgICB0cmFuc2Zvcm06ICRtb2RhbC1zY2FsZS10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtbWFyZ2luKSAqIDIpO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tI3skcHJlZml4fW1vZGFsLW1hcmdpbikgKiAyKTtcbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7IC8vIEVuc3VyZSBgLm1vZGFsLWNvbnRlbnRgIGV4dGVuZHMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHBhcmVudCBgLm1vZGFsLWRpYWxvZ2BcbiAgLy8gY291bnRlcmFjdCB0aGUgcG9pbnRlci1ldmVudHM6IG5vbmU7IGluIHRoZSAubW9kYWwtZGlhbG9nXG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtY29sb3IpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9bW9kYWwtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1tb2RhbC1ib3gtc2hhZG93KSk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1iYWNrZHJvcC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1iYWNrZHJvcC16aW5kZXg6ICN7JHppbmRleC1tb2RhbC1iYWNrZHJvcH07XG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLWJnOiAjeyRtb2RhbC1iYWNrZHJvcC1iZ307XG4gIC0tI3skcHJlZml4fWJhY2tkcm9wLW9wYWNpdHk6ICN7JG1vZGFsLWJhY2tkcm9wLW9wYWNpdHl9O1xuICAvLyBzY3NzLWRvY3MtZW5kIG1vZGFsLWJhY2tkcm9wLWNzcy12YXJzXG5cbiAgQGluY2x1ZGUgb3ZlcmxheS1iYWNrZHJvcCh2YXIoLS0jeyRwcmVmaXh9YmFja2Ryb3AtemluZGV4KSwgdmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLWJnKSwgdmFyKC0tI3skcHJlZml4fWJhY2tkcm9wLW9wYWNpdHkpKTtcbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1wYWRkaW5nKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fW1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fW1vZGFsLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAuYnRuLWNsb3NlIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSAqIC41KSBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14KSAqIC41KTtcbiAgICAvLyBTcGxpdCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGludmFsaWQgY2FsYygpIGZ1bmN0aW9uIGlmIHZhbHVlIGlzIDBcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy15KSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1tb2RhbC1oZWFkZXItcGFkZGluZy14KSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtaGVhZGVyLXBhZGRpbmcteSkpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1tb2RhbC10aXRsZS1saW5lLWhlaWdodCk7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiB0aGVyZSBzaG91bGQgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fW1vZGFsLXBhZGRpbmcpO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIFJpZ2h0IGFsaWduIGJ1dHRvbnMgd2l0aCBmbGV4IHByb3BlcnR5IGJlY2F1c2UgdGV4dC1hbGlnbiBkb2Vzbid0IHdvcmsgb24gZmxleCBpdGVtc1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1wYWRkaW5nKSAtIHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwKSAqIC41KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fW1vZGFsLWZvb3Rlci1iZyk7XG4gIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKHZhcigtLSN7JHByZWZpeH1tb2RhbC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG5cbiAgLy8gUGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gIC8vIFRoaXMgc29sdXRpb24gaXMgZmFyIGZyb20gaWRlYWwgYmVjYXVzZSBvZiB0aGUgdW5pdmVyc2FsIHNlbGVjdG9yIHVzYWdlLFxuICAvLyBidXQgaXMgbmVlZGVkIHRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0ODAwXG4gID4gKiB7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigtLSN7JHByZWZpeH1tb2RhbC1mb290ZXItZ2FwKSAqIC41KTsgLy8gVG9kbyBpbiB2NjogcmVwbGFjZSB3aXRoIGdhcCBvbiBwYXJlbnQgY2xhc3NcbiAgfVxufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLm1vZGFsIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC1tYXJnaW46ICN7JG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cH07XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtYm94LXNoYWRvdzogI3skbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwfTtcbiAgfVxuXG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGgpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1zbSB7XG4gICAgLS0jeyRwcmVmaXh9bW9kYWwtd2lkdGg6ICN7JG1vZGFsLXNtfTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwtbGd9O1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgLm1vZGFsLXhsIHtcbiAgICAtLSN7JHByZWZpeH1tb2RhbC13aWR0aDogI3skbW9kYWwteGx9O1xuICB9XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBtb2RhbC1mdWxsc2NyZWVuLWxvb3BcbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAkcG9zdGZpeDogaWYoJGluZml4ICE9IFwiXCIsICRpbmZpeCArIFwiLWRvd25cIiwgXCJcIik7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgLm1vZGFsLWZ1bGxzY3JlZW4jeyRwb3N0Zml4fSB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1oZWFkZXIsXG4gICAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIH1cblxuICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC1mdWxsc2NyZWVuLWxvb3BcbiIsIi8vIFNoYXJlZCBiZXR3ZWVuIG1vZGFscyBhbmQgb2ZmY2FudmFzZXNcbkBtaXhpbiBvdmVybGF5LWJhY2tkcm9wKCR6aW5kZXgsICRiYWNrZHJvcC1iZywgJGJhY2tkcm9wLW9wYWNpdHkpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJGJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC16aW5kZXg6ICN7JHppbmRleC10b29sdGlwfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXgtd2lkdGg6ICN7JHRvb2x0aXAtbWF4LXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXg6ICN7JHRvb2x0aXAtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXk6ICN7JHRvb2x0aXAtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXJnaW46ICN7JHRvb2x0aXAtbWFyZ2lufTtcbiAgQGluY2x1ZGUgcmZzKCR0b29sdGlwLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9dG9vbHRpcC1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH10b29sdGlwLWNvbG9yOiAjeyR0b29sdGlwLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1iZzogI3skdG9vbHRpcC1iZ307XG4gIC0tI3skcHJlZml4fXRvb2x0aXAtYm9yZGVyLXJhZGl1czogI3skdG9vbHRpcC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1vcGFjaXR5OiAjeyR0b29sdGlwLW9wYWNpdHl9O1xuICAtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoOiAjeyR0b29sdGlwLWFycm93LXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICN7JHRvb2x0aXAtYXJyb3ctaGVpZ2h0fTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCB0b29sdGlwLWNzcy12YXJzXG5cbiAgei1pbmRleDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtemluZGV4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtbWFyZ2luKTtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYCR0b29sdGlwLW1hcmdpbmBcIiwgXCJ2NVwiLCBcInY1LnhcIiwgdHJ1ZSk7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXRvb2x0aXAtZm9udC1zaXplKSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLnNob3cgeyBvcGFjaXR5OiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1vcGFjaXR5KTsgfVxuXG4gIC50b29sdGlwLWFycm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXRvcCAudG9vbHRpcC1hcnJvdyB7XG4gIGJvdHRvbTogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICY6OmJlZm9yZSB7XG4gICAgdG9wOiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtdG9vbHRpcC1lbmQgLnRvb2x0aXAtYXJyb3cge1xuICBsZWZ0OiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcblxuICAmOjpiZWZvcmUge1xuICAgIHJpZ2h0OiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICB9XG59XG5cbi8qIHJ0bDplbmQ6aWdub3JlICovXG5cbi5icy10b29sdGlwLWJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gIHRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4gICY6OmJlZm9yZSB7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIGJvcmRlci13aWR0aDogMCBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtdG9vbHRpcC1zdGFydCAudG9vbHRpcC1hcnJvdyB7XG4gIHJpZ2h0OiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctaGVpZ2h0KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1hcnJvdy1oZWlnaHQpO1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKTtcblxuICAmOjpiZWZvcmUge1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LXdpZHRoKSAqIC41KSAwIGNhbGModmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtdG9vbHRpcC1hdXRvIHtcbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtdG9vbHRpcC1lbmQ7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXN0YXJ0O1xuICB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1tYXgtd2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH10b29sdGlwLXBhZGRpbmcteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dG9vbHRpcC1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRvb2x0aXAtYmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH10b29sdGlwLWJvcmRlci1yYWRpdXMpKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciBvdmVyZmxvdy13cmFwIC8gd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLnBvcG92ZXIge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgcG9wb3Zlci1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLXppbmRleDogI3skemluZGV4LXBvcG92ZXJ9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLW1heC13aWR0aDogI3skcG9wb3Zlci1tYXgtd2lkdGh9O1xuICBAaW5jbHVkZSByZnMoJHBvcG92ZXItZm9udC1zaXplLCAtLSN7JHByZWZpeH1wb3BvdmVyLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYmc6ICN7JHBvcG92ZXItYmd9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aDogI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcjogI3skcG9wb3Zlci1ib3JkZXItY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1yYWRpdXM6ICN7JHBvcG92ZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogI3skcG9wb3Zlci1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3gtc2hhZG93OiAjeyRwb3BvdmVyLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICN7JHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogI3skcG9wb3Zlci1oZWFkZXItcGFkZGluZy15fTtcbiAgQGluY2x1ZGUgcmZzKCRwb3BvdmVyLWhlYWRlci1mb250LXNpemUsIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWNvbG9yOiAjeyRwb3BvdmVyLWhlYWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnOiAjeyRwb3BvdmVyLWhlYWRlci1iZ307XG4gIC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICN7JHBvcG92ZXItYm9keS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWJvZHktcGFkZGluZy15OiAjeyRwb3BvdmVyLWJvZHktcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LWNvbG9yOiAjeyRwb3BvdmVyLWJvZHktY29sb3J9O1xuICAtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoOiAjeyRwb3BvdmVyLWFycm93LXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICN7JHBvcG92ZXItYXJyb3ctaGVpZ2h0fTtcbiAgLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1ib3JkZXI6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIC8vIHNjc3MtZG9jcy1lbmQgcG9wb3Zlci1jc3MtdmFyc1xuXG4gIHotaW5kZXg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLXppbmRleCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLW1heC13aWR0aCk7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fXBvcG92ZXItZm9udC1zaXplKSk7XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSBwb3BvdmVyJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm94LXNoYWRvdykpO1xuXG4gIC5wb3BvdmVyLWFycm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgPiAucG9wb3Zlci1hcnJvdyB7XG4gICAgYm90dG9tOiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtcG9wb3Zlci1lbmQge1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICBsZWZ0OiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy1oZWlnaHQpIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIDA7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICA+IC5wb3BvdmVyLWFycm93IHtcbiAgICB0b3A6IGNhbGMoLTEgKiAodmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KSkgLSB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgY2FsYyh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCkgKiAuNSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctaGVpZ2h0KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctYm9yZGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1iZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyB3aWxsIHJlbW92ZSB0aGUgcG9wb3Zlci1oZWFkZXIncyBib3JkZXIganVzdCBiZWxvdyB0aGUgYXJyb3dcbiAgLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLWJnKTtcbiAgfVxufVxuXG4vKiBydGw6YmVnaW46aWdub3JlICovXG4uYnMtcG9wb3Zlci1zdGFydCB7XG4gID4gLnBvcG92ZXItYXJyb3cge1xuICAgIHJpZ2h0OiBjYWxjKC0xICogKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCkpIC0gdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9yZGVyLXdpZHRoKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgd2lkdGg6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7XG4gICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1hcnJvdy13aWR0aCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LXdpZHRoKSAqIC41KSAwIGNhbGModmFyKC0tI3skcHJlZml4fXBvcG92ZXItYXJyb3ctd2lkdGgpICogLjUpIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWhlaWdodCk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWFycm93LWJvcmRlcik7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYmcpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBydGw6ZW5kOmlnbm9yZSAqL1xuXG4uYnMtcG9wb3Zlci1hdXRvIHtcbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1lbmQ7XG4gIH1cbiAgJltkYXRhLXBvcHBlci1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW2RhdGEtcG9wcGVyLXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXN0YXJ0O1xuICB9XG59XG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gUmVib290XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSh2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItZm9udC1zaXplKSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1oZWFkZXItYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1wb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9cG9wb3Zlci1ib2R5LXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXBvcG92ZXItYm9keS1jb2xvcik7XG59XG4iLCIvLyBOb3RlcyBvbiB0aGUgY2xhc3Nlczpcbi8vXG4vLyAxLiAuY2Fyb3VzZWwucG9pbnRlci1ldmVudCBzaG91bGQgaWRlYWxseSBiZSBwYW4teSAodG8gYWxsb3cgZm9yIHVzZXJzIHRvIHNjcm9sbCB2ZXJ0aWNhbGx5KVxuLy8gICAgZXZlbiB3aGVuIHRoZWlyIHNjcm9sbCBhY3Rpb24gc3RhcnRlZCBvbiBhIGNhcm91c2VsLCBidXQgZm9yIGNvbXBhdGliaWxpdHkgKHdpdGggRmlyZWZveClcbi8vICAgIHdlJ3JlIHByZXZlbnRpbmcgYWxsIGFjdGlvbnMgaW5zdGVhZFxuLy8gMi4gVGhlIC5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1lbmQgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGVyZVxuLy8gICAgdGhlIGFjdGl2ZSBzbGlkZSBpcyBoZWFkaW5nLlxuLy8gMy4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIGlzIHRoZSBjdXJyZW50IHNsaWRlLlxuLy8gNC4gLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0IGFuZCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1zdGFydCBhbmQgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLWVuZFxuLy8gICAgaXMgdGhlIHVwY29taW5nIHNsaWRlIGluIHRyYW5zaXRpb24uXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLnBvaW50ZXItZXZlbnQge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLXRyYW5zaXRpb24pO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS5hY3RpdmUsXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LFxuLmNhcm91c2VsLWl0ZW0tcHJldiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1uZXh0Om5vdCguY2Fyb3VzZWwtaXRlbS1zdGFydCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tZW5kIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1lbmQpLFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXN0YXJ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tc3RhcnQsXG4gIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1lbmQge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1zdGFydCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWVuZCB7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwcyAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbik7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIC8vIFVzZSBmbGV4IGZvciBhbGlnbm1lbnQgKDEtMylcbiAgZGlzcGxheTogZmxleDsgLy8gMS4gYWxsb3cgZmxleCBzdHlsZXNcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gMi4gdmVydGljYWxseSBjZW50ZXIgY29udGVudHNcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIDMuIGhvcml6b250YWxseSBjZW50ZXIgY29udGVudHNcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZmlsdGVyOiB2YXIoLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtY29udHJvbC1pY29uLWZpbHRlcik7XG4gIGJvcmRlcjogMDtcbiAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtY29udHJvbC10cmFuc2l0aW9uKTtcblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlmKCRlbmFibGUtZ3JhZGllbnRzLCBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpLCBudWxsKTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogaWYoJGVuYWJsZS1ncmFkaWVudHMsIGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpLCBudWxsKTtcbn1cblxuLy8gSWNvbnMgZm9yIHdpdGhpblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLFxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgaGVpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZykgI3tcIi8qcnRsOlwiICsgZXNjYXBlLXN2ZygkY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmcpICsgXCIqL1wifTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnKSAje1wiLypydGw6XCIgKyBlc2NhcGUtc3ZnKCRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZykgKyBcIiovXCJ9O1xufVxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwcy9jb250cm9sc1xuLy9cbi8vIEFkZCBhIGNvbnRhaW5lciAoc3VjaCBhcyBhIGxpc3QpIHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGFuIGl0ZW0gKGlkZWFsbHkgYSBmb2N1c2FibGUgY29udHJvbCxcbi8vIGxpa2UgYSBidXR0b24pIHdpdGggZGF0YS1icy10YXJnZXQgZm9yIGVhY2ggc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICAvLyBVc2UgdGhlIC5jYXJvdXNlbC1jb250cm9sJ3Mgd2lkdGggYXMgbWFyZ2luIHNvIHdlIGRvbid0IG92ZXJsYXkgdGhvc2VcbiAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuXG4gIFtkYXRhLWJzLXRhcmdldF0ge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyO1xuICAgIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZyk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6IDA7XG4gICAgLy8gVXNlIHRyYW5zcGFyZW50IGJvcmRlcnMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgYm9yZGVyLXRvcDogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWluZGljYXRvci1vcGFjaXR5O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uKTtcbiAgfVxuXG4gIC5hY3RpdmUge1xuICAgIG9wYWNpdHk6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLW9wYWNpdHk7XG4gIH1cbn1cblxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy9cbi8vXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgKiAuNTtcbiAgYm90dG9tOiAkY2Fyb3VzZWwtY2FwdGlvbi1zcGFjZXI7XG4gIGxlZnQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpICogLjU7XG4gIHBhZGRpbmctdG9wOiAkY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtY2FwdGlvbi1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8gRGFyayBtb2RlIGNhcm91c2VsXG5cbkBtaXhpbiBjYXJvdXNlbC1kYXJrKCkge1xuICAtLSN7JHByZWZpeH1jYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAjeyRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnLWRhcmt9O1xuICAtLSN7JHByZWZpeH1jYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAjeyRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yLWRhcmt9O1xuICAtLSN7JHByZWZpeH1jYXJvdXNlbC1jb250cm9sLWljb24tZmlsdGVyOiAjeyRjYXJvdXNlbC1jb250cm9sLWljb24tZmlsdGVyLWRhcmt9O1xufVxuXG4uY2Fyb3VzZWwtZGFyayB7XG4gIEBpbmNsdWRlIGNhcm91c2VsLWRhcmsoKTtcbn1cblxuOnJvb3QsXG5bZGF0YS1icy10aGVtZT1cImxpZ2h0XCJdIHtcbiAgLS0jeyRwcmVmaXh9Y2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogI3skY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZ307XG4gIC0tI3skcHJlZml4fWNhcm91c2VsLWNhcHRpb24tY29sb3I6ICN7JGNhcm91c2VsLWNhcHRpb24tY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJvdXNlbC1jb250cm9sLWljb24tZmlsdGVyOiAjeyRjYXJvdXNlbC1jb250cm9sLWljb24tZmlsdGVyfTtcbn1cblxuQGlmICRlbmFibGUtZGFyay1tb2RlIHtcbiAgQGluY2x1ZGUgY29sb3ItbW9kZShkYXJrLCB0cnVlKSB7XG4gICAgQGluY2x1ZGUgY2Fyb3VzZWwtZGFyaygpO1xuICB9XG59XG4iLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY2xlYXJmaXhcbiIsIi8vXG4vLyBSb3RhdGluZyBib3JkZXJcbi8vXG5cbi5zcGlubmVyLWdyb3csXG4uc3Bpbm5lci1ib3JkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogdmFyKC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodCk7XG4gIHZlcnRpY2FsLWFsaWduOiB2YXIoLS0jeyRwcmVmaXh9c3Bpbm5lci12ZXJ0aWNhbC1hbGlnbik7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZCkgbGluZWFyIGluZmluaXRlIHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1uYW1lKTtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLWtleWZyYW1lc1xuQGtleWZyYW1lcyBzcGlubmVyLWJvcmRlciB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSAje1wiLyogcnRsOmlnbm9yZSAqL1wifTsgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLWJvcmRlci1rZXlmcmFtZXNcblxuLnNwaW5uZXItYm9yZGVyIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHNwaW5uZXItYm9yZGVyLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fXNwaW5uZXItd2lkdGg6ICN7JHNwaW5uZXItd2lkdGh9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWhlaWdodDogI3skc3Bpbm5lci1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLXZlcnRpY2FsLWFsaWduOiAjeyRzcGlubmVyLXZlcnRpY2FsLWFsaWdufTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1ib3JkZXItd2lkdGg6ICN7JHNwaW5uZXItYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tc3BlZWQ6ICN7JHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkfTtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci1hbmltYXRpb24tbmFtZTogc3Bpbm5lci1ib3JkZXI7XG4gIC8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXItY3NzLXZhcnNcblxuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1zcGlubmVyLWJvcmRlci13aWR0aCkgc29saWQgY3VycmVudGNvbG9yO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc3Bpbm5lci1ib3JkZXItc20ge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ib3JkZXItc20tY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aC1zbX07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodC1zbX07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItYm9yZGVyLXdpZHRoOiAjeyRzcGlubmVyLWJvcmRlci13aWR0aC1zbX07XG4gIC8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ib3JkZXItc20tY3NzLXZhcnNcbn1cblxuLy9cbi8vIEdyb3dpbmcgY2lyY2xlXG4vL1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci1ncm93LWtleWZyYW1lc1xuQGtleWZyYW1lcyBzcGlubmVyLWdyb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHNwaW5uZXItZ3Jvdy1rZXlmcmFtZXNcblxuLnNwaW5uZXItZ3JvdyB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBzcGlubmVyLWdyb3ctY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodH07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItdmVydGljYWwtYWxpZ246ICN7JHNwaW5uZXItdmVydGljYWwtYWxpZ259O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogI3skc3Bpbm5lci1hbmltYXRpb24tc3BlZWR9O1xuICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1uYW1lOiBzcGlubmVyLWdyb3c7XG4gIC8vIHNjc3MtZG9jcy1lbmQgc3Bpbm5lci1ncm93LWNzcy12YXJzXG5cbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbm5lci1ncm93LXNtIHtcbiAgLS0jeyRwcmVmaXh9c3Bpbm5lci13aWR0aDogI3skc3Bpbm5lci13aWR0aC1zbX07XG4gIC0tI3skcHJlZml4fXNwaW5uZXItaGVpZ2h0OiAjeyRzcGlubmVyLWhlaWdodC1zbX07XG59XG5cbkBpZiAkZW5hYmxlLXJlZHVjZWQtbW90aW9uIHtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuc3Bpbm5lci1ib3JkZXIsXG4gICAgLnNwaW5uZXItZ3JvdyB7XG4gICAgICAtLSN7JHByZWZpeH1zcGlubmVyLWFuaW1hdGlvbi1zcGVlZDogI3skc3Bpbm5lci1hbmltYXRpb24tc3BlZWQgKiAyfTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4lb2ZmY2FudmFzLWNzcy12YXJzIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IG9mZmNhbnZhcy1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtemluZGV4OiAjeyR6aW5kZXgtb2ZmY2FudmFzfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXdpZHRoOiAjeyRvZmZjYW52YXMtaG9yaXpvbnRhbC13aWR0aH07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQ6ICN7JG9mZmNhbnZhcy12ZXJ0aWNhbC1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy14OiAjeyRvZmZjYW52YXMtcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteTogI3skb2ZmY2FudmFzLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1jb2xvcjogI3skb2ZmY2FudmFzLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJnOiAjeyRvZmZjYW52YXMtYmctY29sb3J9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoOiAjeyRvZmZjYW52YXMtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcjogI3skb2ZmY2FudmFzLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3gtc2hhZG93OiAjeyRvZmZjYW52YXMtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fW9mZmNhbnZhcy10cmFuc2l0aW9uOiAje3RyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXR9O1xuICAtLSN7JHByZWZpeH1vZmZjYW52YXMtdGl0bGUtbGluZS1oZWlnaHQ6ICN7JG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodH07XG4gIC8vIHNjc3MtZG9jcy1lbmQgb2ZmY2FudmFzLWNzcy12YXJzXG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgLm9mZmNhbnZhcyN7JGluZml4fSB7XG4gICAgQGV4dGVuZCAlb2ZmY2FudmFzLWNzcy12YXJzO1xuICB9XG59XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgLm9mZmNhbnZhcyN7JGluZml4fSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0KSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXppbmRleCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWNvbG9yKTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYmcpO1xuICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm94LXNoYWRvdykpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRyYW5zaXRpb24pKTtcblxuICAgICAgJi5vZmZjYW52YXMtc3RhcnQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXdpZHRoKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy1lbmQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy13aWR0aCk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICB9XG5cbiAgICAgICYub2ZmY2FudmFzLXRvcCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItY29sb3IpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm9mZmNhbnZhcy1ib3R0b20ge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWhlaWdodCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLWJvcmRlci1jb2xvcik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgIH1cblxuICAgICAgJi5zaG93aW5nLFxuICAgICAgJi5zaG93Om5vdCguaGlkaW5nKSB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi5zaG93aW5nLFxuICAgICAgJi5oaWRpbmcsXG4gICAgICAmLnNob3cge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiKSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIC0tI3skcHJlZml4fW9mZmNhbnZhcy1oZWlnaHQ6IGF1dG87XG4gICAgICAgIC0tI3skcHJlZml4fW9mZmNhbnZhcy1ib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAub2ZmY2FudmFzLWJvZHkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgICAvLyBSZXNldCBgYmFja2dyb3VuZC1jb2xvcmAgaW4gY2FzZSBgLmJnLSpgIGNsYXNzZXMgYXJlIHVzZWQgaW4gb2ZmY2FudmFzXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ub2ZmY2FudmFzLWJhY2tkcm9wIHtcbiAgQGluY2x1ZGUgb3ZlcmxheS1iYWNrZHJvcCgkemluZGV4LW9mZmNhbnZhcy1iYWNrZHJvcCwgJG9mZmNhbnZhcy1iYWNrZHJvcC1iZywgJG9mZmNhbnZhcy1iYWNrZHJvcC1vcGFjaXR5KTtcbn1cblxuLm9mZmNhbnZhcy1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuXG4gIC5idG4tY2xvc2Uge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpICogLjUpIGNhbGModmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpICogLjUpO1xuICAgIC8vIFNwbGl0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW52YWxpZCBjYWxjKCkgZnVuY3Rpb24gaWYgdmFsdWUgaXMgMFxuICAgIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXkpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1vZmZjYW52YXMtcGFkZGluZy15KSk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLm9mZmNhbnZhcy10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXRpdGxlLWxpbmUtaGVpZ2h0KTtcbn1cblxuLm9mZmNhbnZhcy1ib2R5IHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9b2ZmY2FudmFzLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fW9mZmNhbnZhcy1wYWRkaW5nLXgpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuIiwiLnBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogd2FpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAkcGxhY2Vob2xkZXItb3BhY2l0eS1tYXg7XG5cbiAgJi5idG46OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4ucGxhY2Vob2xkZXIteHMge1xuICBtaW4taGVpZ2h0OiAuNmVtO1xufVxuXG4ucGxhY2Vob2xkZXItc20ge1xuICBtaW4taGVpZ2h0OiAuOGVtO1xufVxuXG4ucGxhY2Vob2xkZXItbGcge1xuICBtaW4taGVpZ2h0OiAxLjJlbTtcbn1cblxuLy8gQW5pbWF0aW9uXG4ucGxhY2Vob2xkZXItZ2xvdyB7XG4gIC5wbGFjZWhvbGRlciB7XG4gICAgYW5pbWF0aW9uOiBwbGFjZWhvbGRlci1nbG93IDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcGxhY2Vob2xkZXItZ2xvdyB7XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluO1xuICB9XG59XG5cbi5wbGFjZWhvbGRlci13YXZlIHtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzMGRlZywgJGJsYWNrIDU1JSwgcmdiYSgwLCAwLCAwLCAoMSAtICRwbGFjZWhvbGRlci1vcGFjaXR5LW1pbikpIDc1JSwgJGJsYWNrIDk1JSk7XG4gIG1hc2stc2l6ZTogMjAwJSAxMDAlO1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyLXdhdmUgMnMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyLXdhdmUge1xuICAxMDAlIHtcbiAgICBtYXNrLXBvc2l0aW9uOiAtMjAwJSAwJTtcbiAgfVxufVxuIiwiLy8gQWxsLWNhcHMgYFJHQkEoKWAgZnVuY3Rpb24gdXNlZCBiZWNhdXNlIG9mIHRoaXMgU2FzcyBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL25vZGUtc2Fzcy9pc3N1ZXMvMjI1MVxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC50ZXh0LWJnLSN7JGNvbG9yfSB7XG4gICAgY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWJnLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICB9XG59XG4iLCIvLyBBbGwtY2FwcyBgUkdCQSgpYCBmdW5jdGlvbiB1c2VkIGJlY2F1c2Ugb2YgdGhpcyBTYXNzIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvbm9kZS1zYXNzL2lzc3Vlcy8yMjUxXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmxpbmstI3skY29sb3J9IHtcbiAgICBjb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9I3skY29sb3J9LXJnYiksIHZhcigtLSN7JHByZWZpeH1saW5rLXVuZGVybGluZS1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAgIEBpZiAkbGluay1zaGFkZS1wZXJjZW50YWdlICE9IDAge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAkaG92ZXItY29sb3I6IGlmKGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSkgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkdmFsdWUsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpLCB0aW50LWNvbG9yKCR2YWx1ZSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkpO1xuICAgICAgICBjb2xvcjogUkdCQSgje3RvLXJnYigkaG92ZXItY29sb3IpfSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh0by1yZ2IoJGhvdmVyLWNvbG9yKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPbmUtb2ZmIHNwZWNpYWwgbGluayBoZWxwZXIgYXMgYSBicmlkZ2UgdW50aWwgdjZcbi5saW5rLWJvZHktZW1waGFzaXMge1xuICBjb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIEBpZiAkbGluay1zaGFkZS1wZXJjZW50YWdlICE9IDAge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgLjc1KSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIC43NSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgfVxuICB9XG59XG4iLCIuZm9jdXMtcmluZzpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIC8vIEJ5IGRlZmF1bHQsIHRoZXJlIGlzIG5vIGAtLWJzLWZvY3VzLXJpbmcteGAsIGAtLWJzLWZvY3VzLXJpbmcteWAsIG9yIGAtLWJzLWZvY3VzLXJpbmctYmx1cmAsIGJ1dCB3ZSBwcm92aWRlIENTUyB2YXJpYWJsZXMgd2l0aCBmYWxsYmFja3MgdG8gaW5pdGlhbCBgMGAgdmFsdWVzXG4gIGJveC1zaGFkb3c6IHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXgsIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXksIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLWJsdXIsIDApIHZhcigtLSN7JHByZWZpeH1mb2N1cy1yaW5nLXdpZHRoKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1jb2xvcik7XG59XG4iLCIuaWNvbi1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogJGljb24tbGluay1nYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAuNSkpO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6ICRpY29uLWxpbmstdW5kZXJsaW5lLW9mZnNldDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gID4gLmJpIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogJGljb24tbGluay1pY29uLXNpemU7XG4gICAgaGVpZ2h0OiAkaWNvbi1saW5rLWljb24tc2l6ZTtcbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbik7XG4gIH1cbn1cblxuLmljb24tbGluay1ob3ZlciB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgPiAuYmkge1xuICAgICAgdHJhbnNmb3JtOiB2YXIoLS0jeyRwcmVmaXh9aWNvbi1saW5rLXRyYW5zZm9ybSwgJGljb24tbGluay1pY29uLXRyYW5zZm9ybSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLnJhdGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS0jeyRwcmVmaXh9YXNwZWN0LXJhdGlvKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBlYWNoICRrZXksICRyYXRpbyBpbiAkYXNwZWN0LXJhdGlvcyB7XG4gIC5yYXRpby0jeyRrZXl9IHtcbiAgICAtLSN7JHByZWZpeH1hc3BlY3QtcmF0aW86ICN7JHJhdGlvfTtcbiAgfVxufVxuIiwiLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi8vIFJlc3BvbnNpdmUgc3RpY2t5IHRvcCBhbmQgYm90dG9tXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuc3RpY2t5I3skaW5maXh9LXRvcCB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gICAgfVxuXG4gICAgLnN0aWNreSN7JGluZml4fS1ib3R0b20ge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IHN0YWNrc1xuLmhzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi52c3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3RhY2tzXG4iLCIvL1xuLy8gVmlzdWFsbHkgaGlkZGVuXG4vL1xuXG4udmlzdWFsbHktaGlkZGVuLFxuLnZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gSGlkZSBjb250ZW50IHZpc3VhbGx5IHdoaWxlIGtlZXBpbmcgaXQgYWNjZXNzaWJsZSB0byBhc3Npc3RpdmUgdGVjaG5vbG9naWVzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2tpdHR5Z2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4oKSB7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXG4gIC8vIEZpeCBmb3IgcG9zaXRpb25lZCB0YWJsZSBjYXB0aW9uIHRoYXQgY291bGQgYmVjb21lIGFub255bW91cyBjZWxsc1xuICAmOm5vdChjYXB0aW9uKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBGaXggdG8gcHJldmVudCBvdmVyZmxvd2luZyBjaGlsZHJlbiB0byBiZWNvbWUgZm9jdXNhYmxlXG4gICoge1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBVc2UgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQsIG9yIG9uZSBvZiBpdHMgY2hpbGQgZWxlbWVudHMgaXMgZm9jdXNlZFxuLy8gKGkuZS4gd2hlbiBmb2N1cyBpcyB3aXRoaW4gdGhlIGVsZW1lbnQvY29udGFpbmVyIHRoYXQgdGhlIGNsYXNzIHdhcyBhcHBsaWVkIHRvKVxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1dBSS9XQ0FHMjIvVGVjaG5pcXVlcy9nZW5lcmFsL0cxLmh0bWxcblxuQG1peGluIHZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUoKSB7XG4gICY6bm90KDpmb2N1cyk6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgfVxufVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjojeyRzdHJldGNoZWQtbGluay1wc2V1ZG8tZWxlbWVudH0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJHN0cmV0Y2hlZC1saW5rLXotaW5kZXg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy9cbi8vIFRleHQgdHJ1bmNhdGlvblxuLy9cblxuLnRleHQtdHJ1bmNhdGUge1xuICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKCk7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi52ciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6ICR2ci1ib3JkZXItd2lkdGg7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBvcGFjaXR5OiAkaHItb3BhY2l0eTtcbn1cbiIsIi8vIFV0aWxpdHkgZ2VuZXJhdG9yXG4vLyBVc2VkIHRvIGdlbmVyYXRlIHV0aWxpdGllcyAmIHByaW50IHV0aWxpdGllc1xuQG1peGluIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeDogXCJcIiwgJGlzLXJmcy1tZWRpYS1xdWVyeTogZmFsc2UpIHtcbiAgJHZhbHVlczogbWFwLWdldCgkdXRpbGl0eSwgdmFsdWVzKTtcblxuICAvLyBJZiB0aGUgdmFsdWVzIGFyZSBhIGxpc3Qgb3Igc3RyaW5nLCBjb252ZXJ0IGl0IGludG8gYSBtYXBcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gXCJzdHJpbmdcIiBvciB0eXBlLW9mKG50aCgkdmFsdWVzLCAxKSkgIT0gXCJsaXN0XCIge1xuICAgICR2YWx1ZXM6IHppcCgkdmFsdWVzLCAkdmFsdWVzKTtcbiAgfVxuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAkcHJvcGVydGllczogbWFwLWdldCgkdXRpbGl0eSwgcHJvcGVydHkpO1xuXG4gICAgLy8gTXVsdGlwbGUgcHJvcGVydGllcyBhcmUgcG9zc2libGUsIGZvciBleGFtcGxlIHdpdGggdmVydGljYWwgb3IgaG9yaXpvbnRhbCBtYXJnaW5zIG9yIHBhZGRpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHByb3BlcnRpZXMpID09IFwic3RyaW5nXCIge1xuICAgICAgJHByb3BlcnRpZXM6IGFwcGVuZCgoKSwgJHByb3BlcnRpZXMpO1xuICAgIH1cblxuICAgIC8vIFVzZSBjdXN0b20gY2xhc3MgaWYgcHJlc2VudFxuICAgICRwcm9wZXJ0eS1jbGFzczogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIGNsYXNzKSwgbWFwLWdldCgkdXRpbGl0eSwgY2xhc3MpLCBudGgoJHByb3BlcnRpZXMsIDEpKTtcbiAgICAkcHJvcGVydHktY2xhc3M6IGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBudWxsLCBcIlwiLCAkcHJvcGVydHktY2xhc3MpO1xuXG4gICAgLy8gVXNlIGN1c3RvbSBDU1MgdmFyaWFibGUgbmFtZSBpZiBwcmVzZW50LCBvdGhlcndpc2UgZGVmYXVsdCB0byBgY2xhc3NgXG4gICAgJGNzcy12YXJpYWJsZS1uYW1lOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgY3NzLXZhcmlhYmxlLW5hbWUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjc3MtdmFyaWFibGUtbmFtZSksIG1hcC1nZXQoJHV0aWxpdHksIGNsYXNzKSk7XG5cbiAgICAvLyBTdGF0ZSBwYXJhbXMgdG8gZ2VuZXJhdGUgcHNldWRvLWNsYXNzZXNcbiAgICAkc3RhdGU6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBzdGF0ZSksIG1hcC1nZXQoJHV0aWxpdHksIHN0YXRlKSwgKCkpO1xuXG4gICAgJGluZml4OiBpZigkcHJvcGVydHktY2xhc3MgPT0gXCJcIiBhbmQgc3RyLXNsaWNlKCRpbmZpeCwgMSwgMSkgPT0gXCItXCIsIHN0ci1zbGljZSgkaW5maXgsIDIpLCAkaW5maXgpO1xuXG4gICAgLy8gRG9uJ3QgcHJlZml4IGlmIHZhbHVlIGtleSBpcyBudWxsIChlLmcuIHdpdGggc2hhZG93IGNsYXNzKVxuICAgICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcjogaWYoJGtleSwgaWYoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kICRpbmZpeCA9PSBcIlwiLCBcIlwiLCBcIi1cIikgKyAka2V5LCBcIlwiKTtcblxuICAgIEBpZiBtYXAtZ2V0KCR1dGlsaXR5LCByZnMpIHtcbiAgICAgIC8vIEluc2lkZSB0aGUgbWVkaWEgcXVlcnlcbiAgICAgIEBpZiAkaXMtcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZSk7XG5cbiAgICAgICAgLy8gRG8gbm90IHJlbmRlciBhbnl0aGluZyBpZiBmbHVpZCBhbmQgbm9uIGZsdWlkIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICAgICAgJHZhbHVlOiBpZigkdmFsID09IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWUpLCBudWxsLCAkdmFsKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHZhbHVlOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkaXMtY3NzLXZhcjogbWFwLWdldCgkdXRpbGl0eSwgY3NzLXZhcik7XG4gICAgJGlzLWxvY2FsLXZhcnM6IG1hcC1nZXQoJHV0aWxpdHksIGxvY2FsLXZhcnMpO1xuICAgICRpcy1ydGw6IG1hcC1nZXQoJHV0aWxpdHksIHJ0bCk7XG5cbiAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6YmVnaW46cmVtb3ZlICovXG4gICAgICB9XG5cbiAgICAgIEBpZiAkaXMtY3NzLXZhciB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fSN7JGNzcy12YXJpYWJsZS1uYW1lfTogI3skdmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGNzcy12YXJpYWJsZS1uYW1lfTogI3skdmFsdWV9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0ge1xuICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICBAaWYgJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFyaWFibGUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGxvY2FsLXZhcn06ICN7JHZhcmlhYmxlfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkcHNldWRvIGluICRzdGF0ZSB7XG4gICAgICAgICAgLiN7JHByb3BlcnR5LWNsYXNzICsgJGluZml4ICsgJHByb3BlcnR5LWNsYXNzLW1vZGlmaWVyfS0jeyRwc2V1ZG99OiN7JHBzZXVkb30ge1xuICAgICAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgICAgQGlmICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAkbG9jYWwtdmFyLCAkdmFyaWFibGUgaW4gJGlzLWxvY2FsLXZhcnMge1xuICAgICAgICAgICAgICAgICAgLS0jeyRwcmVmaXh9I3skbG9jYWwtdmFyfTogI3skdmFyaWFibGV9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLXJ0bCA9PSBmYWxzZSB7XG4gICAgICAgIC8qIHJ0bDplbmQ6cmVtb3ZlICovXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMb29wIG92ZXIgZWFjaCBicmVha3BvaW50XG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuXG4gIC8vIEdlbmVyYXRlIG1lZGlhIHF1ZXJ5IGlmIG5lZWRlZFxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAvLyBMb29wIG92ZXIgZWFjaCB1dGlsaXR5IHByb3BlcnR5XG4gICAgQGVhY2ggJGtleSwgJHV0aWxpdHkgaW4gJHV0aWxpdGllcyB7XG4gICAgICAvLyBUaGUgdXRpbGl0eSBjYW4gYmUgZGlzYWJsZWQgd2l0aCBgZmFsc2VgLCB0aHVzIGNoZWNrIGlmIHRoZSB1dGlsaXR5IGlzIGEgbWFwIGZpcnN0XG4gICAgICAvLyBPbmx5IHByb2NlZWQgaWYgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGFyZSBlbmFibGVkIG9yIGlmIGl0J3MgdGhlIGJhc2UgbWVkaWEgcXVlcnlcbiAgICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCAobWFwLWdldCgkdXRpbGl0eSwgcmVzcG9uc2l2ZSkgb3IgJGluZml4ID09IFwiXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgZ2VuZXJhdGUtdXRpbGl0eSgkdXRpbGl0eSwgJGluZml4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUkZTIHJlc2NhbGluZ1xuQG1lZGlhIChtaW4td2lkdGg6ICRyZnMtbXEtdmFsdWUpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAobWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIDwgJHJmcy1icmVha3BvaW50KSB7XG4gICAgICAvLyBMb29wIG92ZXIgZWFjaCB1dGlsaXR5IHByb3BlcnR5XG4gICAgICBAZWFjaCAka2V5LCAkdXRpbGl0eSBpbiAkdXRpbGl0aWVzIHtcbiAgICAgICAgLy8gVGhlIHV0aWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggYGZhbHNlYCwgdGh1cyBjaGVjayBpZiB0aGUgdXRpbGl0eSBpcyBhIG1hcCBmaXJzdFxuICAgICAgICAvLyBPbmx5IHByb2NlZWQgaWYgcmVzcG9uc2l2ZSBtZWRpYSBxdWVyaWVzIGFyZSBlbmFibGVkIG9yIGlmIGl0J3MgdGhlIGJhc2UgbWVkaWEgcXVlcnlcbiAgICAgICAgQGlmIHR5cGUtb2YoJHV0aWxpdHkpID09IFwibWFwXCIgYW5kIG1hcC1nZXQoJHV0aWxpdHksIHJmcykgYW5kIChtYXAtZ2V0KCR1dGlsaXR5LCByZXNwb25zaXZlKSBvciAkaW5maXggPT0gXCJcIikge1xuICAgICAgICAgIEBpbmNsdWRlIGdlbmVyYXRlLXV0aWxpdHkoJHV0aWxpdHksICRpbmZpeCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICRrZXksICR1dGlsaXR5IGluICR1dGlsaXRpZXMge1xuICAgIC8vIFRoZSB1dGlsaXR5IGNhbiBiZSBkaXNhYmxlZCB3aXRoIGBmYWxzZWAsIHRodXMgY2hlY2sgaWYgdGhlIHV0aWxpdHkgaXMgYSBtYXAgZmlyc3RcbiAgICAvLyBUaGVuIGNoZWNrIGlmIHRoZSB1dGlsaXR5IG5lZWRzIHByaW50IHN0eWxlc1xuICAgIEBpZiB0eXBlLW9mKCR1dGlsaXR5KSA9PSBcIm1hcFwiIGFuZCBtYXAtZ2V0KCR1dGlsaXR5LCBwcmludCkgPT0gdHJ1ZSB7XG4gICAgICBAaW5jbHVkZSBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCBcIi1wcmludFwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIE92ZXJyaWRlcyBmb3IgalF1ZXJ5IE1pbmljb2xvcnNcblxuLm1pbmljb2xvcnMtdGhlbWUtYm9vdHN0cmFwIC5taW5pY29sb3JzLXN3YXRjaCB7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gID4gLm1pbmljb2xvcnMtc3ByaXRlIHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuc3Bhbi5taW5pY29sb3JzLXN3YXRjaC1jb2xvciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIi8vIEdsb2JhbFxuOnJvb3Qge1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1yb290O1xuXG4gICAgLy8gRGlzYWJsZSBzbW9vdGggc2Nyb2xsIHdoZW4gdGhlIHVzZXIgaGFzIHNldCBcInByZWZlcnMtcmVkdWNlZC1tb3Rpb25cIlxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvO1xuICAgIH1cbn1cblxuOjotbXMtcmV2ZWFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29udHJhc3QtY29sb3IpO1xufVxuXG5odG1sIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbmJvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBmb250LXN0eWxlOiB2YXIoLS1uZW90ZXJpYy1mb250LXN0eWxlLW5vcm1hbCwgbm9ybWFsKTtcblxuICAgICYudG1wbC1jb21wb25lbnQge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cbn1cblxuaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG5oNixcbi5oNixcbmg1LFxuLmg1LFxuaDQsXG4uaDQsXG5oMyxcbi5oMyxcbmgyLFxuLmgyLFxuaDEsXG4uaDEge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1uZW90ZXJpYy1mb250LWZhbWlseS1oZWFkaW5ncywgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1uZW90ZXJpYy1mb250LXdlaWdodC1oZWFkaW5ncywgJGZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc3R5bGU6IHZhcigtLW5lb3RlcmljLWZvbnQtc3R5bGUtbm9ybWFsLCAkaGVhZGluZ3MtZm9udC1zdHlsZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxucCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLmRpc3BsYXktMSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyLjdyZW0sIDh2dywgNS41cmVtKTtcbn1cblxuLmRpc3BsYXktMiB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyLjNyZW0sIDd2dywgNC41cmVtKTtcbn1cblxuLmRpc3BsYXktMyB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjlyZW0sIDZ2dywgMy41cmVtKTtcbn1cblxuLmRpc3BsYXktNCB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDV2dywgMi41cmVtKTtcbn1cblxuLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4xcmVtLCAzdncsIDEuMjVyZW0pO1xufVxuXG4udGV4dC1jb2xvci1ib2R5IHtcbiAgICBjb2xvcjogdmFyKC0tYm9keS1jb2xvcik7XG59XG5cbi50ZXh0LWNvbG9yLXByaW1hcnkge1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbn1cblxuLnRleHQtY29sb3Itc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbn1cblxuYSB7XG4gICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWxpbmstY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAmOm5vdChbY2xhc3NdKTpob3ZlcixcbiAgICAmOm5vdChbY2xhc3NdKTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1saW5rLWhvdmVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAmLm5hdmJhci1icmFuZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1uZW90ZXJpYy1jb2xvci1icmFuZCk7XG4gICAgfVxufVxuXG4uY29tLWNvbnRlbnQtYXJ0aWNsZSB7XG5cbiAgICBvbCxcbiAgICB1bCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG4uY29tLWNvbnRlbnQtY2F0ZWdvcnlfX3BhZ2luYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbn1cblxuc21hbGwsXG4uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbn1cblxuZGQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG50aCBkZCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLW5lb3RlcmljLWZvbnQtd2VpZ2h0LW5vcm1hbCwgJGZvbnQtd2VpZ2h0LW5vcm1hbCk7XG59XG5cbi5jb20tY29udGFjdF9fdGh1bWJuYWlsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgZGwuZGwtaG9yaXpvbnRhbCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG5cbiAgICAgICAgZHQge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IDI7XG4gICAgICAgIH1cblxuICAgICAgICBkZCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogMztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tLWNvbnRhY3RfX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQsIGF1dG8pO1xuICAgICAgICBncmlkLWdhcDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb20tY29udGFjdF9fdGh1bWJuYWlsIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzIC8gNTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAyIC8gNTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbS1jb250YWN0X19wb3NpdGlvbiB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDM7XG4gICAgICAgICAgICBncmlkLXJvdzogMiAvIDM7XG4gICAgICAgIH1cblxuICAgICAgICAuY29tLWNvbnRhY3RfX2luZm8ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDMgLyA0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbS11c2Vycy1wcm9maWxlIHtcbiAgICAgICAgZHQge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDAgMCAoJG5lb3RlcmljLWdyaWQtZ3V0dGVyKTtcblxuICAgICYuZmxvYXQtc3RhcnQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgICB9XG5cbiAgICAmLmZsb2F0LWVuZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gICAgfVxufVxuXG5maWdjYXB0aW9uIHtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgY29sb3I6ICRncmF5LTYwMDtcbn1cblxuLm1vZC1tZW51IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4vLyBtZXRlciBlbGVtZW50XG5tZXRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wYWdlbmF2aWdhdGlvbixcbi5wYWdlciB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIgMDtcblxuICAgICAgICAubmV4dDpvbmx5LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnZS1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtbGluay1jb2xvcik7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWxpbmstY29sb3IpO1xuICAgIH1cbn1cblxuLmFjdGl2ZT4ucGFnZS1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tcGFnaW5hdGlvbi1hY3RpdmUtY29sb3IpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wYWdpbmF0aW9uLWFjdGl2ZS1ob3Zlci1jb2xvciwgdmFyKC0tcGFnaW5hdGlvbi1hY3RpdmUtY29sb3IpKTtcbiAgICB9XG59XG5cbi5wYWdlciB7XG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbltkaXI9XCJydGxcIl0gbGkubmV4dCAucGFnZS1saW5rIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuMjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjI1cmVtO1xufVxuXG5bZGlyPVwicnRsXCJdIGxpLnByZXZpb3VzIC5wYWdlLWxpbmsge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IC4yNXJlbTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogLjI1cmVtO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5cbi5hcnRpY2xlLWluZGV4IHtcbiAgICAudG9jbGluay5hY3RpdmUge1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cbn1cblxuLnRvcC1iYXItY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtdG9wYmFyLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtdG9wYmFyLWNvbG9yKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS10b3BiYXItYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG5cbiAgICBhLnRleHQtY29sb3ItaW5oZXJpdCxcbiAgICAubW9kLWxpc3QgYSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS10b3BiYXItY29sb3IpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS10b3BiYXItY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kLWlubGluZSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNHJlbSAwO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIC50b3AtYmFyLWNvbnRlbnQge1xuICAgICAgICAudG9wLXJpZ2h0IHtcbiAgICAgICAgICAgIC5tb2QtaW5saW5lOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRvcC1sZWZ0IHtcbiAgICAgICAgICAgIC5tb2QtaW5saW5lOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEJvb3RzdHJhcCA0IGIvY1xuLnNyLW9ubHkge1xuICAgIEBleHRlbmQgLnZpc3VhbGx5LWhpZGRlbjtcbn1cblxuLy8gT2ZmY2FudmFzIHBvc2l0aW9uXG4ub2ZmY2FudmFzLWhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdyYXktMzAwKTtcbn1cblxuLmJsb2NrLW9mZmNhbnZhcyB7XG4gICAgLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1vZmZjYW52YXMtaGVhZGVyLWJnLCAjMDkyMTQzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLW9mZmNhbnZhcy1oZWFkZXItY29sb3IsICNmZmYpO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4xNykgLTNweCAzcHggOXB4IDBweDtcbiAgICB9XG5cbiAgICAub2ZmY2FudmFzLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLmhlYWRlci1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSwgJHdoaXRlKTtcbn1cblxuLmhlYWRlci1pcy1zdGlja3kge1xuICAgIC5oZWFkZXItY29udGVudCB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgfVxufVxuXG4uaGVhZGVyLW1haW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLWhlYWRlci1iZywgIzA5MjE0Myk7XG4gICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWhlYWRlci1jb2xvciwgI2ZmZik7XG5cbiAgICAuY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMDtcbiAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2U7XG4gICAgfVxufVxuXG4uaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xuICAgIC5hd2Vzb21wbGV0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgJj5pbnB1dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLWhlYWRlci1iZywgIzA5MjE0Myk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1oZWFkZXItY29sb3IsICNmZmYpO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB6LWluZGV4OiAzODA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBsaW5lYXIsIHZpc2liaWxpdHkgMC4xcyBsaW5lYXIsIHdpZHRoIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xuXG4gICAgICAgIC5oZWFkZXItc2VhcmNoLWlubmVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXItc2VhcmNoLW9wZW4ge1xuICAgICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiB1bnNldDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxpbmstaW5oZXJpdC1jb2xvciB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmhlYWRlci1tYWluIHtcbiAgICAgICAgLmNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLWlzLXN0aWNreSB7XG4gICAgICAgIC5oZWFkZXItbWFpbiB7XG4gICAgICAgICAgICAuY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuc2VsZWN0LnZtLWN1c3RvbWZpZWxkLWNob2ljZSxcbnNlbGVjdC5ub3JtYWwtY2hvaWNlLFxuLm5vcm1hbC1jaG9pY2Utd3JhcHBlcj5zZWxlY3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl0ucXVhbnRpdHktaW5wdXQge1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLm1haW4tY29udGVudC1hcmVhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1tYWluLWNvbnRlbnQtYXJlYS1iZywgdHJhbnNwYXJlbnQpO1xufVxuXG4ubWFpbi1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbn1cblxuLm1lZ2EtbWVudS1jb250YWluZXIge1xuICAgIC0tbWVnYW1lbnUtYm9yZGVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1tZWdhbWVudS1ib3JkZXItY29sb3IsICNkZGQpO1xuICAgIC0tbWVnYW1lbnUtYmc6IHZhcigtLXRlbXBsYXRlLW1lZ2FtZW51LWJnLCAjZmZmKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbWVnYW1lbnUtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbWVnYW1lbnUtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZWdhbWVudS1iZyk7XG5cbiAgICAubW9kLXZtY2F0ZWdvcnktZHJvcGRvd24rLm1vZC1tZWdhbWVudSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45cmVtO1xuICAgIH1cbn1cblxuLmJyZWFkY3J1bWJzLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyZWFkY3J1bWItc2VjdGlvbi1iZyk7XG4gICAgY29sb3I6IHZhcigtLWJyZWFkY3J1bWItc2VjdGlvbi1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJyZWFkY3J1bWItc2VjdGlvbi1ib3JkZXItY29sb3IpO1xuXG4gICAgLm1vZC1icmVhZGNydW1icyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWJyZWFkY3J1bWItc2VjdGlvbi1saW5rLWNvbG9yLCBpbmhlcml0KTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1icmVhZGNydW1iLXNlY3Rpb24tbGluay1ob3Zlci1jb2xvciwgdmFyKC0tdGVtcGxhdGUtbGluay1jb2xvcikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZC1icmVhZGNydW1ic19faXRlbSB7XG4gICAgICAgICYrLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdWUC1QcmltZScsIFwiUm9ib3RvXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkyM1wiO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1icmVhZGNydW1iLXNlY3Rpb24tc2VwYXJhdG9yLWNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1icmVhZGNydW1iLXNlY3Rpb24taXRlbS1hY3RpdmUtY29sb3IsIGluaGVyaXQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAuYnJlYWRjcnVtYnMtc2VjdGlvbiB7XG4gICAgICAgIC5icmVhZGNydW1icy1pbm5lciB7XG4gICAgICAgICAgICAmLmQtZmxleCB7XG4gICAgICAgICAgICAgICAgLm1vZC1wb3NpdGlvbi1icmVhZGNydW1icyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2QtYnJlYWRjcnVtYnNfX3dyYXBwZXIge1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5icmVhZGNydW1iIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogdW5zZXQ7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICAuYnJlYWRjcnVtYi1pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2QtYnJlYWRjcnVtYnNfX2RpdmlkZXIsXG4gICAgICAgICAgICAubW9kLWJyZWFkY3J1bWJzX19oZXJlIHtcbiAgICAgICAgICAgICAgICAmKy5icmVhZGNydW1iLWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnJlYWRjcnVtYi1pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlZQLVByaW1lXCIsIFwiUm9ib3RvXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MjNcXDIwMDQuLi5cXDIwMDRcXGU5MjNcIjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJyZWFkY3J1bWItc2VjdGlvbi1zZXBhcmF0b3ItY29sb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1vZC1icmVhZGNydW1ic19faGVyZSsuYnJlYWRjcnVtYi1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIC5icmVhZGNydW1icy1zZWN0aW9uIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJyZWFkY3J1bWItc2VjdGlvbi1ib3JkZXItY29sb3IpO1xuICAgIH1cbn1cblxuLnNlcGFyYXRvci1saW5lIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JheS0yMDApO1xufVxuXG4uc2VwYXJhdG9yLWxpbmUtb2ZmY2FudmFzIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1ncmF5LTMwMCk7XG59XG5cbi50bXBsLWNvbXBvbmVudCB7XG4gICAgcGFkZGluZzogMnJlbTtcblxuICAgICYuY29tLXZtZXNzZW50aWFscy52aWV3LXF1aWNrdmlldyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4uZ2xpZ2h0Ym94LWNsZWFuIHtcbiAgICAmLm1vZGFsLWxpbmsge1xuICAgICAgICAuZ3NsaWRlLWV4dGVybmFsIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuaWZyYW1lLWxvYWRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluO1xuICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgICAgIH1cblxuICAgICAgICAuaWZyYW1lLXNwaW5uZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGxvYWRlclNwaW4gMC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgICBhbmltYXRpb246IGxvYWRlclNwaW4gMC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMzMzO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pZnJhbWUtbG9hZGluZyB7XG4gICAgICAgICAgICAuaWZyYW1lLWxvYWRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZGVyU3BpbiB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBsb2FkZXJTcGluIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuZ2xpZ2h0Ym94LWNsZWFuIHtcbiAgICAgICAgJi5tb2RhbC1saW5rIHtcbiAgICAgICAgICAgIC5nb3ZlcmxheSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGluay1ib2R5IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWJvZHktY29sb3IsIGluaGVyaXQpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIH1cbn1cblxuLmxpbmstYm9keS1pbnZlcnQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogdmFyKC0tYm9keS1jb2xvcik7XG4gICAgfVxufVxuXG4udG5zLWluaXRpYWwtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi50bnMtc2xpZGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uaGFzLWRhbmdlciB7XG4gICAgLmNob3Nlbi1jb250YWluZXIuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICAgICAgICAuY2hvc2VuLXNpbmdsZSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5pbnZhbGlkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnZS1oZWFkZXIge1xuICAgIGgxIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC44cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpO1xuICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgICYucGFnZS1oZWFkZXItY2VudGVyIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucGFnZS1oZWFkZXItbm8tZGVjb3JhdGlvbiB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3ViLWhlYWRpbmcge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG4jc3lzdGVtLW1lc3NhZ2UtY29udGFpbmVyIHtcbiAgICAmPioge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXG4gICAgLnBhZ2UtY29udGFpbmVyLWJveCxcbiAgICAuY29tLXVzZXJzLXJlZ2lzdHJhdGlvbixcbiAgICAuY29tLXVzZXJzLWxvZ2luLFxuICAgIC5jb20tdXNlcnMtcmVtaW5kLFxuICAgIC5jb20tdXNlcnMtcmVzZXQge1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmF5LTIwMCk7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAycmVtO1xuICAgIH1cbn1cblxuLm1vZC1sb2dpbl9fb3B0aW9ucyB7XG4gICAgLmljb24tcmVnaXN0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnJlZCxcbi5zdGFyLFxuLmFzdGVyaXNrIHtcbiAgICBjb2xvcjogI2ZmNGMwZTtcbn1cblxuLm9mZmNhbnZhcy1yZWdpc3RyYXRpb24sXG4ub2ZmY2FudmFzLWxvZ291dCB7XG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmF5LTIwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIH1cbn1cblxuLmJ0bi1yZW1vdmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAtLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMC4xcmVtIDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4uamV3ZWwtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5qZXdlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTAuNHJlbTtcbiAgICByaWdodDogLTAuOHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIHdpZHRoOiAxLjFyZW07XG4gICAgaGVpZ2h0OiAxLjFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAuZm9vdGVyLXRvb2xiYXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmF5LTEwMCk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ncmF5LTIwMCk7XG4gICAgICAgIHotaW5kZXg6IDUwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWJvZHktY29sb3IpO1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuXG4gICAgICAgICY+KiB7XG4gICAgICAgICAgICBtYXJnaW46IDAuNHJlbSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWlvcyB7XG4gICAgICAgIC5mb290ZXItdG9vbGJhciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLmhlYWRlci1yaWdodC1sZy5maXhlZC1ib3R0b20ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgei1pbmRleDogaW5oZXJpdDtcblxuICAgICAgICAmPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAuYnRuLWljb24ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuamV3ZWwtZ3JvdXAge1xuICAgICAgICAgICAgLnZwaS1sZyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kLWlubGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBnYXA6IDAuOHJlbTtcbn1cblxuLm1vZC1pbmxpbmUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi50b3AtYmFyIHtcbiAgICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiLCBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSxcbiAgICB1bC5sYW5nLWJsb2NrLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAtLWRyb3Bkb3duLWJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICAgJj5saSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kLWJhZGdlIHtcbiAgICAtLW1vZC1iYWRnZS1iZzogI2ZmMDAwMDtcbiAgICAtLW1vZC1iYWRnZS1jb2xvcjogI2ZmZmZmZiBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC41cmVtIDAuN3JlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tb2QtYmFkZ2UtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1tb2QtYmFkZ2UtY29sb3IpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLm1haW4tdG9wLXZlcnRpY2FsLXNlY3Rpb24sXG4ubWFpbi10b3AtaG9yaXpvbnRhbC1zZWN0aW9uLFxuLm1haW4tYm90dG9tLXZlcnRpY2FsLXNlY3Rpb24sXG4ubWFpbi1ib3R0b20taG9yaXpvbnRhbC1zZWN0aW9uIHtcbiAgICBtYXJnaW46IDRyZW0gMCAxcmVtO1xufVxuXG4uY29udGVudC10b3AtdmVydGljYWwtc2VjdGlvbixcbi5jb250ZW50LXRvcC1ob3Jpem9udGFsLXNlY3Rpb24sXG4uY29udGVudC1ib3R0b20tdmVydGljYWwtc2VjdGlvbixcbi5jb250ZW50LWJvdHRvbS1ob3Jpem9udGFsLXNlY3Rpb24ge1xuICAgIG1hcmdpbjogM3JlbSAwIDA7XG59XG5cbi5oZWFkZXItZ3JvdXAsXG4ubW9kLWhlYWRlci1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi5tb2QtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBnYXA6IDAuNnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgLm1vZC10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgIH1cbn1cblxuLm1vZC1oZWFkZXItZ3JvdXAge1xuICAgICY+Lm1vZC1oZWFkZXI6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4ubW9kLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLnZlcnRpY2FsLW1vZHVsZS1zZWN0aW9uIHtcbiAgICAubW9kLWhlYWRlci1ncm91cCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbmFzaWRlLFxuLmJvdHRvbS1zZWN0aW9uIHtcbiAgICAubW9kLWhlYWRlci1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB9XG5cbiAgICAubW9kLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgLm1vZC10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2Qtc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxufVxuXG4udXRpbGl0eS13aWRlLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLXV0aWxpdHktd2lkZS1zZWN0aW9uLWJnLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLXV0aWxpdHktd2lkZS1zZWN0aW9uLWJvcmRlci10b3AtY29sb3IsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGVtcGxhdGUtdXRpbGl0eS13aWRlLXNlY3Rpb24tYm9yZGVyLWJvdHRvbS1jb2xvciwgdHJhbnNwYXJlbnQpO1xufVxuXG4udXRpbGl0eS12ZXJ0aWNhbC1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS11dGlsaXR5LXZlcnRpY2FsLXNlY3Rpb24tYmcsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdGVtcGxhdGUtdXRpbGl0eS12ZXJ0aWNhbC1zZWN0aW9uLWJvcmRlci10b3AtY29sb3IsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGVtcGxhdGUtdXRpbGl0eS12ZXJ0aWNhbC1zZWN0aW9uLWJvcmRlci1ib3R0b20tY29sb3IsIHRyYW5zcGFyZW50KTtcbn1cblxuLnV0aWxpdHktaG9yaXpvbnRhbC1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS11dGlsaXR5LWhvcml6b250YWwtc2VjdGlvbi1iZywgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS10ZW1wbGF0ZS11dGlsaXR5LWhvcml6b250YWwtc2VjdGlvbi1ib3JkZXItdG9wLWNvbG9yLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLXV0aWxpdHktaG9yaXpvbnRhbC1zZWN0aW9uLWJvcmRlci1ib3R0b20tY29sb3IsIHRyYW5zcGFyZW50KTtcblxuICAgIC5jb250YWluZXItaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiA1cmVtIDA7XG4gICAgfVxuXG4gICAgLm1vZC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbn1cblxuLmJvdHRvbS1zbGlkZXItc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtYm90dG9tLXNsaWRlci1zZWN0aW9uLWJnLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLWJvdHRvbS1zbGlkZXItc2VjdGlvbi1ib3JkZXItdG9wLWNvbG9yLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLWJvdHRvbS1zbGlkZXItc2VjdGlvbi1ib3JkZXItYm90dG9tLWNvbG9yLCB0cmFuc3BhcmVudCk7XG4gICAgcGFkZGluZzogMXJlbSAwO1xufVxuXG4uYm90dG9tLXNlY3Rpb24ge1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1ib3R0b20tc2VjdGlvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtYm90dG9tLXNlY3Rpb24tYmcsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdGVtcGxhdGUtYm90dG9tLXNlY3Rpb24tYm9yZGVyLXRvcC1jb2xvciwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10ZW1wbGF0ZS1ib3R0b20tc2VjdGlvbi1ib3JkZXItYm90dG9tLWNvbG9yLCB0cmFuc3BhcmVudCk7XG5cbiAgICAuY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMy41cmVtIDAgMC41cmVtO1xuICAgIH1cblxuICAgIC5tb2QtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIH1cblxuICAgIC5tb2QtdGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtYm90dG9tLXNlY3Rpb24tdGl0bGUtY29sb3IpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtYm90dG9tLXNlY3Rpb24tbGluay1jb2xvcik7XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWJvdHRvbS1zZWN0aW9uLWxpbmstY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtYm90dG9tLXNlY3Rpb24tbGluay1ob3Zlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2QtYmxvY2staGVhZGVyIHtcbiAgICAubW9kLXRpdGxlIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cbn1cblxuZGl2Lm1vZC1sYW5ndWFnZXMge1xuICAgIHVsLmxhbmctYmxvY2sge1xuICAgICAgICAmPmxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udG9wLWJhci1jb250ZW50IHtcbiAgICAudG9wLWxlZnQge1xuICAgICAgICAubW9kLWlubGluZSB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZGwuYXJ0aWNsZS1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMCAxcmVtO1xufVxuXG5kdC5hcnRpY2xlLWluZm8tdGVybSB7XG4gICAgQGV4dGVuZCAudmlzdWFsbHktaGlkZGVuO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICBib2R5IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgfVxufVxuXG4ubW9kLW1lZ2FtZW51IHtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbi51dGlsaXR5LXdpZGUtc2VjdGlvbixcbi51dGlsaXR5LXZlcnRpY2FsLXNlY3Rpb24sXG4udXRpbGl0eS1ob3Jpem9udGFsLXNlY3Rpb24ge1xuICAgIC5tb2QtY3VzdG9tIHtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICB9XG59XG5cbi51dGlsaXR5LXdpZGUtc2VjdGlvbiB7XG4gICAgLm1vZC1jdXN0b20ge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgIH1cbn1cblxuLmJhbm5lci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDVyZW07XG59XG5cbi5iYW5uZXItYm9keSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYmFubmVyLWNvbnRlbnRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDRyZW0gNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1iYW5uZXItYmcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSk7XG4gICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWJhbm5lci1jb2xvciwgdmFyKC0tYm9keS1jb2xvcikpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjNyZW07XG59XG5cbi5iYW5uZXItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYmFubmVyLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG59XG5cbi56b29tLW9uLWhvdmVyIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuNDQsIDEuMTgpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOSk7XG4gICAgfVxufVxuXG4ucHJvbW8tYmFubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvbW8tYmFubmVyLWJnKTtcbiAgICBhc3BlY3QtcmF0aW86IHZhcigtLXByb21vLWJhbm5lci1hc3BlY3QtcmF0aW8pO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbn1cblxuLnByb21vLWJhbm5lci1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xufVxuXG4ucHJvbW8tYmFubmVyLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLCAwLjQ0LCAxLjE4KTtcbn1cblxuLnByb21vLWJhbm5lci1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAzcmVtO1xufVxuXG4ucHJvbW8tYmFubmVyLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbi5wcm9tby1iYW5uZXItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnByb21vLWJhbm5lci10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjRyZW07XG59XG5cbi5wcm9tby1iYW5uZXIge1xuICAgICY6aG92ZXIge1xuICAgICAgICAucHJvbW8tYmFubmVyLWltYWdlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wbGdfc3lzdGVtX3dlYmF1dGhuX2xvZ2luX2J1dHRvbiB7XG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogM3B4O1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgLnByb21vLWJhbm5lci10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNHZ3O1xuICAgIH1cblxuICAgIC5wcm9tby1iYW5uZXItc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuNXZ3O1xuICAgIH1cbn0iLCIvLyBBbGVydHNcblxuLmotbWFpbi1jb250YWluZXIge1xuICAuYWxlcnQge1xuICAgIG1hcmdpbjogLjc1cmVtO1xuICB9XG5cbn1cblxuLmFsZXJ0LWhlYWRpbmcge1xuICBmb250LXNpemU6ICRoNC1mb250LXNpemU7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXJlbSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbiIsIi8qKlxuKiBCYWNrIHRvIFRvcFxuKi9cblxuLmJhY2stdG8tdG9wLWxpbmsge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMS4ycmVtO1xuICAgIGJvdHRvbTogNC4ycmVtO1xuICAgIHotaW5kZXg6IDM1MDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSwgJHdoaXRlKTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4xNyk7XG4gICAgY29sb3I6IHZhcigtLWdyYXktODAwKTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcblxuICAgICYudmlzaWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ3JheS04MDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSwgJHdoaXRlKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAuYmFjay10by10b3AtbGluayB7XG4gICAgICAgIHdpZHRoOiA0LjJyZW07XG4gICAgICAgIGhlaWdodDogNC4ycmVtO1xuICAgICAgICBib3R0b206IDEuMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgfVxufSIsIi8vIEJhbm5lclxuXG4uY29udGFpbmVyLWJhbm5lciB7XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG5cbiAgLmJhbm5lci1vdmVybGF5IHtcbiAgICBoZWlnaHQ6IDcwdmg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wLGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgLm92ZXJsYXkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsIDAlLCAwJSwgLjUpO1xuXG4gICAgICAudGV4dC10aGluIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICBtYXJnaW46IDFyZW0gYXV0byAycmVtO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIC5sZWFkIHtcbiAgICAgICAgICBmb250LXNpemU6IDE1MHZoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDc0MHB4KSB7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9vdGVyXG4uZm9vdGVyLWFyZWEge1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1mb290ZXItYXJlYS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtZm9vdGVyLWFyZWEtYmcsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdGVtcGxhdGUtZm9vdGVyLWFyZWEtYm9yZGVyLXRvcC1jb2xvciwgdHJhbnNwYXJlbnQpO1xuXG4gICAgLmNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEuN3JlbSAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtZm9vdGVyLWFyZWEtbGluay1jb2xvcik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtZm9vdGVyLWFyZWEtbGluay1ob3Zlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBGb3JtXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbi5mb3JtLWNvbnRyb2wge1xuICAgIG1heC13aWR0aDogJGlucHV0LW1heC13aWR0aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAmLmlucHV0LXhsYXJnZSB7XG4gICAgICAgIG1heC13aWR0aDogMjEuODc1cmVtO1xuICAgIH1cblxuICAgICYuaW5wdXQteHhsYXJnZSB7XG4gICAgICAgIG1heC13aWR0aDogMzQuMzc1cmVtO1xuICAgIH1cblxuICAgICYuaW5wdXQtZnVsbCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLWlucHV0LWZvY3VzLWJvcmRlci1jb2xvciwgJGlucHV0LWJvcmRlci1jb2xvcik7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgJjpjaGVja2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuXG4uc3BhY2VyIGhyIHtcbiAgICB3aWR0aDogMjMuNzVyZW07XG59XG5cbi5mb3JtLXNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiAkaW5wdXQtbWF4LXdpZHRoO1xufVxuXG4vLyBCb290c3RyYXAgNCBiL2Mgb24gZm9ybS1pbmxpbmVcbi5mb3JtLWlubGluZSAuZm9ybS1zZWxlY3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgLmZvcm0taW5saW5lIC5mb3JtLXNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxudGQgLmZvcm0tY29udHJvbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uY2hlY2tib3hlcyB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcblxuICAgIC5jaGVja2JveCBpbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLm1vZGFsIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLy8gVmFsaWRhdGlvblxuLmludmFsaWQge1xuICAgIGNvbG9yOiAkZGFuZ2VyO1xuICAgIGJvcmRlci1jb2xvcjogJGRhbmdlcjtcbn1cblxuLnZhbGlkIHtcbiAgICBib3JkZXItY29sb3I6ICRzdWNjZXNzO1xufVxuXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gc2V0IHVwIGhpZGRlbiB0b29sdGlwXG5bcm9sZT1cInRvb2x0aXBcIl06bm90KC5zaG93KSB7XG4gICAgcmlnaHQ6IDVlbTtcbiAgICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogLjVlbTtcbiAgICBtYXJnaW46IC41ZW07XG4gICAgY29sb3I6ICRibGFjaztcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktNjAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IDAgMCAuNXJlbSByZ2JhKDAsIDAsIDAsIC44KTtcblxuICAgICZbaWRePWVkaXRhcnRpY2xlLV0ge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLTEwZW07XG4gICAgfVxuXG4gICAgJltpZF49ZWRpdGNvbnRhY3QtXSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtMTBlbTtcbiAgICB9XG5cbiAgICAmW2lkXj1pZC1za2lwLV0ge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAmW2lkXj1jYnVucHVibGlzaF0ge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG59XG5cbi8vIHJldmVhbCBhc3NvY2lhdGVkIHRvb2x0aXAgb24gZm9jdXNcbjpmb2N1cytbcm9sZT1cInRvb2x0aXBcIl0sXG46aG92ZXIrW3JvbGU9XCJ0b29sdGlwXCJdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5maWx0ZXItc2VhcmNoLWJhcl9fZGVzY3JpcHRpb24ge1xuICAgIGJvdHRvbTogMTAwJTtcbn1cblxuZmllbGRzZXQge1xuICAgIG1hcmdpbi1ib3R0b206IG1hdGguZGl2KCRuZW90ZXJpYy1ncmlkLWd1dHRlciwgMik7XG5cbiAgICArZmllbGRzZXQge1xuICAgICAgICBtYXJnaW4tdG9wOiBtYXRoLmRpdigkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIsIDIpO1xuICAgIH1cblxuICAgID4qIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBsZWdlbmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICB9XG59XG5cbi5jb250cm9sLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIgKiAwLjg7XG59XG5cbi5jb250YWluZXItcG9wdXAgLmZpbHRlci1zZWFyY2gtYmFyX19kZXNjcmlwdGlvbiB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbn1cblxuLmNvbS11c2Vycy1sb2dpbl9fb3B0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyICogMC44O1xufVxuXG4uY29tLXVzZXJzLXByb2ZpbGVfX2VkaXQsXG4uY29tLXVzZXJzLXJlZ2lzdHJhdGlvbiB7XG5cbiAgICAjamZvcm1fcHJpdmFjeWNvbnNlbnRfcHJpdmFjeSxcbiAgICAjamZvcm1fcHJvZmlsZV90b3MsXG4gICAgI2pmb3JtX3Rlcm1zX3Rlcm1zIHtcbiAgICAgICAgLnJhZGlvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ub2xkLWZvcm0ge1xuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2w7XG5cbiAgICAgICAgJi52YWxpZCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC52YWxpZDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaW52YWxpZCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5pbnZhbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1zZWxlY3Q7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJi52YWxpZCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC52YWxpZDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaW52YWxpZCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5pbnZhbGlkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29tLXVzZXJzLWxvZ2luX19yZW1lbWJlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xufVxuXG4uY29tLXVzZXJzLXJlZ2lzdHJhdGlvbl9fc3VibWl0LFxuLmNvbS11c2Vycy1sb2dpbl9fc3VibWl0LFxuLmNvbS11c2Vycy1yZXNldF9fc3VibWl0LFxuLmNvbS11c2Vycy1yZW1pbmRfX3N1Ym1pdCB7XG4gICAgLmJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59IiwiLy8gRnJvbnRlbmQgRWRpdGluZ1xuXG4uYnRuLmptb2RlZGl0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xuICB6LWluZGV4OiA5MDA7XG4gIGNvbG9yOiB2YXIoLS1uZW90ZXJpYy1jb2xvci1saW5rKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODU5NWE7XG4gIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbn1cblxuIiwiLy8gSGVhZGVyXG5cbi5jb250YWluZXItaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmVvdGVyaWMtY29sb3ItcHJpbWFyeSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRuZW90ZXJpYy1oZWFkZXItZ3JhZDtcbiAgYm94LXNoYWRvdzogMCA1cHggNXB4IGhzbGEoMCwgMCUsIDAlLCAuMDMpIGluc2V0O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdyaWQtY2hpbGQge1xuICAgIHBhZGRpbmc6ICRuZW90ZXJpYy1ncmlkLWd1dHRlciAqIC41O1xuICB9XG5cbiAgbmF2IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6ICRuZW90ZXJpYy1ncmlkLWd1dHRlciAqIC41O1xuICB9XG5cbiAgLnNpdGUtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAuMzEyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjMxMjVyZW07XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IGF1dG87XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC02JSk7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhaW5lci1uYXYge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZy1ib3R0b206ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgLmNvbnRhaW5lci1zZWFyY2gsXG4gICAgICBuYXYge1xuICAgICAgICBtYXJnaW4tdG9wOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lci1zZWFyY2g6b25seS1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAmLnNob3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gIH1cblxuICAubW9kLW1lbnUge1xuICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICsgbGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjU1ZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgb3BhY2l0eTogLjI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlOjphZnRlcixcbiAgICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDJweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgJi5hY3RpdmUgPiBhLFxuICAgICAgICAmLmFjdGl2ZSA+IHNwYW4sXG4gICAgICAgID4gYTpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFyZW50IHtcbiAgICAgID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBjb2xvcjogJGdyYXktOTAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWV0aXNtZW51PT10cnVlIHtcbiAgICAubWV0aXNtZW51ID4gbGkge1xuICAgICAgKyBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICA+IGE6OmFmdGVyLFxuICAgICAgPiBidXR0b246OmJlZm9yZSB7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgb3BhY2l0eTogLjI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gYTpob3Zlcjo6YWZ0ZXIsXG4gICAgICA+IGJ1dHRvbjpob3Zlcjo6YmVmb3JlLFxuICAgICAgJi5hY3RpdmUgPiBhOjphZnRlcixcbiAgICAgICYuYWN0aXZlID4gYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICA+IGJ1dHRvbi5tbS10b2dnbGVyLWxpbms6aG92ZXI6OmJlZm9yZSxcbiAgICAgICYuYWN0aXZlID4gYnV0dG9uLm1tLXRvZ2dsZXItbGluazo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IC41ZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1ldGlzbWVudSA+IGxpLmxldmVsLTEge1xuICAgICAgJi5hY3RpdmUgPiBhLFxuICAgICAgJi5hY3RpdmUgPiBidXR0b24sXG4gICAgICA+IGE6aG92ZXIsXG4gICAgICA+IGJ1dHRvbjpob3ZlciB7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IHVsIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcblxuICAgIC5mYXMge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhaW5lci1zZWFyY2gge1xuICAgIG1hcmdpbi10b3A6ICRuZW90ZXJpYy1ncmlkLWd1dHRlciAqIC41O1xuICB9XG5cbiAgLm1vZC1maW5kZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogZGFya2VuKCR3aGl0ZSwgMTAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYXdlc29tcGxldGUge1xuICAgICAgY29sb3I6IHZhcigtLWJvZHktY29sb3IpO1xuXG4gICAgICA+IHVsIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgJHdoaXRlLCBoc2xhKDAsMCUsMTAwJSwuOSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSWNvbnNcblxuLiN7JGppY29uLWNzcy1wcmVmaXh9LXdoaXRlIHtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICAmOjpiZWZvcmUge1xuICAgIG1pbi13aWR0aDogMTZweDtcbiAgfVxufVxuXG4udGJvZHktaWNvbiB7XG4gIHBhZGRpbmc6IDAgM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgW2NsYXNzXj1cIiN7JGppY29uLWNzcy1wcmVmaXh9LVwiXSxcbiAgW2NsYXNzKj1cIiAjeyRqaWNvbi1jc3MtcHJlZml4fS1cIl0sXG4gIFtjbGFzc149XCIjeyRmYS1jc3MtcHJlZml4fS1cIl0sXG4gIFtjbGFzcyo9XCIgI3skZmEtY3NzLXByZWZpeH0tXCJdIHtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgY29sb3I6ICRncmF5LTQwMDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gIC4jeyRqaWNvbi1jc3MtcHJlZml4fS1wdWJsaXNoLFxuICAuI3skamljb24tY3NzLXByZWZpeH0tY2hlY2ssXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1jaGVjayB7XG4gICAgY29sb3I6ICRzdWNjZXNzO1xuICAgIGJvcmRlci1jb2xvcjogJHN1Y2Nlc3M7XG4gIH1cblxuICAuI3skamljb24tY3NzLXByZWZpeH0tY2hlY2tlZG91dCxcbiAgLiN7JGppY29uLWNzcy1wcmVmaXh9LWxvY2ssXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1sb2NrIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgY29sb3I6ICRncmF5LTcwMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmLmhvbWUtZGlzYWJsZWQsXG4gICYuZmVhdHVyZWQtZGlzYWJsZWQsXG4gICYuY29sb3ItZmVhdHVyZWQtZGlzYWJsZWQsXG4gICYuI3skamljb24tY3NzLXByZWZpeH0tc3Rhci1kaXNhYmxlZCxcbiAgJi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnRib2R5LWljb24gLmljb24tZGVsZXRlLFxuLnRib2R5LWljb24gLmZhLWRlbGV0ZSxcbi50Ym9keS1pY29uIC5pY29uLXRpbWVzLFxuLnRib2R5LWljb24gLmZhLXRpbWVzIHtcbiAgY29sb3I6ICRkYW5nZXI7XG4gIGJvcmRlci1jb2xvcjogJGRhbmdlcjtcbn1cblxuLy8gV2ViQXV0aG5cbi5wbGdfc3lzdGVtX3dlYmF1dGhuX2xvZ2luX2J1dHRvbiBzdmcge1xuICBtYXJnaW4taW5saW5lLWVuZDogMnB4O1xufVxuXG4ucGxnX3N5c3RlbV93ZWJhdXRobl9sb2dpbl9idXR0b24gc3ZnIHBhdGgge1xuICBmaWxsOiB2YXIoLS1ibGFjayk7XG59XG4iLCIvLyBJZnJhbWVcblxuaWZyYW1lIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4ubW9kYWwgaWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCIvLyBPYmplY3QgQ1NTXG5cbiRvYmplY3QtZml0czogKFxuICBmaWxsOiAgICAgICAgICAgICAgICAgICAgJ2ZpbGwnLFxuICBjb250YWluOiAgICAgICAgICAgICAgICAgJ2NvbnRhaW4nLFxuICBjb3ZlcjogICAgICAgICAgICAgICAgICAgJ2NvdmVyJyxcbiAgbm9uZTogICAgICAgICAgICAgICAgICAgICdub25lJyxcbiAgc2NhbGUtZG93bjogICAgICAgICAgICAgICdzY2FsZS1kb3duJyxcbiAgdW5zZXQ6ICAgICAgICAgICAgICAgICAgICd1bnNldCdcbikgIWRlZmF1bHQ7XG5cbiRvYmplY3QtcG9zaXRpb25zOiAoXG4gIGxlZnQtdG9wOiAgICAgICAgICAgICAgICAgJ2xlZnQgdG9wJyxcbiAgcmlnaHQtdG9wOiAgICAgICAgICAgICAgICAncmlnaHQgdG9wJyxcbiAgcmlnaHQtYm90dG9tOiAgICAgICAgICAgICAncmlnaHQgYm90dG9tJyxcbiAgbGVmdC1ib3R0b206ICAgICAgICAgICAgICAnbGVmdCBib3R0b20nLFxuICBsZWZ0LWNlbnRlcjogICAgICAgICAgICAgICdsZWZ0IGNlbnRlcicsXG4gIHJpZ2h0LWNlbnRlcjogICAgICAgICAgICAgJ3JpZ2h0IGNlbnRlcicsXG4gIGNlbnRlci10b3A6ICAgICAgICAgICAgICAgJ2NlbnRlciB0b3AnLFxuICBjZW50ZXItYm90dG9tOiAgICAgICAgICAgICdjZW50ZXItYm90dG9tJyxcbiAgY2VudGVyOiAgICAgICAgICAgICAgICAgICAnY2VudGVyIGNlbnRlcicsXG4gIHVuc2V0OiAgICAgICAgICAgICAgICAgICAgJ3Vuc2V0J1xuKSAhZGVmYXVsdDtcblxuXG5AZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkb2JqZWN0LWZpdHMge1xuICAub2JqZWN0LWZpdC0jeyRwcm9wZXJ0eX0ge1xuICAgIG9iamVjdC1maXQ6ICN7JHZhbHVlfTtcbiAgfVxufVxuXG5AZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkb2JqZWN0LXBvc2l0aW9ucyB7XG4gIC5vYmplY3QtcG9zaXRpb24tI3skcHJvcGVydHl9IHtcbiAgICBvYmplY3QtcG9zaXRpb246ICN7JHZhbHVlfTtcbiAgfVxufVxuXG4ub2JqZWN0LXBvc2l0aW9uLWN1c3RvbSB7XG4gIC0tb2JqZWN0LXBvc2l0aW9uOiAwIDA7XG4gIG9iamVjdC1wb3NpdGlvbjogdmFyKC0tb2JqZWN0LXBvc2l0aW9uKTtcbn1cblxuIiwiLy8gTGF5b3V0XG5cbi5ncmlkLWNoaWxkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbWF4LXdpZHRoKHh4bCk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5tb2QtY3VzdG9tIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29udGFpbmVyLXRvcGJhcixcbi5jb250YWluZXItYmVsb3ctdG9wIHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgYSB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgfVxufVxuXG4uY29udGFpbmVyLWJhbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAycmVtO1xufVxuXG4uY29udGFpbmVyLXRvcC1hLFxuLmNvbnRhaW5lci10b3AtYixcbi5jb250YWluZXItYm90dG9tLWEsXG4uY29udGFpbmVyLWJvdHRvbS1iIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICA+ICoge1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luOiAoJG5lb3RlcmljLWdyaWQtZ3V0dGVyICogLjUpIDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgPiAqIHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4uY29udGFpbmVyLWNvbXBvbmVudCBuYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb250YWluZXItY29tcG9uZW50LFxuLmNvbnRhaW5lci1zaWRlYmFyLWxlZnQsXG4uY29udGFpbmVyLXNpZGViYXItcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gID4gKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICAgIH1cbiAgfVxuXG4gID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgfVxufVxuXG4uY29udGFpbmVyLXNpZGViYXItbGVmdCxcbi5jb250YWluZXItc2lkZWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogY2FsYygxMDAlIC0gI3skbmVvdGVyaWMtZ3JpZC1ndXR0ZXJ9KTtcbiAgb3JkZXI6IDE7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtICN7JG5lb3RlcmljLWdyaWQtZ3V0dGVyfSk7XG4gICAgb3JkZXI6IDA7XG4gIH1cbn1cblxuLmNvbnRhaW5lci1zaWRlYmFyLWxlZnQge1xuICAuc2lkZWJhci1sZWZ0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gIH1cbiAgLnNpZGViYXItbGVmdDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gIH1cbn1cbi5jb250YWluZXItc2lkZWJhci1yaWdodCB7XG4gIC5zaWRlYmFyLXJpZ2h0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gIH1cbiAgLnNpZGViYXItcmlnaHQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICB9XG59XG5cbi5zeXN0ZW0tZGVidWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm9wdGlvbnMtZm9ybSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxdncgMnZ3O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBjb2xvcjogIzQ5NTA1NztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjJiZmNkO1xuXG4gID4gbGVnZW5kIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwIC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM0OTUwNTc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG59XG4iLCIvLyBNb2RhbHNcblxuLm1vZGFsIHtcbiAgLmJ0biB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgfVxuXG4gIC5idG4tcHJpbWFyeTpub3QoW2hyZWZdKSxcbiAgLmJ0bi1zdWNjZXNzOm5vdChbaHJlZl0pIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4ubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogMCAxNXB4O1xufVxuXG4ubW9kYWwtdGl0bGUge1xuICBmb250LXdlaWdodDogdmFyKC0tbmVvdGVyaWMtZm9udC13ZWlnaHQtbm9ybWFsLCAkZm9udC13ZWlnaHQtbm9ybWFsKTtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC1oZWFkZXItaGVpZ2h0O1xufVxuXG4uY29udGVudHBhbmUge1xuICBwYWRkaW5nOiAxNXB4O1xuXG4gIC5tYWluLWNhcmQge1xuICAgIG1hcmdpbjogLTEwcHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuIiwiLy8gTW9kaWZpZXJzXG5cbi8vIGVycm9yIHBhZ2VcblxuLmVycm9yLXNpdGUtaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmVycm9yLXNpdGUge1xuICAmLmRlYnVnZ2luZy1kaXNhYmxlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGI0ZmY7XG4gICAgY29sb3I6ICMwMDM0NzA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmVycm9yLXNpdGUtb3V0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAuZXJyb3Itc2l0ZS1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5lcnJvci1jb2RlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBmb250LXNpemU6IDEycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB9XG5cbiAgLmVycm9yLWljb24ge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcblxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgLmVycm9yLW1lc3NhZ2Uge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjhyZW07XG4gIH1cblxuICAuZXJyb3ItaW5mbyB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIH1cblxuICAucGFnZS1oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgfVxufVxuXG4uZXJyb3ItYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTtcblxuICAueDEge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMzVzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAtbW96LWFuaW1hdGlvbjogYW5pbWF0ZUNsb3VkIDM1cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMzVzIGxpbmVhciBpbmZpbml0ZTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY1KTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC42NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjY1KTtcbiAgfVxuXG4gIC54MiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGVDbG91ZCAyMHMgbGluZWFyIGluZmluaXRlO1xuICAgIC1tb3otYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMjBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IGFuaW1hdGVDbG91ZCAyMHMgbGluZWFyIGluZmluaXRlO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMpO1xuICB9XG5cbiAgLngzIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogYW5pbWF0ZUNsb3VkIDMwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgLW1vei1hbmltYXRpb246IGFuaW1hdGVDbG91ZCAzMHMgbGluZWFyIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogYW5pbWF0ZUNsb3VkIDMwcyBsaW5lYXIgaW5maW5pdGU7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIH1cblxuICAueDQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMThzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAtbW96LWFuaW1hdGlvbjogYW5pbWF0ZUNsb3VkIDE4cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMThzIGxpbmVhciBpbmZpbml0ZTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjQpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjQpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC40KTtcbiAgfVxuXG4gIC54NSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGFuaW1hdGVDbG91ZCAyNXMgbGluZWFyIGluZmluaXRlO1xuICAgIC1tb3otYW5pbWF0aW9uOiBhbmltYXRlQ2xvdWQgMjVzIGxpbmVhciBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IGFuaW1hdGVDbG91ZCAyNXMgbGluZWFyIGluZmluaXRlO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNTUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjU1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNTUpO1xuICB9XG5cbiAgLyogT0JKRUNUUyAqL1xuXG4gIC5jbG91ZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgNSUsICNmMWYxZjEgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCg1JSwgI2ZmZiksIGNvbG9yLXN0b3AoMTAwJSwgI2YxZjFmMSkpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZiA1JSwgI2YxZjFmMSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDUlLCAjZjFmMWYxIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmIDUlLCAjZjFmMWYxIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgNSUsICNmMWYxZjEgMTAwJSk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI2ZmZicsIGVuZENvbG9yc3RyPScjZjFmMWYxJywgR3JhZGllbnRUeXBlPTApO1xuXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDhweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMCA4cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBib3gtc2hhZG93OiAwIDhweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDM1MHB4O1xuICB9XG5cbiAgLmNsb3VkOmFmdGVyLFxuICAuY2xvdWQ6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGVYOiAxO1xuICB9XG5cbiAgLmNsb3VkOmFmdGVyIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG5cbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGxlZnQ6IDUwcHg7XG4gICAgdG9wOiAtNTBweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gIH1cblxuICAuY2xvdWQ6YmVmb3JlIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMjAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XG5cbiAgICB3aWR0aDogMTgwcHg7XG4gICAgaGVpZ2h0OiAxODBweDtcbiAgICByaWdodDogNTBweDtcbiAgICB0b3A6IC05MHB4O1xuICB9XG59XG5cbi8qIEtFWUZSQU1FUyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGVDbG91ZCB7XG4gIDAlIHtcbiAgICBtYXJnaW4tbGVmdDogLTEwMDBweDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBhbmltYXRlQ2xvdWQge1xuICAwJSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDAwcHg7XG4gIH1cblxuICAxMDAlIHtcbiAgICBtYXJnaW4tbGVmdDogMTAwJTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVDbG91ZCB7XG4gIDAlIHtcbiAgICBtYXJnaW4tbGVmdDogLTEwMDBweDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlO1xuICB9XG59XG5cbi8vIGNvbV9tb2R1bGVzXG5bY2xhc3NePVwiY29udGFpbmVyLVwiXSxcbltjbGFzcyo9XCIgY29udGFpbmVyLVwiXSB7XG4gIC5zcGFuLWNvbC0yIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAjeyRuZW90ZXJpYy1ncmlkLWd1dHRlcn0pO1xuICB9XG5cbiAgLnNwYW4tY29sLTMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMlO1xuICAgIG1heC13aWR0aDogY2FsYygzMy4zMzMlIC0gI3skbmVvdGVyaWMtZ3JpZC1ndXR0ZXJ9KTtcbiAgfVxuXG4gIC5zcGFuLWNvbC00IHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogY2FsYygyNSUgLSAjeyRuZW90ZXJpYy1ncmlkLWd1dHRlcn0pO1xuICB9XG59XG5cbkBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuXG4gIFtjbGFzc149XCJzcGFuLVwiXSxcbiAgW2NsYXNzKj1cIiBzcGFuLVwiXSB7XG4gICAgZ3JpZC1jb2x1bW4tZW5kOiBhdXRvO1xuICAgIGdyaWQtcm93LWVuZDogYXV0bztcbiAgfVxuXG4gIFtjbGFzc149XCJzcGFuLWNvbFwiXSxcbiAgW2NsYXNzKj1cIiBzcGFuLWNvbFwiXSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIC5zcGFuLWNvbC0yIHtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyO1xuICAgIH1cblxuICAgIC5zcGFuLWNvbC0zIHtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAzO1xuICAgIH1cblxuICAgIC5zcGFuLWNvbC00IHtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiA0O1xuICAgIH1cblxuICAgIC5zcGFuLXJvdy0yIHtcbiAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyO1xuICAgIH1cblxuICAgIC5zcGFuLXJvdy0zIHtcbiAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAzO1xuICAgIH1cblxuICAgIC5zcGFuLXJvdy00IHtcbiAgICAgIGdyaWQtcm93LWVuZDogc3BhbiA0O1xuICAgIH1cbiAgfVxuXG4gIFtjbGFzc149XCJjb250YWluZXItXCJdLFxuICBbY2xhc3MqPVwiIGNvbnRhaW5lci1cIl0ge1xuXG4gICAgW2NsYXNzXj1cInNwYW4tXCJdLFxuICAgIFtjbGFzcyo9XCIgc3Bhbi1cIl0ge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIGNvbV9jb250ZW50XG4uYmxvZy1pdGVtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1yaWdodDogLSgkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIgKiAuNSk7XG4gIG1hcmdpbi1ib3R0b206ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgbWFyZ2luLWxlZnQ6IC0oJG5lb3RlcmljLWdyaWQtZ3V0dGVyICogLjUpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAmLmNvbHVtbnMtMiB7XG4gICAgICA+ZGl2IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbHVtbnMtMyB7XG4gICAgICA+ZGl2IHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbHVtbnMtNCB7XG4gICAgICA+ZGl2IHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2ctaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDAgKCRuZW90ZXJpYy1ncmlkLWd1dHRlciAqIC41KSAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmJveGVkICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4IGhzbGEoMjE2LCAxMyUsIDIzJSwgLjEpLCAwIDJweCA1cHggaHNsYSgyMTYsIDEzJSwgMjMlLCAuMDgpLCAwIDVweCAxNXB4IGhzbGEoMjE2LCAxMyUsIDIzJSwgLjA4KSwgaW5zZXQgMCAzcHggMCB2YXIoLS1uZW90ZXJpYy1jb2xvci1wcmltYXJ5KTtcblxuICAgIC5pdGVtLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMjVweDtcbiAgICB9XG4gIH1cblxuICAuaXRlbS1pbWFnZSB7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5ib3hlZCAmIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgLmltYWdlLXJpZ2h0ICYge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1hZ2UtYm90dG9tICYge1xuICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAuaXRlbS1jb250ZW50IHtcbiAgICAuaW1hZ2UtbGVmdCAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICB9XG5cbiAgICAuaW1hZ2UtcmlnaHQgJiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5pbWFnZS1sZWZ0ICYsXG4gIC5pbWFnZS1yaWdodCAmIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgLml0ZW0taW1hZ2Uge1xuICAgICAgICBmbGV4OiAxIDAgNDAlO1xuICAgICAgfVxuXG4gICAgICAuaXRlbS1jb250ZW50IHtcbiAgICAgICAgZmxleDogMSAwIDYwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmFydGljbGUtaW5mbyB7XG4gIGRkIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAuYmxvZy1pdGVtcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBtYXJnaW46IDAgMCAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXI7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLWdhcDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuXG4gICAgLmJsb2ctaXRlbSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZbY2xhc3NePVwiY29sdW1ucy1cIl0sXG4gICAgJltjbGFzcyo9XCIgY29sdW1ucy1cIl0ge1xuICAgICAgPmRpdiB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICYuY29sdW1ucy0yIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgfVxuXG4gICAgICAmLmNvbHVtbnMtMyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICB9XG5cbiAgICAgICYuY29sdW1ucy00IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ibG9nLWl0ZW1zIHtcblxuICAmW2NsYXNzXj1cIm1hc29ucnktXCJdLFxuICAmW2NsYXNzKj1cIiBtYXNvbnJ5LVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sdW1uLWdhcDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuXG4gICAgLmJsb2ctaXRlbSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRuZW90ZXJpYy1ncmlkLWd1dHRlcjtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICYubWFzb25yeS0yIHtcbiAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICB9XG5cbiAgICAmLm1hc29ucnktMyB7XG4gICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgfVxuXG4gICAgJi5tYXNvbnJ5LTQge1xuICAgICAgY29sdW1uLWNvdW50OiA0O1xuICAgIH1cbiAgfVxufVxuXG4uaW1hZ2UtYWx0ZXJuYXRlIHtcbiAgLmJsb2ctaXRlbTpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgLml0ZW0taW1hZ2Uge1xuICAgICAgb3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgJi5pbWFnZS1sZWZ0IHtcbiAgICAuYmxvZy1pdGVtOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIC5pdGVtLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pbWFnZS10b3Age1xuICAgIC5ibG9nLWl0ZW06bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgLml0ZW0taW1hZ2Uge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW9kdWxlc1xuXG4uYnJlYWRjcnVtYiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEoMCwgMCUsIDAlLCAuMDMpO1xufVxuXG4ubm8tY2FyZCB7XG4gIC5uZXdzZmxhc2gtaG9yaXoge1xuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbSAxcmVtO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMzAwO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1lbmQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIGJveC1zaGFkb3c6ICRuZW90ZXJpYy1ib3gtc2hhZG93O1xuXG4gICAgICBmaWd1cmUge1xuICAgICAgICBtYXJnaW46IDAgLTFyZW0gMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1vZC1saXN0IHtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgbGkge1xuICAgIHBhZGRpbmc6IC41ZW0gMDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgQGF0LXJvb3QgLmNvbnRhaW5lci1oZWFkZXIgJiB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmU+YSB7XG4gICAgICBAYXQtcm9vdCAuY29udGFpbmVyLWhlYWRlciAmIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tb2QtbWVudV9fc3ViIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuICAgIH1cbiAgfVxufVxuXG5hc2lkZSB7XG4gIC5tb2Qtdm1jYXRlZ29yeS1tZW51LS1sZXZlbC0xIHtcbiAgICAmPi5tb2Qtdm1jYXRlZ29yeS1tZW51LS1pdGVtLWFuY2hvciB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnRvcC1iYXItY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIHAsXG4gIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAubW9kLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxcmVtO1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgLm1vZC1tZW51X19zdWIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgIH1cbiAgfVxufVxuXG4uZm9vdGVyLWFyZWEge1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBwLFxuICB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLm1vZC1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC44cmVtO1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgLm1vZC1tZW51X19zdWIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gICAgfVxuICB9XG59XG5cbi5wYWdpbmF0aW9uIHtcbiAgLS1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb250cmFzdC1jb2xvcik7XG4gIC0tcGFnaW5hdGlvbi1hY3RpdmUtYmc6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAtLXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gIC0tcGFnaW5hdGlvbi1wYWRkaW5nLXg6IDFyZW07XG4gIC0tcGFnaW5hdGlvbi1wYWRkaW5nLXk6IDAuNXJlbTtcbiAgLS1wYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6IG5vbmU7XG59XG5cbmJvZHkuY29tLWZpbmRlcj4qKyoge1xuICAgIG1hcmdpbi10b3A6IGluaXRpYWw7XG59IiwiLnN1YmhlYWQge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2xiYXI7XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4taGVpZ2h0OiA0M3B4O1xuICBwYWRkaW5nOiAuMjVyZW07XG4gIGNvbG9yOiAjNDk1MDU3OyAvLyMwYzE5MmU7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgYm94LXNoYWRvdzogLTNweCAtMnB4IDIycHggI2RkZDtcblxuICAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAmLm5vc2hhZG93IHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgam9vbWxhLXRvb2xiYXItYnV0dG9uLFxuICAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAuNzVyZW07XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgam9vbWxhLXRvb2xiYXItYnV0dG9uIHtcblxuICAgIC5idG4gPiBzcGFuLFxuICAgIC5kcm9wZG93bi1pdGVtID4gc3BhbiB7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogLjVyZW07XG4gICAgICB3aWR0aDogMS4yNWVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5idG4ge1xuICAgIC0tc3ViaGVhZC1idG4tYWNjZW50OiAjNDk1MDU3O1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi40NXJlbTtcbiAgICBjb2xvcjogIzQ5NTA1NztcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS01MDA7XG5cbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6IHZhcigtLXN1YmhlYWQtYnRuLWFjY2VudCk7XG4gICAgfVxuXG4gICAgJjpub3QoW2Rpc2FibGVkXSk6aG92ZXIsXG4gICAgJjpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLFxuICAgICY6bm90KFtkaXNhYmxlZF0pOmZvY3VzIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC45KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN1YmhlYWQtYnRuLWFjY2VudCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXN1YmhlYWQtYnRuLWFjY2VudCk7XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC45KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ0bi1zdWNjZXNzIHtcbiAgICAgIC0tc3ViaGVhZC1idG4tYWNjZW50OiB2YXIoLS1zdWNjZXNzKTtcbiAgICB9XG5cbiAgICAmLmJ0bi1kYW5nZXIge1xuICAgICAgLS1zdWJoZWFkLWJ0bi1hY2NlbnQ6IHZhcigtLWRhbmdlcik7XG4gICAgfVxuXG4gICAgJi5idG4tcHJpbWFyeSB7XG4gICAgICAtLXN1YmhlYWQtYnRuLWFjY2VudDogIzJhNjliODtcbiAgICB9XG5cbiAgICAmLmJ0bi1zZWNvbmRhcnkge1xuICAgICAgLS1zdWJoZWFkLWJ0bi1hY2NlbnQ6ICMwMDFiNGM7XG4gICAgfVxuXG4gICAgJi5idG4taW5mbyB7XG4gICAgICAtLXN1YmhlYWQtYnRuLWFjY2VudDogIzEzMmY1MztcbiAgICB9XG5cbiAgICAmLmJ0bi1hY3Rpb24ge1xuICAgICAgLS1zdWJoZWFkLWJ0bi1hY2NlbnQ6ICMxMzJmNTM7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMi4zNzVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgY29udGVudDogXCJcXGYwNzhcIjtcbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0sXG4gICAgJi5kcm9wZG93bi10b2dnbGVbZGlzYWJsZWRdIHtcbiAgICAgIC0tc3ViaGVhZC1idG4tYWNjZW50OiAjMTMyZjUzO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkZ3JheS0zMDAsIC44KTtcbiAgICAgIG9wYWNpdHk6IC41O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjphY3RpdmUsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAmLmJ0biB7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gICAgb3JkZXI6IDE7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogLSRib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXMgMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IGpvb21sYS10b29sYmFyLWJ1dHRvbixcbiAgLmJ0bi1ncm91cCBqb29tbGEtdG9vbGJhci1idXR0b24ge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gIGpvb21sYS10YWJbdmlldz1hY2NvcmRpb25dIC5jb2wtbWQtOSxcbiAgam9vbWxhLXRhYlt2aWV3PWFjY29yZGlvbl0gLmNvbC1tZC0zIHtcbiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAjbXlUYWIge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB9XG5cbiAgam9vbWxhLXRhYlt2aWV3PWFjY29yZGlvbl0gdWwgbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnN1YmhlYWQge1xuXG4gICAgam9vbWxhLXRvb2xiYXItYnV0dG9uLFxuICAgIC5idG4tZ3JvdXAsXG4gICAgLmJ0biB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAuYnRuLXRvb2xiYXIgPiAuYnRuLWdyb3VwLFxuICAgIC5idG4tdG9vbGJhciA+IGpvb21sYS10b29sYmFyLWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuYnRuLmJ0bi1hY3Rpb246OmFmdGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIExlZ2FjeVxuXG4ubGVmdC5pdGVtLWltYWdlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4ucmlnaHQuaXRlbS1pbWFnZSB7XG4gIGZsb2F0OiByaWdodDtcbn1cbiIsIi8vIFRhZ3NcblxuLnRhZ3Mge1xuICAubGlzdC1pbmxpbmUtaXRlbSB7XG4gICAgbWFyZ2luOiAuMjVyZW0gLjI1cmVtIC41cmVtO1xuICB9XG4gIGEuYnRuIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG59XG5cbi50YWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IC41cmVtIC41cmVtIC41cmVtIDA7XG59XG4iLCIvLyBKb29tbGEgQ1NTXG5cbi5tb2QtYXJ0aWNsZXNjYXRlZ29yaWVzIHtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keS1jb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gVmlydHVlTWFydCBDU1NcblxuLnByaWNlLWNyb3NzZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4udG9vbGJhci1zZXByYXRvciB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGVtcGxhdGUtdG9vbGJhci1zZXBhcmF0b3ItY29sb3IsICNlZWUpO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLmxpbmstc3dpdGNoIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuLnByb2R1Y3QtaW1hZ2VzPmRpdiB7XG4gICAgbWluLWhlaWdodDogNXJlbTtcbn1cblxuLnByb2R1Y3QtbmFtZSxcbi5jYXRlZ29yeS1uYW1lLFxuLm1hbnVmYWN0dXJlci1uYW1lIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgYSB7XG4gICAgICAgIEBleHRlbmQgLmxpbmstYm9keTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LXNob3J0LWRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JheS03MDApO1xufVxuXG4ucHJvZHVjdC1kaXNjb3VudC1hbW91bnQge1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcm9kdWN0LWRpc2NvdW50LWNvbG9yKTtcblxuICAgIGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LXByaWNlLWJlZm9yZS1kaXNjb3VudCxcbi5wcm9kdWN0LXNhbGVzLXByaWNlLFxuLnByb2R1Y3QtcHJpY2UtYmVmb3JlLWRpc2NvdW50IGRpdixcbi5wcm9kdWN0LXNhbGVzLXByaWNlIGRpdiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucHJvZHVjdC1zYWxlcy1wcmljZSxcbi5wcm9kdWN0LXNhbGVzLXByaWNlIGRpdiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5wcm9kdWN0LXByaWNlLWJlZm9yZS1kaXNjb3VudCB7XG4gICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLXByb2R1Y3QtcHJpY2UtYmVmb3JlLWRpc2NvdW50LWNvbG9yKTtcbn1cblxuLnByb2R1Y3Qtc2FsZXMtcHJpY2Uge1xuICAgIGNvbG9yOiB2YXIoLS1uZW90ZXJpYy1jb2xvci1wcmltYXJ5KTtcbn1cblxuLnByb2R1Y3QtcHJpY2UtYmVmb3JlLWRpc2NvdW50IGRpdiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5wcm9kdWN0LWxpc3QtaW1hZ2VzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWluLWhlaWdodDogMTByZW07XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZGVmYXVsdCxcbiAgICAucHJvZHVjdC1pbWFnZS1ob3ZlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZGVmYXVsdCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtaG92ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHRyYW5zZm9ybSAycyBjdWJpYy1iZXppZXIoMCwgMCwgLjQ0LCAxLjE4KTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LWxpc3QtdXRpbGl0aWVzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjZyZW07XG4gICAgcmlnaHQ6IDAuNnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTVweCkgdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuLnByb2R1Y3QtbGlzdC11dGlsaXR5LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbTtcbn1cblxuLnByb2R1Y3QtbGlzdC11dGlsaXR5LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnByb2R1Y3QtY29udGFpbmVyLFxuLml0ZW0tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcblxuICAgICYuYWRkLWhvdmVyLWVmZmVjdCB7XG5cbiAgICAgICAgJi5zdGF0ZS1ob3ZlcixcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KSB0cmFuc2xhdGVaKDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGF0ZS1ob3ZlcixcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLnByb2R1Y3QtaW1hZ2UtaG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOSk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1saXN0LXV0aWxpdGllcyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LWJvdHRvbS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnByb2R1Y3QtY29udGFpbmVyLmFkZC1ob3Zlci1lZmZlY3Quc3RhdGUtaG92ZXIgLnByb2R1Y3QtdG9wLWNvbnRhaW5lcixcbi5wcm9kdWN0LWNvbnRhaW5lci5hZGQtaG92ZXItZWZmZWN0LnN0YXRlLWhvdmVyIC5wcm9kdWN0LWJvdHRvbS1jb250YWluZXIsXG4uaXRlbS1jb250YWluZXIuYWRkLWhvdmVyLWVmZmVjdDpob3Zlcj4qOm5vdCguaXRlbS1iYWNrZHJvcCkge1xuICAgIHotaW5kZXg6IDIyO1xufVxuXG4ucHJvZHVjdC1jb250YWluZXIuYWRkLWhvdmVyLWVmZmVjdC5zdGF0ZS1ob3ZlciAucHJvZHVjdC1ib3R0b20tY29udGFpbmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG59XG5cbi5wcm9kdWN0LWJhY2tkcm9wLFxuLml0ZW0tYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoLTAuMjUgKiB2YXIoLS1ndXR0ZXIteCkpO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBjYWxjKC0wLjI1ICogdmFyKC0tZ3V0dGVyLXgpKTtcbiAgICByaWdodDogY2FsYygtMC4yNSAqIHZhcigtLWd1dHRlci14KSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJvZHVjdC1ob3Zlci1iZywgJHdoaXRlKTtcbiAgICBib3JkZXI6IGluaGVyaXQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cbiAgICAucHJvZHVjdC1iYWNrZHJvcCxcbiAgICAuaXRlbS1iYWNrZHJvcCB7XG4gICAgICAgIHRvcDogY2FsYygtMC41ICogdmFyKC0tZ3V0dGVyLXgpKTtcbiAgICAgICAgbGVmdDogY2FsYygtMC41ICogdmFyKC0tZ3V0dGVyLXgpKTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoLTAuNSAqIHZhcigtLWd1dHRlci14KSk7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1jb250YWluZXIuYWRkLWhvdmVyLWVmZmVjdC5zdGF0ZS1ob3ZlciAucHJvZHVjdC1iYWNrZHJvcCxcbi5pdGVtLWNvbnRhaW5lci5hZGQtaG92ZXItZWZmZWN0OmhvdmVyIC5pdGVtLWJhY2tkcm9wIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB6LWluZGV4OiAyMTtcbn1cblxuLnF1YW50aXR5LWJveC5pbnB1dC1ncm91cCxcbi5xdWFudGl0eS1ib3guaW5wdXQtZ3JvdXAuaW5wdXQtZ3JvdXAtbGcge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgJj4uZm9ybS1jb250cm9sLnF1YW50aXR5LWlucHV0IHtcbiAgICAgICAgZmxleDogMCAxIDUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgfVxufVxuXG4udm0tcGFnaW5hdGlvbiAuZGlzcGxheS1jb3VudGVyLFxuLnZtLXBhZ2luYXRpb24gLmRpc3BsYXktbGltaXRib3gge1xuICAgIGZsZXg6IDE7XG59XG5cbi5xdWFudGl0eS1ib3guaW5wdXQtZ3JvdXA+LmJ0biB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjZyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC42cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuXG4udmlydHVlbWFydC1kaWFsb2cgLm1vZGFsLWhlYWRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZmxleDogMTtcbn1cblxuLnZpcnR1ZW1hcnQtZGlhbG9nIC5tb2RhbC1oZWFkZXIgLmNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xuICAgIGZsZXg6IDE7XG59XG5cbi52bS1pbWctZGVzYyB7XG4gICAgQGV4dGVuZCAudmlzdWFsbHktaGlkZGVuO1xufVxuXG4ucHJvZHVjdC1ncm91cC10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5idG4uYWRkdG9jYXJ0LWJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmZvcm0tY2hlY2suYnRuLXZtLWN1c3RvbWZpZWxkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLnZtLWZpZWxkLWNvbnRyb2xzPi5mb3JtLWNoZWNrLmJ0bi12bS1jdXN0b21maWVsZDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi52bS1ub2Rpc3BsYXkge1xuICAgIEBleHRlbmQgLmQtbm9uZTtcbn1cblxuLmJ0bi12bS1jdXN0b21maWVsZCAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4uYnRuLXZtLWN1c3RvbWZpZWxkIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYnRuLXZtLWN1c3RvbWZpZWxkIC5mb3JtLWNoZWNrLWxhYmVsLXRleHQge1xuICAgIEBleHRlbmQgLmJ0biwgLmJ0bi1zbSwgLmJ0bi1zZWNvbmRhcnk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYnRuLXZtLWN1c3RvbWZpZWxkIC5mb3JtLWNoZWNrLWxhYmVsLXRleHQ6bm90KC5pcy1jb2xvci1idG4pIHtcbiAgICBtaW4td2lkdGg6IHZhcigtLW5lb3RlcmljLWN1c3RvbWZpZWxkLWJ0bi1taW4td2lkdGgsIDIuNXJlbSk7XG59XG5cbi5idG4tdm0tY3VzdG9tZmllbGQgLmZvcm0tY2hlY2stbGFiZWwtdGV4dC5pcy1jb2xvci1idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMi4xNXJlbTtcbiAgICB3aWR0aDogMi4xNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAyLjE1cmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmJ0bi12bS1jdXN0b21maWVsZCAuZm9ybS1jaGVjay1sYWJlbC10ZXh0LmlzLWNvbG9yLWJ0bjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBGcmVlXCIsIFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5idG4tdm0tY3VzdG9tZmllbGQgLmZvcm0tY2hlY2stbGFiZWwtcHJpY2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZvcm0tY2hlY2stbGFiZWwtcHJpY2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xufVxuXG4uYnRuLXZtLWN1c3RvbWZpZWxkIC5mb3JtLWNoZWNrLWlucHV0OmNoZWNrZWQrLmZvcm0tY2hlY2stbGFiZWwgLmZvcm0tY2hlY2stbGFiZWwtdGV4dDpub3QoLmlzLWNvbG9yLWJ0bikge1xuICAgIEBleHRlbmQgLmFjdGl2ZTtcbn1cblxuLmJ0bi12bS1jdXN0b21maWVsZCAuZm9ybS1jaGVjay1pbnB1dDpub3QoOmNoZWNrZWQpKy5mb3JtLWNoZWNrLWxhYmVsOmhvdmVyIC5mb3JtLWNoZWNrLWxhYmVsLXRleHQuaXMtY29sb3ItYnRuOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG5cbi5idG4tdm0tY3VzdG9tZmllbGQgLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZCsuZm9ybS1jaGVjay1sYWJlbCAuZm9ybS1jaGVjay1sYWJlbC10ZXh0LmlzLWNvbG9yLWJ0bjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLmNob2ljZXNfX3ByaWNlLFxuLmZvcm0tY2hlY2stbGFiZWwtcHJpY2Uge1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTYwMCk7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi52bS1maWVsZC1jb250cm9scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5wcm9kdWN0LWZpZWxkcy10aXRsZSxcbi52bS1jbXYtbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucHJvZHVjdC1maWVsZHMtdGl0bGUtd3JhcHBlcixcbi52bS1jbXYtbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5wcm9kdWN0LWZpZWxkcy10b29sdGlwIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wcm9kdWN0LWdyaWQtdmlldyxcbi5wcm9kdWN0LXJlbGF0ZWQtcHJvZHVjdHMge1xuICAgIC5wcm9kdWN0LWZpZWxkcyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAudm0tZmllbGQtY29udHJvbHMge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LWZpZWxkLFxuLnZtLWZpZWxkLWNvbnRyb2xzLFxuLmN1c3RvbS1maWVsZC1DLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLnByb2R1Y3QtZmllbGRzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuXG4uY2hvaWNlcy5jaG9pY2VzX19jdXN0b21maWVsZCB7XG4gICAgLmNob2ljZXNfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAyLjhyZW07XG5cbiAgICAgICAgLmNob2ljZXNfX2xpc3QuY2hvaWNlc19fbGlzdC0tc2luZ2xlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIC5jaG9pY2VzX19pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjM1cmVtIDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hvaWNlc19fbGlzdC0tZHJvcGRvd24gLmNob2ljZXNfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC4zNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMzVyZW07XG4gICAgfVxufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLFxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fdGh1bWJuYWlscyB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19pdGVtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX3RodW1ibmFpbHMgLnRucy1pdGVtIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNSBlYXNlLWluO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X190aHVtYm5haWxzIC50bnMtaXRlbS50bnMtbmF2LWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMC42O1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLXdyYXBwZXIsXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X190aHVtYm5haWxzLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fbWFpbi13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X190aHVtYm5haWxzLWNvbnRyb2xzIC5idG4tbm9iZyB7XG4gICAgLS1idG4tYmc6IHZhcigtLWdyYXktMjAwKTtcbiAgICAtLWJ0bi1ib3JkZXItY29sb3I6IHZhcigtLWdyYXktMjAwKTtcbiAgICAtLWJ0bi1ob3Zlci1iZzogdmFyKC0tZ3JheS0zMDApO1xuICAgIC0tYnRuLWhvdmVyLWJvcmRlci1jb2xvcjogdmFyKC0tZ3JheS0zMDApO1xuICAgIEBleHRlbmQgLmJ0bi1saWdodDtcbiAgICBwYWRkaW5nLXRvcDogMC40cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjRyZW07XG59XG5cbi5idG4tbm9iZyB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9faXRlbS1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLXRlbXBsYXRlLXByb2R1Y3QtdGh1Ym5haWwtaW1hZ2UtbWluLWhlaWdodCwgODBweCk7XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4ge1xuICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX2l0ZW0taW5uZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS10ZW1wbGF0ZS1wcm9kdWN0LW1haW4taW1hZ2UtbWluLWhlaWdodCwgMzAwcHgpO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fdGh1bWJuYWlscyB7XG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9faXRlbS1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXRlbXBsYXRlLXByb2R1Y3QtdGh1bWJuYWlsLWJvcmRlci1jb2xvciwgI0ZBRkFGQSk7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICBidXR0b24uYnRuLW5vYmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4tY29udHJvbHMge1xuICAgICY+YnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICB9XG59XG5cbi5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4tY29udHJvbHMge1xuICAgIGJ1dHRvbi5idG4tbm9iZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICAgICAgYnV0dG9uLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluO1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fbWFpbi1jb250cm9scyB7XG4gICAgICAgIGJ1dHRvbi5idG4tbm9iZyB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzBweCwgLTUwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzBweCwgLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLXdyYXBwZXI6aG92ZXIge1xuICAgICAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICAgICAgICAgIGJ1dHRvbi5idG4tbm9iZyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjUwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX3RodW1ibmFpbHMtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fdGh1bWJuYWlscyB7XG4gICAgICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX2l0ZW0ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCgodmFyKC0tcHJvZHVjdC1nYWxsZXJ5LXZlcnRpY2FsLWhlaWdodCwgMTAwcHgpIC0gMi41cmVtKSAvIHZhcigtLXByb2R1Y3QtZ2FsbGVyeS12ZXJ0aWNhbC1pdGVtcywgMykpIC0gMXB4KTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX2l0ZW0taW5uZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fdGh1bWJuYWlscy1jb250cm9scyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cbiAgICAgICAgLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4tY29udHJvbHMge1xuICAgICAgICBidXR0b24uYnRuLW5vYmcge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X190aHVtYm5haWxzLWNvbnRyb2xzIHtcbiAgICAgICAgLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LW1hbnVmYWN0dXJlcnM+LnByb2R1Y3QtbWFudWZhY3R1cmVyIHtcbiAgICBtYXgtd2lkdGg6IDhyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJj5hIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4xNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0ZGV0YWlscy12aWV3IC5wcm9kdWN0LXByaWNlcy13cmFwcGVyIHtcbiAgICAucHJvZHVjdC1wcmljZS1iZWZvcmUtZGlzY291bnQge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1zYWxlcy1wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIH1cbn1cblxuLnJhdGluZy1jb3VudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xufVxuXG4uc29jaWFsLXNoYXJlLWxpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnNvY2lhbC1zaGFyZS1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnNvY2lhbC1zaGFyZS1saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5zb2NpYWwtc2hhcmUtbGlzdC1pdGVtPi5zb2NpYWwtc2hhcmUtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC4xMnJlbTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGV4dGVuZCAubGluay1ib2R5LWludmVydDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMjVyZW0pO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtdXRpbGl0eS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtcmVsYXRlZC10aXRsZSxcbi5tb2RhbC1wYWdlLXRpdGxlLFxuLnByb21pbmVudC10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZy1ib3R0b206IDAuOHJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgICAgIHdpZHRoOiAzcmVtO1xuICAgIH1cbn1cblxuLm1hbnVmYWN0dXJlci12aWV3LWRlZmF1bHQge1xuICAgIC5tYW51ZmFjdHVyZXItaW1hZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1tYW51ZmFjdHVyZXItaW1hZ2UtYmcsICNmN2Y3ZjcpO1xuICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMDtcbiAgICB9XG59XG5cbi5tb2RhbC1wYWdlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuLmZvcm0tZ3JvdXAtdGV4dC1jb3VudGVyIHtcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgZmxleDogMCAxIDcwcHg7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1uYXZpZ2F0aW9uPmEge1xuICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLnF1aWNrdmlldy1ib2R5IHtcbiAgICBtaW4taGVpZ2h0OiA0NTBweDtcblxuICAgIC5wcm9kdWN0LWltYWdlcy1zZWN0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fbWFpbi13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbWFudWZhY3R1cmVycyB7XG4gICAgICAgIC5wcm9kdWN0LW1hbnVmYWN0dXJlciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDZyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICAgICAgYnV0dG9uLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAtLXNjcm9sbGJhci13aWR0aDogNXB4O1xuICAgIC0tc2Nyb2xsYmFyLXRyYWNrLWJnOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgLS1zY3JvbGxiYXItdGh1bWItYmc6IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICB3aWR0aDogdmFyKC0tc2Nyb2xsYmFyLXdpZHRoKTtcbiAgICB9XG5cbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Nyb2xsYmFyLXRyYWNrLWJnKTtcbiAgICB9XG5cbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Nyb2xsYmFyLXRodW1iLWJnKTtcbiAgICB9XG59XG5cbi5xdWlja3ZpZXctY29udGVudC1pbm5lciB7XG4gICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG59XG5cbi5xdWlja3ZpZXctcHJvZHVjdC1uYXZpZ2F0aW9uIHtcbiAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbnRyYXN0LWNvbG9yKTtcbiAgICAgICAgcGFkZGluZzogMC43cmVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmLnBhZ2UtbmF2LWxpbmsge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLnF1aWNrdmlldy1ib2R5IHtcbiAgICAgICAgLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeV9fbWFpbi1jb250cm9scyB7XG4gICAgICAgICAgICBidXR0b24uYnRuLW5vYmcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDIwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnlfX21haW4td3JhcHBlciB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1pbWFnZS1nYWxsZXJ5X19tYWluLWNvbnRyb2xzIHtcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLmJ0bi1ub2JnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgwKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC41MDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5xdWlja3ZpZXctcHJvZHVjdC1uYXZpZ2F0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWltYWdlcy1zZWN0aW9uIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAucXVpY2t2aWV3LXByb2R1Y3QtbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucXVpY2t2aWV3LWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB0cmFuc3BhcmVudCA1cHgsICMwMDAgNDBweCk7XG4gICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHRyYW5zcGFyZW50IDVweCwgIzAwMCA0MHB4KTtcbiAgICB9XG5cbiAgICAucXVpY2t2aWV3LWNvbnRlbnQtaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogMi41cmVtIDJyZW07XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtbGFiZWxzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0b3A6IDAuNnJlbTtcbiAgICBsZWZ0OiAwLjZyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnByb2R1Y3QtbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9kdWN0LWxhYmVsLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tcHJvZHVjdC1sYWJlbC1jb2xvcik7XG4gICAgcGFkZGluZzogMC4zcmVtIDAuNnJlbTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtaW4td2lkdGg6IDU1cHg7XG4gICAgbWluLWhlaWdodDogNTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtaW1hZ2UtZ2FsbGVyeSB7XG4gICAgLnByb2R1Y3QtbGFiZWxzIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDAuNnJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgLnByb2R1Y3QtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWltYWdlLWdhbGxlcnkge1xuICAgICAgICAucHJvZHVjdC1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52bS1sb2FkZXIge1xuICAgIC0tbWF4LW9wYWNpdHk6IDAuNTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAxMDM3O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhciwgdmlzaWJpbGl0eSAwLjE1cyBsaW5lYXI7XG59XG5cbi52bS1sb2FkZXItc3Bpbm5lciB7XG4gICAgLS1tYXgtb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGhlaWdodDogMjVweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogbG9hZGVyU3BpbiAwLjhzIGluZmluaXRlIGxpbmVhcjsgLy8gbG9hZGVyU3BpbiBrZXlmcmFtZSBkZWZpbmVkIGluIGdsb2JhbC5zY3NzXG4gICAgYW5pbWF0aW9uOiBsb2FkZXJTcGluIDAuOHMgaW5maW5pdGUgbGluZWFyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgei1pbmRleDogMTAzODtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi52bS1sb2FkaW5nIHtcblxuICAgIC52bS1sb2FkZXIsXG4gICAgLnZtLWxvYWRlci1zcGlubmVyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaGVyaXQ7XG4gICAgICAgIG9wYWNpdHk6IHZhcigtLW1heC1vcGFjaXR5KTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWxpc3QtdmlldyB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JheS0yMDApO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cbiAgICAucHJvZHVjdC1saXN0LXZpZXcge1xuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtc2FsZXMtcHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNlLWJlZm9yZS1kaXNjb3VudCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gUHJvZ3Jlc3MgYmFyXG4uc3RlcHMtYmFyIHtcbiAgICAtLXN0ZXBzLWJhci1pbmFjdGl2ZS1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICAtLXN0ZXBzLWJhci1pbmFjdGl2ZS10ZXh0LWNvbG9yOiB2YXIoLS1ib2R5LWNvbG9yKTtcbiAgICAtLXN0ZXBzLWJhci1pbmFjdGl2ZS1iZzogdmFyKC0td2hpdGUpO1xuICAgIC0tc3RlcHMtYmFyLWluYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tZ3JheS0zMDApO1xuICAgIC0tc3RlcHMtYmFyLWluYWN0aXZlLWxpbmUtYmc6IHZhcigtLWdyYXktMzAwKTtcbiAgICAtLXN0ZXBzLWJhci1hY3RpdmUtY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICAtLXN0ZXBzLWJhci1hY3RpdmUtdGV4dC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgLS1zdGVwcy1iYXItYWN0aXZlLWJnOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICAtLXN0ZXBzLWJhci1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICAtLXN0ZXBzLWJhci1hY3RpdmUtbGluZS1iZzogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gICAgLS1zdGVwcy1iYXItc3RlcC1mb250LXNpemU6IDEuMnJlbTtcblxuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMDtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvdW50ZXItcmVzZXQ6IHN0ZXA7XG5cbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDMuMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMy4ycmVtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXN0ZXBzLWJhci1pbmFjdGl2ZS1jb2xvcik7XG4gICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKHN0ZXApO1xuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHN0ZXA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMy4ycmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zdGVwcy1iYXItc3RlcC1mb250LXNpemUpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc3RlcHMtYmFyLWluYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDAuOHJlbSBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RlcHMtYmFyLWluYWN0aXZlLWJnKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjRyZW07XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RlcHMtYmFyLWluYWN0aXZlLWxpbmUtYmcpO1xuICAgICAgICAgICAgdG9wOiAxLjZyZW07XG4gICAgICAgICAgICBsZWZ0OiAtNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3RlcC1kb25lIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zdGVwcy1iYXItYWN0aXZlLXRleHQtY29sb3IpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zdGVwcy1iYXItYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RlcHMtYmFyLWFjdGl2ZS1iZyk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXN0ZXBzLWJhci1hY3RpdmUtY29sb3IpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiLCBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmK2xpOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGVwcy1iYXItYWN0aXZlLWJnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc3RlcC1hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXN0ZXBzLWJhci1hY3RpdmUtdGV4dC1jb2xvcik7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXN0ZXBzLWJhci1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc3RlcHMtYmFyLWFjdGl2ZS10ZXh0LWNvbG9yKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgLmNhcnQtaXRlbS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA2cmVtO1xuICAgIH1cblxuICAgIC5jYXJ0LWl0ZW0tcXVhbnRpdHkge1xuICAgICAgICAucXVhbnRpdHktYm94IHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9ybS1jaGVjay12bS5mb3JtLWNoZWNrIHtcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWNoZWNrLWlucHV0O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWNoZWNrLWxhYmVsO1xuICAgIH1cbn1cblxuLnF1YW5pdHktdXBkYXRlLXNlY3Rpb24ge1xuICAgIC5xdWFudGl0eS1pbnB1dCB7XG4gICAgICAgIG1heC13aWR0aDogNC41cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uY2FydC1pcy1lbXB0eS1zZWN0aW9uLFxuLmVtcHR5LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5lbXB0eS1jYXJ0LWljb24sXG4gICAgLmVtcHR5LWNhcmQtaWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmF5LTIwMCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA4cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVtcHR5LWNhcnQtaGVhZGluZyxcbiAgICAuZW1wdHktY2FyZC1oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmVtcHR5LWNhcnQtc3ViaGVhZGluZyxcbiAgICAuZW1wdHktY2FyZC1zdWJoZWFkaW5nIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdyYXktNjAwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXG4gICAgLmNhcnQtaXMtZW1wdHktc2VjdGlvbixcbiAgICAuZW1wdHktY2FyZCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwcmVtO1xuXG4gICAgICAgIC5lbXB0eS1jYXJ0LWljb24sXG4gICAgICAgIC5lbXB0eS1jYXJkLWljb24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmVtcHR5LWNhcnQtaGVhZGluZyxcbiAgICAgICAgLmVtcHR5LWNhcmQtaGVhZGluZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuZW1wdHktY2FydC1zdWJoZWFkaW5nLFxuICAgICAgICAuZW1wdHktY2FyZC1zdWJoZWFkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC1jb3Vwb24tZmllbGQge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIH1cbn1cblxuLmNhcnQtZmllbGRzLXNlY3Rpb24ge1xuICAgIHRleHRhcmVhIHtcbiAgICAgICAgbWluLWhlaWdodDogOHJlbTtcbiAgICB9XG5cbiAgICBmaWVsZHNldCB7XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FydC1zdW1tZXJ5IHtcblxuICAgIC5QcmljZWJpbGxUb3RhbCxcbiAgICAudG90YWxJblBheW1lbnRDdXJyZW5jeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWZpZWxkLXR5cGUtTSB7XG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzcmVtO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLnRhYmxlLWNhcnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICB0aGVhZCxcbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICB0ciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG5cbiAgICAgICAgICAgICZbZGF0YS10aXRsZV0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgZ2FwOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuY2FydC1pdGVtLW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY2FydC1jb2x1bW4tZW1wdHkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LWdyYW5kLXRvdGFsLFxuICAgICAgICAuY2FydC1wYXltZW50LXRvdGFsIHtcbiAgICAgICAgICAgIC5jYXJ0LXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtaXRlbS1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZtZS1tb2RfX2NvbnRlbnRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMSAxIDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5oYXMtbW9kLWxvYWRlcixcbi52bWUtbW9kLWNvbnRlbnRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAubW9kLWxvYWRlcixcbiAgICAudm1lLW1vZC1sb2FkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgICAgei1pbmRleDogMTA1MDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDUxO1xuICAgICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IC43NXMgbGluZWFyIGluZmluaXRlIHNwaW5uZXItZ3JvdztcbiAgICAgICAgICAgIGFuaW1hdGlvbjogLjc1cyBsaW5lYXIgaW5maW5pdGUgc3Bpbm5lci1ncm93O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udm1lLW1vZF9fZW1wdHkge1xuICAgIC5lbXB0eS1pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdyYXktMjAwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA2cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVtcHR5LWhlYWRpbmcge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG59XG5cbi52bWUtbW9kX19vZmZjYW52YXMtY29udGFpbmVyIHtcbiAgICAub2ZmY2FudmFzLWJhY2tkcm9wLmZhZGUge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxufVxuXG4udm1lLW1vZF9fcHJvZHVjdC1kZXRhaWxzIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JheS0zMDApO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG59XG5cbi52bWUtbW9kX19zaG93LWxpbmstY29udGFpbmVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZ3JheS0zMDApO1xufVxuXG4ubW9kLW1pbmljYXJ0X19jYXJ0LXN1YnRvdGFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLm1vZC1taW5pY2FydF9fY2FydC1zdWJ0b3RhbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbi52cHBsLWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdyYXktMjAwKTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udnBwbC1uYW1lIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgMCAwLjVyZW07XG59XG5cbi52cHBsLWltYWdlLWNvbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10ZW1wbGF0ZS1wcm9kdWN0LXRodW1ibmFpbC1ib3JkZXItY29sb3IsICNGQUZBRkEpO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5cbi52cHByaW1lLW1hbnVmYWN0dXJlci1jYXJvdXNlbCB7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuXG4gICAgLnZwcHJpbWUtbWFudWZhY3R1cmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ncmF5LXNjYWxlLWVmZmVjdCB7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2UgIWltcG9ydGFudDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWNhcm91c2VsLXRucy1vdXRlciB7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICAudG5zLW92aCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycmVtO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG5cbiAgICAudG5zLW5hdiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogODtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNTAwcHgpIHtcbiAgICAuY29udGFpbmVyLXh4bCB7XG4gICAgICAgIC5wcm9kdWN0LWNhcm91c2VsLXRucy1vdXRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udm0tY3VycmVuY3ktc2VsZWN0b3Ige1xuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgIH1cblxuICAgIC5jdXJyZW5jeS1ibG9jayB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuXG4gICAgICAgICAgICAmLmN1cnJlbmN5LWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZC1taW5pY2FydF9fcHJvZHVjdC1kZXRhaWxzLFxuLnZtZS1tb2RfX2NvbnRlbnRzIHtcbiAgICAubW9kLXByb2R1Y3QtcHJpY2Uge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuLmNmLWZvcm0tc2VhcmNoIC5pbnB1dC1hcHBlbmQge1xuICAgIEBleHRlbmQgLmlucHV0LWdyb3VwO1xuXG4gICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpub3QoLmZvcm0tY29udHJvbCksXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl06bm90KC5mb3JtLWNvbnRyb2wpIHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1jb250cm9sO1xuICAgIH1cbn1cblxuLnZtcGF5bWVudF9kZXNjcmlwdGlvbixcbi52bXNoaXBtZW50X2Nvc3QsXG4udm1wYXltZW50X2Nvc3Qge1xuICAgIGNvbG9yOiB2YXIoLS1ncmF5LTYwMCk7XG59XG5cbi52bXBheW1lbnRfZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufSIsIi8vIENvb2tpZSBDb25zZW50XG5cbi52cC1jb29raWUtY29uc2VudCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDkwMDAwMTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4yNXMgbGluZWFyO1xufVxuXG4udnAtY29va2llLWNvbnNlbnQtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBnYXA6IDJyZW07XG4gICAgcGFkZGluZzogMnJlbSAyLjVyZW07XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIGNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1jb29raWUtY29uc2VudC1jb2xvciwgdmFyKC0tYm9keS1jb2xvcikpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLWNvb2tpZS1jb25zZW50LWJnLCAjZjNmM2YzKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10ZW1wbGF0ZS1jb29raWUtY29uc2VudC1ib3JkZXItY29sb3IsICNkZGQpO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDEzcHggMCByZ2JhKDAsIDAsIDAsIDAuMjMpO1xuICAgIFxuICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGVtcGxhdGUtY29va2llLWNvbnNlbnQtbGluay1jb2xvciwgdmFyKC0tdGVtcGxhdGUtbGluay1jb2xvcikpO1xuXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWNvb2tpZS1jb25zZW50LWxpbmstY29sb3IsIHZhcigtLXRlbXBsYXRlLWxpbmstY29sb3IpKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXRlbXBsYXRlLWNvb2tpZS1jb25zZW50LWxpbmstaG92ZXItY29sb3IsIHZhcigtLXRlbXBsYXRlLWxpbmstaG92ZXItY29sb3IpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZwLWNvb2tpZS1jb25zZW50IHtcbiAgICAmLnRvcCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi50b3AtbGVmdCB7XG4gICAgICAgIGxlZnQ6IDIuNXJlbTtcbiAgICAgICAgdG9wOiAyLjVyZW07XG4gICAgfVxuXG4gICAgJi50b3AtcmlnaHQge1xuICAgICAgICByaWdodDogMi41cmVtO1xuICAgICAgICB0b3A6IDIuNXJlbTtcbiAgICB9XG5cbiAgICAmLmJvdHRvbSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi5ib3R0b20tbGVmdCB7XG4gICAgICAgIGxlZnQ6IDIuNXJlbTtcbiAgICAgICAgYm90dG9tOiAyLjVyZW07XG4gICAgfVxuXG4gICAgJi5ib3R0b20tcmlnaHQge1xuICAgICAgICByaWdodDogMi41cmVtO1xuICAgICAgICBib3R0b206IDIuNXJlbTtcbiAgICB9XG5cbiAgICAmLmNlbnRlciB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cblxuICAgICYudG9wLFxuICAgICYudG9wLWxlZnQsXG4gICAgJi50b3AtcmlnaHQsXG4gICAgJi5ib3R0b20sXG4gICAgJi5ib3R0b20tbGVmdCxcbiAgICAmLmJvdHRvbS1yaWdodCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIH1cblxuICAgICYudG9wLFxuICAgICYuYm90dG9tIHtcbiAgICAgICAgLnZwLWNvb2tpZS1jb25zZW50LWlubmVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52cC1jb29raWUtY29uc2VudCB7XG4gICAgJi52cC1oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYudnAtZmFkZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgJi50b3AsXG4gICAgICAgICYudG9wLWxlZnQsXG4gICAgICAgICYudG9wLXJpZ2h0e1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmJvdHRvbSxcbiAgICAgICAgJi5ib3R0b20tbGVmdCxcbiAgICAgICAgJi5ib3R0b20tcmlnaHQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZwLWNvb2tpZS1jb25zZW50LWJ1dHRvbiB7XG4gICAgLS1idG4tcGFkZGluZy14OiAycmVtO1xuICAgIHRleHQtd3JhcDogbm93cmFwO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAudnAtY29va2llLWNvbnNlbnQge1xuICAgICAgICAmLnRvcC1sZWZ0LFxuICAgICAgICAmLnRvcC1yaWdodCxcbiAgICAgICAgJi5ib3R0b20tbGVmdCxcbiAgICAgICAgJi5ib3R0b20tcmlnaHQsXG4gICAgICAgICYuY2VudGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLmNlbnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYudG9wLWxlZnQsXG4gICAgICAgICYudG9wLXJpZ2h0IHtcbiAgICAgICAgICAgIHRvcDogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ib3R0b20tbGVmdCxcbiAgICAgICAgJi5ib3R0b20tcmlnaHQge1xuICAgICAgICAgICAgYm90dG9tOiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLnRvcCxcbiAgICAgICAgJi5ib3R0b20ge1xuICAgICAgICAgICAgLnZwLWNvb2tpZS1jb25zZW50LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudnAtY29va2llLWNvbnNlbnQtaW5uZXIge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmLmJvdHRvbSxcbiAgICAgICAgJi50b3Age1xuICAgICAgICAgICAgLnZwLWNvb2tpZS1jb25zZW50LWlubmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gQXdlc29tcGxldGVcblxuLm1vZC1maW5kZXJfX3NlYXJjaC5pbnB1dC1ncm91cCB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICAuYXdlc29tcGxldGUge1xuICAgIGlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAuaWNvbi1zZWFyY2gge1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC4yZW07XG4gICAgfVxuICB9XG59XG5cbi5hd2Vzb21wbGV0ZSB7XG4gID4gaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuICB9XG4gID4gdWwge1xuICAgIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd24gIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gQnV0dG9uc1xuXG4uYnRuIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmJ0bjpmb2N1cyxcbi5idG4uZm9jdXMsXG4uYnRuOmFjdGl2ZTpmb2N1cyxcbi5idG4uZm9jdXM6YWN0aXZlLFxuLmJ0bi5hY3RpdmU6Zm9jdXMsXG4uYnRuLmFjdGl2ZS5mb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJ0bi5ncm91cC1tb3ZlIHtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuXG4uYnRuLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAkZ3JheS04MDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRncmF5LTgwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XG4gIH1cbn1cblxuLmJ0bi1saW5rIHtcbiAgLS1idG4tY29sb3I6IHZhcigtLWJvZHktY29sb3IsIGluaGVyaXQpO1xuICAtLWJ0bi1ob3Zlci1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgLS1idG4tZm9jdXMtY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG4gIC0tYnRuLWFjdGl2ZS1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgLS1idG4tYm9yZGVyLXdpZHRoOiAycHg7XG4gIC0tYnRuLXBhZGRpbmcteDogMDtcbiAgLS1idG4tcGFkZGluZy15OiAwO1xuICAtLWJ0bi1mb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXRlbXBsYXRlLWxpbmstY29sb3IpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmOmFjdGl2ZTpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6IHZhcigtLWJ0bi1ob3Zlci1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXRlbXBsYXRlLWxpbmstY29sb3IpO1xuICB9XG59XG5cbi5saW5rLXN3aXRjaCB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjQ7XG5cbiAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpob3Zlcjpub3QoLmFjdGl2ZSksXG4gICY6Zm9jdXM6bm90KC5hY3RpdmUpIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgb3BhY2l0eTogMC43O1xuICB9XG59XG5cbi5idG4tcHJpbWFyeSB7XG4gIC0tYnRuLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbnRyYXN0LWNvbG9yKTtcbiAgLS1idG4tYmc6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAtLWJ0bi1ib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAtLWJ0bi1ob3Zlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1ob3Zlci1jb250cmFzdC1jb2xvcik7XG4gIC0tYnRuLWhvdmVyLWJnOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbG9yKTtcbiAgLS1idG4taG92ZXItYm9yZGVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbG9yKTtcbiAgLS1idG4tZm9jdXMtc2hhZG93LXJnYjogMzksIDM5LCAxMTE7XG4gIC0tYnRuLWFjdGl2ZS1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1ob3Zlci1jb250cmFzdC1jb2xvcik7XG4gIC0tYnRuLWFjdGl2ZS1iZzogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1ob3Zlci1jb2xvcik7XG4gIC0tYnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktaG92ZXItY29sb3IpO1xuICAtLWJ0bi1hY3RpdmUtc2hhZG93OiBub25lO1xuICAtLWJ0bi1kaXNhYmxlZC1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb250cmFzdC1jb2xvcik7XG4gIC0tYnRuLWRpc2FibGVkLWJnOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgLS1idG4tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbn1cblxuLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICAtLWJ0bi1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gIC0tYnRuLWJvcmRlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG4gIC0tYnRuLWhvdmVyLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbnRyYXN0LWNvbG9yKTtcbiAgLS1idG4taG92ZXItYmc6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktaG92ZXItY29sb3IpO1xuICAtLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktaG92ZXItY29sb3IpO1xuICAtLWJ0bi1mb2N1cy1zaGFkb3ctcmdiOiAxLCAxLCA4NjtcbiAgLS1idG4tYWN0aXZlLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbnRyYXN0LWNvbG9yKTtcbiAgLS1idG4tYWN0aXZlLWJnOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWhvdmVyLWNvbG9yKTtcbiAgLS1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1ob3Zlci1jb2xvcik7XG4gIC0tYnRuLWFjdGl2ZS1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgLS1idG4tZGlzYWJsZWQtY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAtLWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tYnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogdmFyKC0tdGVtcGxhdGUtcHJpbWFyeS1jb2xvcik7XG59XG5cbi5idG4taWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwYWRkaW5nOiAwLjJyZW0gMC41cmVtO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5idG4taG92ZXIge1xuICBvcGFjaXR5OiAwLjc1O1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmJ0bi1jbG9zZSB7XG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJG5lb3RlcmljLWdyaWQtZ3V0dGVyO1xuXG4gID5pbnB1dCB7XG4gICAgICBwYWRkaW5nOiAkbmVvdGVyaWMtZ3JpZC1ndXR0ZXIgKiAuNTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTQwMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWVuZC1yYWRpdXMoMCk7XG4gIH1cblxuICA+LmJ0bi1ncm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5hcnRpY2xlLWluZm8gLmFzc29jaWF0aW9uLFxuLmNhdC1saXN0LWFzc29jaWF0aW9uIHtcbiAgLmJ0bi1zZWNvbmRhcnkge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS02MDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTgwMDtcbiAgICB9XG4gIH1cblxuICAuYnRuLXNtIHtcbiAgICBwYWRkaW5nOiAwIC4yNXJlbTtcbiAgICBmb250LXNpemU6IC44cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtO1xuICB9XG59XG5cbi5vZmZjYW52YXMtdG9nZ2xlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLm1vZGFsLWhlYWRlci50ZXh0LXdoaXRlIHtcbiAgLmJ0bi1jbG9zZSB7XG4gICAgICBjb2xvcjogdmFyKC0tbmVvdGVyaWMtb2ZmY2FudmFzLWhlYWRlci1jb2xvciwgI2ZmZik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjZmZmZmZmJz48cGF0aCBkPSdNLjI5My4yOTNhMSAxIDAgMCAxIDEuNDE0IDBMOCA2LjU4NiAxNC4yOTMuMjkzYTEgMSAwIDEgMSAxLjQxNCAxLjQxNEw5LjQxNCA4bDYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNCAxLjQxNEw4IDkuNDE0bC02LjI5MyA2LjI5M2ExIDEgMCAwIDEtMS40MTQtMS40MTRMNi41ODYgOCAuMjkzIDEuNzA3YTEgMSAwIDAgMSAwLTEuNDE0eicvPjwvc3ZnPlwiKSk7XG4gIH1cbn1cblxuLmJ0bi1zd2l0Y2gge1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG4gIGhlaWdodDogMi4zNnJlbTtcbiAgd2lkdGg6IDIuMzZyZW07XG4gIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuICB9XG4gIC5pbnB1dC1ncm91cCAuYnRuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCIvLyBDdXN0b20gRm9ybXNcblxuLmN1c3RvbS1zZWxlY3Qge1xuICBAZXh0ZW5kIC5mb3JtLXNlbGVjdDtcbn1cblxuLmZvcm0tc2VsZWN0IHtcbiAgbWF4LXdpZHRoOiAkaW5wdXQtbWF4LXdpZHRoO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICRmb3JtLXNlbGVjdC1iYWNrZ3JvdW5kICN7XCIvKiBydGw6XCJ9JGZvcm0tc2VsZWN0LWJhY2tncm91bmQtcnRsI3tcIiovXCJ9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRmb3JtLXNlbGVjdC1ib3gtc2hhZG93KTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRlbXBsYXRlLWlucHV0LWZvY3VzLWJvcmRlci1jb2xvciwgJGlucHV0LWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgIG9wdGlvbiB7XG4gICAgICBwYWRkaW5nOiAkZm9ybS1zZWxlY3QtbXVsdGlwbGUtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5lb3RlcmljLWNvbG9yLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5mb3JtLXNlbGVjdC1zdWNjZXNzLFxuICAmLmN1c3RvbS1zZWxlY3Qtc3VjY2VzcyB7XG4gICAgY29sb3I6ICRzdWNjZXNzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzO1xuXG4gICAgb3B0aW9uIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1zZWxlY3QtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5mb3JtLXNlbGVjdC1kYW5nZXIsXG4gICYuY3VzdG9tLXNlbGVjdC1kYW5nZXIge1xuICAgIGNvbG9yOiAkZGFuZ2VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XG5cbiAgICBvcHRpb24ge1xuICAgICAgY29sb3I6ICRmb3JtLXNlbGVjdC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICBvcHRncm91cCxcbiAgb3B0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tZGFyayk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbi8vIEJhY2t3YXJkcyBjb21wYXQgd2l0aCBCUzRcbi5mb3JtLWdyb3VwIHtcbiAgQGV4dGVuZCAubWItMztcbn1cbiIsIi8vIENvbGxhcHNlXG5cbi5hY2NvcmRpb24ge1xuXG4gIC5jYXJkLWhlYWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkaDUtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1uZW90ZXJpYy1mb250LXdlaWdodC1oZWFkaW5ncywgJGZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIH1cblxuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gIH1cblxufVxuIiwiLy8gRHJvcGRvd25cblxuLmRyb3Bkb3duLW1lbnUge1xuICBwYWRkaW5nOiAuMnJlbSAwO1xuICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3JkZXItY29sb3I6ICRuZW90ZXJpYy1ib3JkZXItY29sb3I7XG59XG5cbi5kcm9wZG93bi1tZW51LWVuZCB7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAuOXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5cbi50b3AtYmFyLWNvbnRlbnQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLS1kcm9wZG93bi16aW5kZXg6IDEwMzA7XG4gICAgLS1kcm9wZG93bi1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC0tZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogMDtcbiAgICAtLWRyb3Bkb3duLWZvbnQtc2l6ZTogMC45cmVtO1xuICAgIG1hcmdpbi10b3A6IDJweCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIuZmllbGQtbWVkaWEtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBjYWxjKDUwdncgLSA1cmVtKTtcblxuICAuZmllbGQtbWVkaWEtcHJldmlldyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG59XG5cbi5saXN0LXVuc3R5bGVkIC5saXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuIiwiLy8gTW9kYWxcblxuLmp2aWV3cG9ydC1oZWlnaHQge1xuICAmMTAge1xuICAgIGhlaWdodDogMTB2aDtcbiAgfVxuXG4gICYyMCB7XG4gICAgaGVpZ2h0OiAyMHZoO1xuICB9XG5cbiAgJjMwIHtcbiAgICBoZWlnaHQ6IDMwdmg7XG4gIH1cblxuICAmNDAge1xuICAgIGhlaWdodDogNDB2aDtcbiAgfVxuXG4gICY1MCB7XG4gICAgaGVpZ2h0OiA1MHZoO1xuICB9XG5cbiAgJjYwIHtcbiAgICBoZWlnaHQ6IDYwdmg7XG4gIH1cblxuICAmNzAge1xuICAgIGhlaWdodDogNzB2aDtcbiAgfVxuXG4gICY4MCB7XG4gICAgaGVpZ2h0OiA4MHZoO1xuICB9XG5cbiAgJjkwIHtcbiAgICBoZWlnaHQ6IDkwdmg7XG4gIH1cblxuICAmMTAwIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICB9XG59XG5cbltjbGFzcyo9anZpZXdwb3J0LWhlaWdodF0gaWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubW9kYWwtZGlhbG9nLmp2aWV3cG9ydC13aWR0aCB7XG4gICYxMCB7XG4gICAgd2lkdGg6IDEwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgJjIwIHtcbiAgICB3aWR0aDogMjB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAmMzAge1xuICAgIHdpZHRoOiAzMHZ3O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gICY0MCB7XG4gICAgd2lkdGg6IDQwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgJjUwIHtcbiAgICB3aWR0aDogNTB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAmNjAge1xuICAgIHdpZHRoOiA2MHZ3O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gICY3MCB7XG4gICAgd2lkdGg6IDcwdnc7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgJjgwIHtcbiAgICB3aWR0aDogODB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAmOTAge1xuICAgIHdpZHRoOiA5MHZ3O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gICYxMDAge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIFRhYnNcblxuLm5hdi5uYXYtdGFicyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5lb3RlcmljLXRhYnMtaGVhZGVyLWJnO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRuZW90ZXJpYy1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAwIDA7XG4gICAgYm94LXNoYWRvdzogMCAxcHggJHdoaXRlIGluc2V0LCAwIDJweCAzcHggLTNweCBoc2xhKDAsIDAlLCAwJSwgLjE1KSwgMCAtNHB4IDAgaHNsYSgwLCAwJSwgMCUsIC4wNSkgaW5zZXQsICRuZW90ZXJpYy1ib3gtc2hhZG93O1xuXG4gICAgLm5hdi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIC5uYXYtbGluayB7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAwIDA7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogLTFweCAwIDFweCAtMXB4IGhzbGEoMCwgMCUsIDAlLCAuMDYpLCBpbnNldCAtMnB4IDAgMXB4IC0xcHggaHNsYSgwLCAwJSwgMCUsIC4wOCksIGluc2V0IDAgMXB4IDAgaHNsYSgwLCAwJSwgMCUsIC4wMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIC5uYXYtbGluayB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAtMXB4IDAgMCBoc2xhKDAsIDAlLCAwJSwgLjA1KSwgMXB4IDAgMCBoc2xhKDAsIDAlLCAwJSwgLjA1KTtcblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDJweCAwIDFweCAtMXB4IGhzbGEoMCwgMCUsIDAlLCAuMDgpLCBpbnNldCAtMnB4IDAgMXB4IC0xcHggaHNsYSgwLCAwJSwgMCUsIC4wOCksIGluc2V0IDAgMXB4IDAgaHNsYSgwLCAwJSwgMCUsIC4wMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAuNzVlbSAxZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1uZW90ZXJpYy1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogLTFweCAwIDAgaHNsYSgwLCAwJSwgMCUsIC4wNSk7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5lb3RlcmljLXRhYnMtYWN0aXZlLWJnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgaHNsYSgwLCAwJSwgMCUsIDApLCBoc2xhKDAsIDAlLCAwJSwgLjA1KSAxMDAlKTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDAgMXB4IC0xcHggaHNsYSgwLCAwJSwgMCUsIC4wOCksIGluc2V0IC0ycHggMCAxcHggLTFweCBoc2xhKDAsIDAlLCAwJSwgLjA4KSwgaW5zZXQgMCAxcHggMCBoc2xhKDAsIDAlLCAwJSwgLjAyKTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZW90ZXJpYy10YWJzLWFjdGl2ZS1oaWdobGlnaHQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uYXYtdGFicysudGFiLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJG5lb3RlcmljLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogJG5lb3RlcmljLWJveC1zaGFkb3c7XG59XG5cbi5uYXYtdGFicy1iYXNpYyB7XG4gICAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0kbmF2LXRhYnMtYm9yZGVyLXdpZHRoO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6ICRuYXYtdGFicy1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIC8vIFByZXZlbnRzIGFjdGl2ZSAubmF2LWxpbmsgdGFiIG92ZXJsYXBwaW5nIGZvY3VzIG91dGxpbmUgb2YgcHJldmlvdXMvbmV4dCAubmF2LWxpbmtcbiAgICAgICAgICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXYtbGluay5hY3RpdmUsXG4gICAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgfVxufVxuXG4ubmF2LXRhYnMtc2ltcGxlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICYrLnRhYi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAubmF2LWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1uYXYtc2ltcGxlLXRhYi1saW5rLWNvbG9yLCB2YXIoLS1ncmF5LTYwMCkpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1uYXYtc2ltcGxlLXRhYi1saW5rLXBhZGRpbmcteSwgMC42cmVtKSB2YXIoLS1uYXYtc2ltcGxlLXRhYi1saW5rLXBhZGRpbmcteCwgMXJlbSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dDtcblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uYXYtbGluay1kaXNhYmxlZC1jb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgJi5hY3RpdmU6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5hdi1zaW1wbGUtdGFiLWxpbmstYWN0aXZlLWNvbG9yLCB2YXIoLS1ib2R5LWNvbG9yKSk7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICByaWdodDogMC41cmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlbXBsYXRlLXByaW1hcnktY29sb3IpO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uYXYtb2ZmY2FudmFzLXRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwLjhyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ3JheS02MDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEwNik7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZW1wbGF0ZS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNHMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5LWNvbG9yKTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxufSIsIi8vIFBhZ2luYXRpb25cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW46IDFyZW07XG59XG4iLCIvLyBUYWJsZVxuXG4udGFibGUge1xuXG4gIHRoIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICB9XG5cbiAgdGgsXG4gIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi50YWJsZS1jYXJ0IHtcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6IDEuMXJlbSAwLjlyZW07XG4gIH1cblxuICB0aCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxufVxuIiwiLy8gQ2hvc2VuXG5cbiRjaG9zZW4tc2VsZWN0LXBhZGRpbmcteTogJGZvcm0tc2VsZWN0LXBhZGRpbmcteSArIC4yMTtcblxuLmNob3Nlbi1jb250YWluZXIuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICBtYXgtd2lkdGg6ICRpbnB1dC1tYXgtd2lkdGg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBkaXNwbGF5OiBibG9jaztcblxuICAuY2hvc2VuLXNpbmdsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgJHNlbGVjdC1ib3JkZXItd2lkdGg6ICgkZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoICogMik7XG4gICAgaGVpZ2h0OiAjeyRpbnB1dC1oZWlnaHR9O1xuICAgIHBhZGRpbmc6ICRjaG9zZW4tc2VsZWN0LXBhZGRpbmcteSAoJGZvcm0tc2VsZWN0LXBhZGRpbmcteCArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGNob3Nlbi1zZWxlY3QtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogJGZvcm0tc2VsZWN0LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXNlbGVjdC1iZyAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yIG5vLXJlcGVhdCByaWdodCAwLjI1cmVtIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lIFxcOTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplO1xuICAgIGJvcmRlcjogJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICAgIGFiYnIge1xuICAgICAgdG9wOiAxMHB4O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgICBib3JkZXItY29sb3I6ICRmb3JtLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgZGl2IGIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5jaG9zZW4tZHJvcCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmNob3Nlbi1yZXN1bHRzIGxpIHtcbiAgICBsaW5lLWhlaWdodDogY2FsYygjeyRmb250LXNpemUtYmFzZX0gKyAuM3JlbSk7XG4gIH1cblxuICAvKlxuICAmLmNob3Nlbi1jb250YWluZXItYWN0aXZlIC5jaG9zZW4tc2luZ2xlIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG4gICovXG59XG5cbi5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi1jb250YWluZXItbXVsdGkge1xuICAuY2hvc2VuLWNob2ljZXMge1xuICAgIG1heC13aWR0aDogJGlucHV0LW1heC13aWR0aDtcbiAgICBtaW4taGVpZ2h0OiAjeyRpbnB1dC1oZWlnaHR9O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJHdoaXRlO1xuXG4gICAgbGkuc2VhcmNoLWNob2ljZSB7XG4gICAgICAkY2hvc2VuLW11bHRpLWNsb3NlLXdpZHRoOiAyMHB4O1xuXG4gICAgICBwYWRkaW5nOiA1cHggKDEzICsgJGNob3Nlbi1tdWx0aS1jbG9zZS13aWR0aCkgNXB4IDEwcHg7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeSk7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiAkbmVvdGVyaWMtYm94LXNoYWRvdztcblxuICAgICAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB9XG5cbiAgICAgIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6ICRjaG9zZW4tbXVsdGktY2xvc2Utd2lkdGg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgIHJpZ2h0OiAkY2hvc2VuLW11bHRpLWNsb3NlLXdpZHRoICogLjI1O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgY29udGVudDogXCJcXDAwZDdcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8vIFRFTVBPUkFSWVxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLy8gRU5EIFRFTVBPUkFSWVxuXG4uY2FyZCAuY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgLmNob3Nlbi1zaW5nbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIERyYWd1bGFcblxuLmd1LW1pcnJvciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5OTk5ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMTIwLCA3MyUsIDc1JSk7XG4gIG9wYWNpdHk6IC44O1xuXG4gICYudGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgdGQge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG5cbiAgfVxuXG59XG4iLCIvLyBNaW5pY29sb3Vyc1xuXG4ubWluaWNvbG9ycy10aGVtZS1ib290c3RyYXAge1xuXG4gIC5taW5pY29sb3JzLWlucHV0IHtcbiAgICB3aWR0aDogMTIwcHg7XG4gIH1cblxuICAucmdiIHtcbiAgICB3aWR0aDogMTc1cHg7XG4gIH1cblxuICAucmdiYSB7XG4gICAgd2lkdGg6IDIyMHB4O1xuICB9XG5cbn1cbiIsIi8vIFRpbnlNQ0VcblxuLmVkaXRvciB7XG5cbiAgLnRvZ2dsZS1lZGl0b3Ige1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cblxuICAubWNlLXRpbnltY2Uge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm1jZS1idG4sXG4gIC5tY2UtcGFuZWwge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLWJnLWNvbG9yLWxpZ2h0O1xuICB9XG5cbn1cblxuLnRveCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cbiIsIi8vIFJlbW92ZSBwcmVmaXggYWRkZWQgaW4gQlM1IGZvciBjb21wYXQgd2l0aCBKb29tbGEgYmV0YSdzIHNoaXBwZWQgd2l0aCBCZXRhc1xuJHByZWZpeDogXCJcIjtcblxuLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ0b29scy92YXJpYWJsZXMvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy92YXJpYWJsZXMtZGFya1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy9tYXBzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vdmVuZG9yL2Jvb3RzdHJhcC9zY3NzL21peGluc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3ZlbmRvci9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXNcIjtcblxuLy8gSW5jbHVkZSB0ZW1wbGF0ZSB1dGlsaXRpZXNcbkBpbXBvcnQgXCJibG9ja3MvdXRpbGl0aWVzXCI7XG5cbi8vIFZhcmlhYmxlcywgRnVuY3Rpb25zIGFuZCBNaXhpbnNcbkBpbXBvcnQgXCJ0b29scy90b29sc1wiO1xuXG4vLyBCb290c3RyYXBcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi92ZW5kb3IvYm9vdHN0cmFwL3Njc3MvYm9vdHN0cmFwXCI7XG5cbi8vIGpRdWVyeSBNaW5pY29sb3JzXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vc3lzdGVtL3Njc3MvanF1ZXJ5LW1pbmljb2xvcnNcIjtcblxuLy8gQmxvY2tzXG5AaW1wb3J0IFwiYmxvY2tzL2dsb2JhbFwiOyAvLyBMZWF2ZSB0aGlzIGZpcnN0XG5AaW1wb3J0IFwiYmxvY2tzL2FsZXJ0c1wiO1xuQGltcG9ydCBcImJsb2Nrcy9iYWNrLXRvLXRvcFwiO1xuQGltcG9ydCBcImJsb2Nrcy9iYW5uZXJcIjtcbkBpbXBvcnQgXCJibG9ja3MvZm9vdGVyXCI7XG5AaW1wb3J0IFwiYmxvY2tzL2Zvcm1cIjtcbkBpbXBvcnQgXCJibG9ja3MvZnJvbnRlbmQtZWRpdFwiO1xuQGltcG9ydCBcImJsb2Nrcy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJibG9ja3MvaWNvbnNcIjtcbkBpbXBvcnQgXCJibG9ja3MvaWZyYW1lXCI7XG5AaW1wb3J0IFwiYmxvY2tzL29iamVjdFwiO1xuQGltcG9ydCBcImJsb2Nrcy9sYXlvdXRcIjtcbkBpbXBvcnQgXCJibG9ja3MvbW9kYWxzXCI7XG5AaW1wb3J0IFwiYmxvY2tzL21vZGlmaWVyc1wiO1xuQGltcG9ydCBcImJsb2Nrcy90b29sYmFyXCI7XG5AaW1wb3J0IFwiYmxvY2tzL2xlZ2FjeVwiO1xuQGltcG9ydCBcImJsb2Nrcy90YWdzXCI7XG5AaW1wb3J0IFwiYmxvY2tzL2pvb21sYVwiO1xuQGltcG9ydCBcImJsb2Nrcy92aXJ0dWVtYXJ0XCI7XG5AaW1wb3J0IFwiYmxvY2tzL2Nvb2tpZV9jb25zZW50XCI7XG5cbi8vIFZlbmRvciBvdmVycmlkZXNcbkBpbXBvcnQgXCJ2ZW5kb3IvYXdlc29tcGxldGVcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL2N1c3RvbS1mb3Jtc1wiO1xuQGltcG9ydCBcInZlbmRvci9ib290c3RyYXAvY29sbGFwc2VcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL2Ryb3Bkb3duXCI7XG5AaW1wb3J0IFwidmVuZG9yL2Jvb3RzdHJhcC9mb3Jtc1wiO1xuQGltcG9ydCBcInZlbmRvci9ib290c3RyYXAvbGlzdHNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL21vZGFsXCI7XG5AaW1wb3J0IFwidmVuZG9yL2Jvb3RzdHJhcC9uYXZcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYm9vdHN0cmFwL3RhYmxlXCI7XG5AaW1wb3J0IFwidmVuZG9yL2Nob3NlblwiO1xuQGltcG9ydCBcInZlbmRvci9kcmFndWxhXCI7XG5AaW1wb3J0IFwidmVuZG9yL21pbmljb2xvcnNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvdGlueW1jZVwiO1xuXG4vLyBGaW5hbGx5IGFkZCB0aGUgbmVvdGVyaWMgY29sb3Vyc1xuOnJvb3Qge1xuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGVtcGxhdGUtY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJGdyYXktdGV4dC1jb2xvcnMge1xuICAgIC0tI3skY29sb3J9OiAjeyR2YWx1ZX07XG4gIH1cbn1cblxuLmJvcmRlci1wcmltYXJ5IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXNlY29uZGFyeSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXN1Y2Nlc3Mge1xuICBib3JkZXItY29sb3I6IHZhcigtLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItaW5mbyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taW5mbykgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci13YXJuaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS13YXJuaW5nKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWRhbmdlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tZGFuZ2VyKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLWxpZ2h0IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWdodCkgIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1kYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kYXJrKSAhaW1wb3J0YW50O1xufVxuXG4uYm9yZGVyLXdoaXRlIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS13aGl0ZSkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtcHJpbWFyeSB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zZWNvbmRhcnkge1xuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdWNjZXNzIHtcbiAgY29sb3I6IHZhcigtLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWluZm8ge1xuICBjb2xvcjogdmFyKC0taW5mbykgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd2FybmluZyB7XG4gIGNvbG9yOiB2YXIoLS13YXJuaW5nKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kYW5nZXIge1xuICBjb2xvcjogdmFyKC0tZGFuZ2VyKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1saWdodCB7XG4gIGNvbG9yOiB2YXIoLS1saWdodCkgIWltcG9ydGFudDtcbn1cblxuLnRleHQtZGFyayB7XG4gIGNvbG9yOiB2YXIoLS1kYXJrKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ibGFjayB7XG4gIGNvbG9yOiB2YXIoLS1ibGFjaykgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd2hpdGUge1xuICBjb2xvcjogdmFyKC0td2hpdGUpICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWJvZHkge1xuICBjb2xvcjogdmFyKC0tYm9keS1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuLmJnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uYmctc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4uYmctc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN1Y2Nlc3MpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5mbykgIWltcG9ydGFudDtcbn1cblxuLmJnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13YXJuaW5nKSAhaW1wb3J0YW50O1xufVxuXG4uYmctZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFuZ2VyKSAhaW1wb3J0YW50O1xufVxuXG4uYmctbGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodCkgIWltcG9ydGFudDtcbn1cblxuLmJnLWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrKSAhaW1wb3J0YW50O1xufVxuXG4uYmctYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjaykgIWltcG9ydGFudDtcbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYm9keS1iZykgIWltcG9ydGFudDtcbn0iXX0= */
